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

finalizer

setelah menghapus baris tersebut, tunggu beberapa saat agar perubahan tersebut dijalankan oleh kubernetes

Leave a comment

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