kubectl로 custom resource definition(crd) 제거 시 동작 안될 때

 

증상

helm 차트 삭제 시 특정 crd 계속 남아있음

kubectl delete 명령어로 특정 crd 제거해도 동작 안함

kubectl delete crd flinksessionjobs.flink.apache.org

 

 

원인

finalizer를 가진 custom resource가 "deadlock" 상태에 빠짐

 

** finalizer:  

CRD의 수명 주기를 관리하는 중요한 개념 중 하나.

kubernetes 오브젝트의 삭제 과정에서 수행되는 특별한 작업 정의.

삭제되기 전에 수행되어야 하는 추가적인 작업이나 정리 과정을 finalizer를 통해 지정.

 

 

해결

kubectl patch 명령어를 이용하여 해당 CRD의 finalizer 제거

kubectl patch crd/flinksessionjobs.flink.apache.org -p '{"metadata":{"finalizers":[]}}' --type=merge 
customresourcedefinition.apiextensions.k8s.io/flinksessionjobs.flink.apache.org patched (no change)


kubectl delete crd flinksessionjobs.flink.apache.org
warning: deleting cluster-scoped resources, not scoped to the provided namespace
customresourcedefinition.apiextensions.k8s.io "flinksessionjobs.flink.apache.org" deleted

 

 

제거 후 helm 차트 제거 시 정상 동작

'Kubernetes' 카테고리의 다른 글

K8S Jenkins 구축  (1) 2023.11.11

+ Recent posts