Tag adalah pasangan kunci-nilai yang dapat digunakan untuk mengidentifikasi instans Elastic Container Instance (ECI). Anda dapat memanfaatkan tag untuk mengelola instans ECI berdasarkan kelompok, serta melakukan pencarian dan operasi batch. Topik ini menjelaskan cara mengikat tag kustom ke pod. Setelah tag kustom diikat ke pod, Anda dapat mengelola pod tersebut berdasarkan tag tersebut—misalnya, menganalisis biaya pod berdasarkan tag.
Informasi latar belakang
Tag merupakan pasangan kunci-nilai. Dari segi fungsionalitas, tag mirip dengan Label. Tag Alibaba Cloud digunakan untuk mengidentifikasi sumber daya cloud dan memungkinkan pengelolaan sumber daya tersebut berdasarkan kategori. Secara default, instans Elastic Container Instance yang dibuat melalui Container Service for Kubernetes (ACK) telah dilengkapi tag-tag berikut:
-
ManagedBy: Jenis kluster.
-
ClusterId: ID kluster.
-
NameSpace: Namespace kluster.
-
OwnerReferenceKind: Jenis workload yang dibuat di kluster, seperti Deployment atau Job.
-
OwnerReferenceName: Nama workload yang dibuat di kluster, seperti nama Deployment atau nama Job.
-
PodName: Nama pod.
Konfigurasi
Anda dapat menambahkan anotasi k8s.aliyun.com/eci-custom-tags ke pod untuk mengikat tag kustom. Maksimal tiga tag dapat diikat ke satu pod. Pisahkan kunci tag dan nilai tag dengan tanda titik dua (:), serta pisahkan beberapa tag dengan koma (,).
Anotasi harus ditambahkan pada bagian metadata dalam file konfigurasi pod. Misalnya, saat membuat Deployment, tambahkan anotasi tersebut di bagian spec.template.metadata.
Anotasi yang terkait dengan Elastic Container Instance hanya diterapkan saat pembuatan pod. Menambahkan atau mengubah anotasi ini pada pod yang sudah ada tidak akan berpengaruh.
Contoh konfigurasi:
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" # Terapkan tag kustom
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
Setelah mengikat tag menggunakan anotasi tersebut, Anda dapat menjalankan perintah kubectl describe untuk mengkueri detail pod. Tag kustom akan ditampilkan sebagai nilai dari k8s.aliyun.com/eci-custom-tags di bagian Annotations.
~$ kubectl get pod
NAME READY STATUS RESTARTS AGE
test-555f6995c6-jrmtl 1/1 Running 0 31m
test-555f6995c6-tqjjk 1/1 Running 0 31m
~$ kubectl describe pod test-555f6995c6-jrmtl
Name: test-555f6995c6-jrmtl
Namespace: default
Priority: 0
Node: virtual-kubelet-cn-beijing-k/172.16.xxx.xxx
Start Time: Tue, 22 Nov 2022 02:49:42 +0000
Labels: alibabacloud.com/eci=true
app=nginx
pod-template-hash=555f6995c6
Annotations: ProviderCreate: done
k8s.aliyun.com/cluster-dns:
k8s.aliyun.com/cluster-domain: cluster.local
k8s.aliyun.com/eci-client-token: bbb1a0f7-ad20-440c-a95c-00d9c064f4bc
k8s.aliyun.com/eci-created-by-template: true
k8s.aliyun.com/eci-custom-tags: env:test,name:alice
k8s.aliyun.com/eci-drop-apiserver-interactive-caps:
k8s.aliyun.com/eci-instance-cpu: 2.0
Untuk melihat tag pod ECI secara langsung, buka halaman Container Group di Elastic Container Instance console.