Pada artikel kali ini saya akan membahas tentang label, annotation dan namespace di kubernetes , karena artikel sebelumnya saya sudah membahas tentang perkenalan kubernetes.
Untuk melakukan persiapan pastikan sudah membaca 2 artikel saya sebelumnya :
1 – Label
Label ?
- Untuk memberi labeling pada pod
- Memberi informasi tambahan pada pod
- label bisa digunakan pada replcation controller, replica set, service
Create file nginx-with-label.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-with-label
labels:
team: finance
version: 1.0.1
environment: production
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
kubectl create -f nginx-with-label.yaml
Check labels pada pod
kubectl get pod --show-labels

Check pod by labels
kubectl get pod -l key=value

2- Annotation
- Annotation mirip seperti label fungsinya untuk memfilter pod, akan tetapi annotation bisa membuat informasi tambahan dalam ukuran besar
- Annotation bisa menampung informasi sampai 256Kb
Create file nginx-with-annotation.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-with-annotation
labels:
team: finance
version: 1.0.1
environment: production
annotations:
description: ini aplikasi annotations
apapun: aapaan tuuuuuuuu.....
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
kubectl create -f nginx-with-annotation.yaml

Check annotation pod menggunakan describe
$kubectl describe pod nginx-with-annotation

3 – Namespace
- nama resources bisa sama jika beberapa namespacenya berbeda
- Misalnya memisahkan dengan menggunakan namespace backend & frontend , memudahkan developer untuk melakukan setup maupun troubleshot.
Check all namespace default
$kubectl get namespace
Noted :
- Pod dengan nama yang sama boleh berjalan asalkan di namespace yang berbeda
- Meskipun berbeda namespace Pod akan tetap bisa saling berkomunikasi dengan pod lain di namespace yang berbeda
Create file manifestnya
kubectl create -f devops-namespace.yaml
Tambahkan namespace pada pod kita secara manual
kubectl create -f nginx.yaml --namespace devops

Untuk melakukan pengecekan namespace menggunakan syntax berikut
kubectl get pod -n namanamespace

Dan biasanya namespace saya gunakan untuk pemisahan frontend dan backend, selamat mencoba.

Admin website igunawan.com, System Administrator, DevOps Engineer