방명록
- delete resource 시 terminating에서 stuck 상태 해결 방법2024년 09월 09일 11시 24분 00초에 업로드 된 글입니다.작성자: 재형이반응형
Kubernetes에서 네임스페이스가 "Terminating" 상태에서 멈춰 삭제되지 않을 때는 주로 파이널라이저(finalizer)가 네임스페이스 삭제를 완료하지 못하는 상황이 원인이 됩니다.
- 네임스페이스 상태 확인:
네임스페이스가 삭제되지 않고 Terminating 상태에 멈춰 있는지 확인합니다.
kubectl get namespaces <namespace-name> -o yaml
- JSON 파일로 네임스페이스 추출:
kubectl 명령어를 사용해 네임스페이스 정의를 JSON 형식으로 추출합니다.
kubectl get namespaces <namespace-name> -o json > <namespace-name>.json
- 파이널라이저 제거:
JSON 파일에서 finalizers 항목에 있는 "kubernetes" 값을 삭제합니다. 이 작업은 다음과 같이 sed 명령어로 수행할 수 있습니다:
sed -i '/"kubernetes"/d' <namespace-name>.json
- kubectl proxy 실행:
Kubernetes API 서버에 액세스하기 위해 kubectl proxy를 새로운 터미널에서 실행합니다:
kubectl proxy
- API 요청으로 네임스페이스 삭제 완료:
수정된 JSON 파일을 사용해 네임스페이스 삭제를 강제 종료합니다.
curl -k -H "Content-Type: application/json" -X PUT --data-binary @<namespace-name>.json <http://127.0.0.1:8001/api/v1/namespaces/<namespace-name>>/finalize
- 네임스페이스 상태 확인:
마지막으로 네임스페이스가 정상적으로 삭제되었는지 확인합니다:
kubectl get ns
이 절차를 따르면, 네임스페이스가 정상적으로 삭제되고 Terminating 상태에서 벗어날 수 있습니다.
반응형'데브옵스 > 쿠버네티스&도커' 카테고리의 다른 글
k8s 프로비저닝 툴 feat.kubeadm, kubespray, kOps, Cluster API (0) 2024.09.09 AWS EC2 쿠버네티스 환경 구축하기 (0) 2024.09.05 컨테이너의 보안을 높이는 방법 (0) 2024.03.23 Kubernetes The Hard Way (0) 2024.01.05 컨테이너의 역사와 기술 (0) 2023.12.29 다음글이 없습니다.이전글이 없습니다.댓글 - 네임스페이스 상태 확인: