タグは、エラスティックコンテナインスタンスを識別するために使用できるキーと値のペアです。タグを使用して、エラスティックコンテナインスタンスをグループ別に管理し、検索やバッチ操作を実行できます。このトピックでは、カスタムタグをポッドにバインドする方法について説明します。カスタムタグをポッドにバインドすると、タグに基づいてポッドを管理できます。たとえば、タグに基づいてポッドのコストを分析できます。
背景情報
タグはキーと値のペアです。タグは機能の点でラベルに似ています。Alibaba Cloudタグはクラウド リソースを識別し、カテゴリ別にクラウド リソースを管理できるようにします。デフォルトでは、Container Service for Kubernetes(ACK)を使用して作成されたエラスティックコンテナインスタンスには、次のタグがバインドされています。
ManagedBy:クラスタのタイプ。
ClusterId:クラスタID。
NameSpace:クラスタの名前空間。
OwnerReferenceKind:クラスタで作成されるワークロードのタイプ(Deployment、Jobなど)。
OwnerReferenceName:クラスタで作成されるワークロードの名前(Deployment名、Job名など)。
PodName:ポッドの名前。
構成
k8s.aliyun.com/eci-custom-tags アノテーションをポッドに追加して、カスタムタグをポッドにバインドできます。1 つのポッドに最大 3 つのタグをバインドできます。タグのキーと値はコロン(:)で区切ります。複数のタグはカンマ(,)で区切ります。
アノテーションは、ポッドの構成ファイルのメタデータに追加する必要があります。たとえば、Deployment を作成するときは、spec.template.metadata セクションにアノテーションを追加する必要があります。
Elastic Container Instance の機能を使用するには、Elastic Container Instance ベースのポッドを作成するときにのみアノテーションを追加できます。ポッドを更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。
構成例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-custom-tags: "env:test,name:alice" # タグをバインドします
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80アノテーションを使用してタグをバインドした後、kubectl describe コマンドを実行してポッドの詳細をクエリできます。カスタムタグは、Annotations セクションの k8s.aliyun.com/eci-custom-tags の値として表示されます。

ポッドにバインドされているタグを直接表示するには、Elastic Container Instanceコンソールのコンテナグループページに移動します。
