King of Stock

[Kubernetes] kubernetes namespace delete 본문

IT 기술

[Kubernetes] kubernetes namespace delete

king of stock 2019. 4. 6. 19:15

쿠버네티스를 사용하면서 이런 저런 오브젝트를 설치하게 되는데 간혹 네임스페이스 삭제가 되지 않는 문제가 발생할 때가 있다. 나 같은 경우에는 cert-manager가 그랬었다.

$ kubectl delete NAMESPACE # 이 커맨드가 한참 걸리고 Ctrl + c 해서 빠져나와야 한다면

상태나 삭제 결과를 확인하기 위해 아래와 같이 보게 될 것이고 상태는 Terminating에 나이는 많을(?) 것이다.

$ kubectl get namespace
NAME           STATUS        AGE
long_running   Terminating   11d
default             Active    1d
kube-system         Active    1d
kube-public         Active    1d

이러한 문제가 발생하면 다음과 같은 커맨드를 사용하여 삭제하도록 하자.

사전준비

jq 설치

  • 삭제 커맨드
$ NAMESPACE=NAMESPACE
$ kubectl proxy &
$ kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
$ curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
Comments