Kamis, 24 Oktober 2024

K8S-dellet pod

Untuk menghapus aplikasi di Kubernetes, Anda dapat mengikuti beberapa langkah, tergantung pada bagaimana aplikasi tersebut dideploy dan resource yang terhubung dengannya. Berikut adalah beberapa cara umum untuk menghapus aplikasi di Kubernetes:

1. Menghapus Aplikasi Menggunakan kubectl delete dengan File Manifest

Jika aplikasi dideploy menggunakan file manifest YAML, Anda dapat menghapusnya dengan perintah berikut:

bash
kubectl delete -f <path-ke-file-manifest.yaml>

Ini akan menghapus semua resource yang didefinisikan di dalam file manifest tersebut, seperti Deployment, Service, Pod, dan lainnya.

2. Menghapus Aplikasi Berdasarkan Label

Jika aplikasi memiliki label tertentu, Anda bisa menghapus semua resource yang terkait dengan label tersebut:

bash
kubectl delete all -l <label>=<nilai> --namespace=<nama-namespace>

Misalnya, jika aplikasi memiliki label app=myapp, Anda bisa menghapus semua resource terkait dengan:

bash
kubectl delete all -l app=myapp --namespace=default

Perintah ini akan menghapus semua resource seperti Pod, Service, Deployment, ReplicaSet yang terkait dengan label tersebut.

3. Menghapus Aplikasi dengan Helm (Jika Menggunakan Helm)

Jika aplikasi dideploy menggunakan Helm, Anda bisa menggunakan perintah berikut untuk menghapus aplikasi (release):

bash
helm uninstall <nama-release> --namespace=<nama-namespace>

Misalnya, jika nama release adalah myapp:

bash
helm uninstall myapp --namespace=default

Ini akan menghapus semua resource yang dibuat oleh Helm untuk aplikasi tersebut.

4. Menghapus Aplikasi dari Namespace Tertentu

Jika Anda ingin menghapus semua resource terkait aplikasi di namespace tertentu, Anda bisa menggunakan perintah berikut:

bash
kubectl delete all --all --namespace=<nama-namespace>

Ini akan menghapus semua resource yang berada di namespace tersebut, termasuk Pod, Service, Deployment, dll. Namun, berhati-hatilah, karena semua resource di namespace tersebut akan dihapus.

5. Menghapus Namespace

Jika Anda ingin menghapus seluruh namespace beserta semua resource di dalamnya (cara ini lebih drastis), Anda bisa menjalankan perintah berikut:

bash
kubectl delete namespace <nama-namespace>

Misalnya, untuk menghapus namespace myapp:

bash
kubectl delete namespace myapp

Ini akan menghapus seluruh namespace dan semua resource yang ada di dalamnya.

6. Menghapus Resource Spesifik

Jika Anda ingin menghapus resource spesifik seperti Deployment, Service, atau Pod, Anda bisa menggunakan perintah berikut:

  • Menghapus Deployment:

    bash
    kubectl delete deployment <nama-deployment> --namespace=<nama-namespace>
  • Menghapus Service:

    bash
    kubectl delete service <nama-service> --namespace=<nama-namespace>
  • Menghapus Pod:

    bash
    kubectl delete pod <nama-pod> --namespace=<nama-namespace>

7. Menghapus Resource dari Kubernetes Dashboard (Opsional)

Jika Anda menggunakan Kubernetes Dashboard, Anda bisa masuk ke dashboard dan menghapus resource yang terkait aplikasi secara manual melalui antarmuka grafis.


Dengan menggunakan salah satu dari metode di atas, Anda bisa menghapus aplikasi di Kubernetes sesuai dengan cara aplikasi tersebut di-deploy dan resource yang terhubung dengannya.

========================================================= 

Membersihkan (clean up) Pod Kubernetes bisa berarti beberapa hal tergantung pada konteks yang dimaksud. Berikut beberapa metode untuk membersihkan Pod di Kubernetes:

1. Menghapus Pod Secara Manual

Jika Anda ingin menghapus Pod yang berjalan, Anda dapat menggunakan perintah berikut:

bash
kubectl delete pod <nama-pod> --namespace=<nama-namespace>

Misalnya, jika Anda ingin menghapus Pod bernama nginx di namespace default:

bash
kubectl delete pod nginx --namespace=default

2. Menghapus Pod yang Tidak Berfungsi (Evicted, Completed, dll.)

Pod yang gagal atau berstatus Completed atau Evicted tidak dihapus secara otomatis oleh Kubernetes. Untuk membersihkan Pod semacam itu:

bash
kubectl get pod --all-namespaces --field-selector=status.phase!=Running -o name | xargs kubectl delete

Perintah ini akan mendapatkan semua Pod yang tidak dalam status Running dan menghapusnya.

3. Menghapus Pod dengan Label Tertentu

Jika Anda ingin menghapus sekumpulan Pod berdasarkan label tertentu, Anda dapat menggunakan perintah berikut:

bash
kubectl delete pod -l <label>=<nilai> --namespace=<nama-namespace>

Misalnya, menghapus semua Pod yang memiliki label app=nginx:

bash
kubectl delete pod -l app=nginx --namespace=default

4. Menghapus Pod Menggunakan File Manifest

Jika Pod didefinisikan dalam file manifest YAML, Anda bisa menghapusnya menggunakan file tersebut:

bash
kubectl delete -f <path-ke-file-manifest.yaml>

5. Membersihkan Resource yang Tidak Dibutuhkan

Jika Pod terhubung dengan resource lain seperti PVC (Persistent Volume Claim), Anda juga mungkin perlu membersihkan resource tersebut:

bash
kubectl delete pvc <nama-pvc> --namespace=<nama-namespace>

6. Menggunakan TTL untuk Pod

Kubernetes memiliki fitur TTL (Time to Live) untuk Job yang dapat digunakan untuk menghapus Pod setelah Job selesai. Anda dapat menambahkan field ini ke definisi Job untuk secara otomatis menghapus resource setelah waktu tertentu.

yaml
apiVersion: batch/v1 kind: Job metadata: name: job-example spec: ttlSecondsAfterFinished: 100 template: spec: containers: - name: example image: busybox args: ["echo", "Hello Kubernetes!"] restartPolicy: Never

7. Menghapus Semua Pod dalam Namespace

Jika Anda ingin menghapus semua Pod di dalam suatu namespace:

bash
kubectl delete pod --all --namespace=<nama-namespace>

Pastikan Anda berhati-hati saat menjalankan perintah ini karena semua Pod dalam namespace tersebut akan dihapus.

Dengan metode-metode di atas, Anda bisa membersihkan Pod di Kubernetes sesuai dengan kebutuhan.

Tidak ada komentar:

Posting Komentar