Panduan Linux

Cara Membuat dan Mengelola Pod di Kubernetes

Kubernetes, sering disingkat K8s, adalah platform open-source yang keren banget untuk mengelola aplikasi yang di-containerize. Salah satu konsep inti di K8s adalah Pod. Pod adalah unit terkecil yang bisa kita deploy di K8s. Nah, di artikel ini, kita bakal bahas gimana sih cara bikin dan ngelola Pod di Kubernetes. Yuk, simak!

1. Apa Itu Pod?

Sebelum lanjut, kita perlu ngerti dulu apa itu Pod. Pod nggak cuma satu container, tapi bisa juga beberapa container yang berbagi sumber daya yang sama, seperti storage dan network. Jadi, Pod itu seperti rumah buat container-container kita di K8s.

2. Bikin Pod Pertama Kita

Untuk bikin Pod, kita perlu nulis manifest file dalam format YAML atau JSON. Tapi biasanya YAML lebih sering dipake. Contoh nih, nih file pod-baru.yaml:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx-container
    image: nginx:latest
    ports:
    - containerPort: 80

Penjelasannya:

Untuk nge-deploy Pod ini, kita bisa pake perintah:

kubectl apply -f pod-baru.yaml

Terminal bakal nampilin pod/nginx-pod created. Artinya, Pod kita udah berhasil dibuat!

3. Ngecek Status Pod

Supaya yakin Pod kita jalan, kita bisa cek pake perintah:

kubectl get pods

Kalau statusnya Running, berarti Pod kita udah siap dipake.

4. Debugging Pod

Kadang-kadang, Pod nggak langsung Running. Bisa aja ada masalah. Nah, buat ngecek apa masalahnya, kita bisa pake perintah:

kubectl describe pod nginx-pod

Perintah ini bakal nampilin detail tentang Pod kita, termasuk event-event terakhir. Dari sini, kita bisa ngeliat masalahnya di mana.

5. Masuk ke Dalam Pod

Kalau mau masuk ke dalam container di Pod kita, misalnya buat ngecek file atau ngetest sesuatu, kita bisa pake:

kubectl exec -it nginx-pod -- /bin/bash

Perintah ini bakal ngebuka shell di dalam container nginx-container di Pod nginx-pod.

6. Ngelihat Logs Pod

Logs itu penting banget buat debugging. Kalo mau ngelihat logs dari Pod, kita bisa pake:

kubectl logs nginx-pod

Kalau di dalam Pod ada lebih dari satu container, kita bisa sebutin nama containernya:

kubectl logs nginx-pod -c nginx-container

7. Ngehapus Pod

Kalau udah nggak kepake atau mau nge-delete, kita bisa hapus Pod dengan perintah:

kubectl delete pod nginx-pod

Atau kalo pake file YAML:

kubectl delete -f pod-baru.yaml

8. Update atau Ganti Pod

Pod itu immutable, artinya nggak bisa diubah lagi setelah dibuat. Jadi, kalo mau ngeganti sesuatu, kita harus nge-delete dulu, terus nge-create lagi dengan konfigurasi baru. Atau pake Deployment biar lebih gampang, tapi itu bahasan lain.

Tapi, kalau cuma mau ngeganti image aja, kita bisa pake perintah:

kubectl set image pod/nginx-pod nginx-container=nginx:alpine

Ini bakal ngeganti image dari container nginx-container di Pod nginx-pod jadi nginx:alpine.

9. Pentingnya Labels

Labels itu semacam tag yang bisa kita kasih ke Pod atau resource K8s lainnya. Labels ini berguna banget buat nge-organize dan nge-filter Pod. Contoh nih, kita kasih label ke Pod:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
    env: production
spec:
  containers:
  - name: nginx-container
    image: nginx:latest
    ports:
    - containerPort: 80

Nanti, kita bisa nge-filter Pod pake label tersebut dengan perintah:

kubectl get pods -l app=nginx,env=production

10. Resource Limits

Kita juga bisa ngatur resource limits buat container di Pod. Misalnya, nge-limit CPU dan memory yang bisa dipake:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx-container
    image: nginx:latest
    ports:
    - containerPort: 80
    resources:
      limits:
        cpu: "1"
        memory: "512Mi"
      requests:
        cpu: "0.5"
        memory: "256Mi"

Penjelasannya:

Nah, itu dia cara bikin dan ngelola Pod di Kubernetes. Semoga bermanfaat!

#Docker #Pod #Tutorial