2.4. アノテーション定義
他の Kubernetes オブジェクトと同様に、ビルドストラテジーまたはクラスタービルドストラテジーのアノテーションを定義できます。ビルドストラテジーは、まずアノテーションを TaskRun
リソースに伝播します。次に、Tekton がそのアノテーションを Pod に伝播します。
アノテーションは、以下の目的で使用できます。
-
Pod が使用できるネットワーク帯域幅を制限する。
kubernetes.io/ingress-bandwidth
およびkubernetes.io/egress-bandwidth
アノテーションが Kubernetes ネットワークトラフィックシェーピング機能で定義されています。 -
コンテナーの AppArmor プロファイルを定義する。
container.apparmor.security.beta.kubernetes.io/<container_name>
が使用されます。
以下の例では、ビルドストラテジーでのアノテーションの使用方法を示しています。
apiVersion: shipwright.io/v1beta1 kind: ClusterBuildStrategy metadata: name: <cluster_build_strategy_name> annotations: container.apparmor.security.beta.kubernetes.io/step-build-and-push: unconfined container.seccomp.security.alpha.kubernetes.io/step-build-and-push: unconfined spec: # ...
以下のアノテーションは伝播されません。
-
kubectl.kubernetes.io/last-applied-configuration
-
clusterbuildstrategy.shipwright.io/*
-
buildstrategy.shipwright.io/*
-
build.shipwright.io/*
-
buildrun.shipwright.io/*
ストラテジー管理者は、ポリシーエンジンを使用してアノテーションの使用をさらに制限できます。