Amazon EKS 클러스터에서 종료된 상태의 네임스페이스 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022-10-20

Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터에 있는 네임스페이스를 삭제하려고 했습니다. 그러나 네임스페이스가 ‘종료 중(Terminating)’ 상태에서 멈춥니다.

간략한 설명

네임스페이스를 삭제하려면 Kubernetes가 먼저 네임스페이스에 있는 모든 리소스를 삭제해야 합니다. 이후 Kubernetes가 등록된 API 서비스의 상태를 확인해야 합니다. 다음 이유 때문에 네임스페이스가 “종료 중(Terminating)” 상태에 멈춰 있습니다.

  • 네임스페이스에 Kubernetes가 삭제할 수 없는 리소스가 포함되어 있습니다.
  • API 서비스가 “거짓(False)” 상태입니다.

해결 방법

다음 지침에 따라 ‘종료 중(Terminating)’ 상태에서 멈춘 네임스페이스를 삭제합니다.

1.    다음과 유사한 JSON 파일을 저장합니다.

kubectl get namespace <terminating-namespace> -o json > tempfile.json

2.    JSON 파일의 사양(spec) 섹션에서 파이널라이저 배열 블록을 제거합니다. 다음은 제거할 파이널라이저 배열 블록이 포함된 JSON 파일의 사양(spec) 섹션 예시입니다.

"spec": {
        "finalizers": [
            "kubernetes"
        ]
    }

파이널라이저 배열 블록을 제거하면 JSON 파일의 사양(spec) 섹션은 다음과 같이 보입니다.

"spec" : {
    }

3.    변경 사항을 적용하려면 다음과 유사한 명령을 실행합니다.

kubectl replace --raw "/api/v1/namespaces/<terminating-namespace>/finalize" -f ./tempfile.json

4.    종료 중인 네임스페이스가 제거되었는지 확인합니다.

kubectl get namespaces

‘종료 중(Terminating)’ 상태에서 멈춘 나머지 네임스페이스에 대해 이 단계를 반복합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?