Cara yang akan kita bahas disini bisa digunakan untuk berbagai object yang digunakan oleh Kubernertes seperti namespace atau LoadBalancer ataupun object lainnya.
Bila anda mendapati masalah seperti menghapus suatu namespace di Kubernetes, tetapi statusnya tetap Terminating
➜ ~ kubectl delete ns/kafka namespace "kafka" deleted
bila di cek status namespacenya Terminating
➜ ~ kubectl get ns/kafka
NAME STATUS AGE
kafka Terminating 10d
untuk lebih jelas, kita lihat detail lebih jauh tentang namespace ini
➜ ~ kubectl describe ns/kafka Name: kafka Labels: kubernetes.io/metadata.name=kafka kubesphere.io/namespace=kafka Annotations: <none> Status: Terminating Conditions: Type Status LastTransitionTime Reason Message ---- ------ ------------------ ------ ------- NamespaceContentRemaining True Tue, 08 Nov 2022 21:33:35 +0700 SomeResourcesRemain Some resources are remaining: pods. has 1 resource instances NamespaceFinalizersRemaining False Tue, 08 Nov 2022 22:09:57 +0700 ContentHasNoFinalizers All content-preserving finalizers finished No resource quota. No LimitRange resource.
➜ ~ kubectl get pods -n kafka NAME READY STATUS RESTARTS AGE kafka-0 0/1 Terminating 4 (12d ago) 12d
Solusinya adalah dengan menghapus finalizer.
Jalankan
kubectl edit ns/kafka
cari lalu hapus baris
finalizers: - kubernetes
setelah menghapus baris tersebut, tunggu beberapa saat agar perubahan tersebut dijalankan oleh kubernetes