ทำตามขั้นตอนที่ระบุไว้ใน วิธีบังคับลบ Kubernetes Namespace เพื่อล้างเนมสเปซ
หลังจากทำตามเอกสาร หากคุณพบว่า CRD แบบกำหนดเองไม่ถูกลบ แม้ว่าจะลบเนมสเปซแล้วก็ตาม ให้ทำตามขั้นตอนด้านล่าง:
ดำเนินการ ก kubectl รับ crd -A -o jsonpath='{.items[*].metadata.finalizers' เพื่อตรวจสอบว่าการดำเนินการลบอยู่ในภาวะชะงักงันด้วย Finalizers ที่ตั้งค่าไว้ใน CRD หรือไม่
ในกรณีนั้น คุณสามารถทำสิ่งต่อไปนี้:
$ kubectl patch crd <custom-resource-definition-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge
$ kubectl ลบ crd <custom-resource-definition-name> -n <namespace>
หากคุณไม่สามารถลบ CRD โดยทำตามขั้นตอนด้านบน ให้แก้ไข CRD ด้วยตนเองโดยใช้คำสั่งด้านล่าง และลบส่วน Finalizer ออกจาก CRD เพื่อให้ถูกลบโดยตรง
$ kubectl แก้ไข crd <ชื่อ CRD>
หากต้องการลบทรัพยากรทั้งหมดในบริบทเนมสเปซปัจจุบันของคุณจำนวนมาก คุณสามารถดำเนินการคำสั่ง kubectl delete ด้วยแฟล็ก -all
$ kubectl ลบ --all
หากต้องการลบทรัพยากรทั้งหมดออกจากเนมสเปซเฉพาะ ให้ใช้แฟล็ก -n
$ kubectl ลบ -n <namespace-name> --all
หากต้องการลบทรัพยากรทั้งหมดออกจากเนมสเปซทั้งหมด เราสามารถใช้แฟล็ก -A
$ kubectl ลบ -A