Kubernetes 2 : Label, Annotation & Namespace

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
Pod with annotation

Check annotation pod menggunakan describe

$kubectl describe pod nginx-with-annotation
Deskripsi 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
Create namespace

Untuk melakukan pengecekan namespace menggunakan syntax berikut

kubectl get pod -n namanamespace
get pod by namespace

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

Leave a Reply

Your email address will not be published. Required fields are marked *