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 |
---|