Label merupakan pasangan key/value yang melekat pada objek-objek, misalnya pada Pod. Label digunakan untuk menentukan atribut identitas dari objek agar memiliki arti dan relevan bagi para pengguna, namun tidak secara langsung memiliki makna terhadap sistem inti.
Label dapat digunakan untuk mengatur dan memilih sebagian dari banyak objek. Label-label dapat ditempelkan ke objek-objek pada saat dibuatnya objek-objek tersebut dan kemudian ditambahkan atau diubah kapan saja setelahnya. Setiap objek dapat memiliki satu set label key/value. Setiap Key harus unik untuk objek tersebut.
Kenapa butuh Label?
Untuk memberi tanda pada Pod, Untuk mengorganisir Pod, Memberi informasi tambahan pada Pod.
Label tidak hanya bisa digunakan pada Pod, tapi pada semua resource di Kubernetes, seperti Replication Controller, Replica Set, Service, dan lain-lain.
Template Label
apiVersion: v1
kind: Pod
metadata:
name: pod-name
labels:
label-key1: label-value1
label-key2: label-value2
label-key3: label-value3
spec:
containers:
- name: container-name
image: image-name
ports:
- containerPort: 80
Contoh Memberi Label pada Pod Nginx
apiVersion: v1
kind: Pod
metadata:
name: nginx-with-label
labels:
team: finance
version: 1.4.5
environment: production
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
Membuat Pod Nginx Berisi Labels
kubectl create -f nginx-with-label.yaml
kubectl get pods --show-labels
Menambah atau Mengubah Label di Pod
kubectl label pod nama-pod key=value
kubectl label pods nama-pod key=value --overwrite
Mencari Pod dengaan Label
kubectl get pods -l key
kubectl get pods -l key=value
kubectl get pods -l ‘!key’
kubectl get pods -l key!=value
kubectl get pods -l ‘key in (value1,value2)’
kubectl get pods -l ‘key notin (value1,value2)’
Mencari Pod dengan Beberapa Label
kubectl get pods key,key2=value
kubectl get pods key=value,key2=value