만료된 인증서가 있는 경우 노드 준비 안 됨 오류 문제 해결
이 문서는 만료된 인증서가 있는 경우 AKS(Microsoft Azure Kubernetes Service) 클러스터 내에서 노드 준비 안 됨 시나리오 문제를 해결하는 데 도움이 됩니다.
필수 구성 요소
증상
AKS 클러스터 노드가 노드 준비 안 됨 상태임을 발견합니다.
원인
하나 이상의 만료된 인증서가 있습니다.
방지: OpenSSL을 실행하여 인증서 서명
다음과 같이 openssl-x509 명령을 호출하여 인증서의 만료 날짜를 확인합니다.
VM(가상 머신) 확장 집합 노드의 경우 az vmss run-command invoke 명령을 사용합니다.
az vmss run-command invoke \ --resource-group <resource-group-name> \ --name <vm-scale-set-name> \ --command-id RunShellScript \ --instance-id 0 \ --output tsv \ --query "value[0].message" \ --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
VM 가용성 집합 노드의 경우 az vm run-command invoke 명령을 사용합니다.
az vm run-command invoke \ --resource-group <resource-group-name> \ --name <vm-availability-set-name> \ --command-id RunShellScript \ --output tsv \ --query "value[0].message" \ --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
이러한 명령을 호출한 후 특정 오류 코드가 표시될 수 있습니다. 오류 코드 50, 51 및 52에 대한 자세한 내용은 필요에 따라 다음 링크를 참조하세요.
- OutboundConnFailVMExtensionError 오류 코드 문제 해결(50)
- K8SAPIServerConnFailVMExtensionError 오류 코드 문제 해결(51)
- K8SAPIServerDNSLookupFailVMExtensionError 오류 코드 문제 해결(52)
오류 코드 99가 수신되면 apt-get update 명령이 다음 도메인 중 하나 이상에 액세스하지 못하도록 차단되고 있음을 나타냅니다.
- security.ubuntu.com
- azure.archive.ubuntu.com
- nvidia.github.io
이러한 도메인에 대한 액세스를 허용하려면 차단 방화벽, NSG(네트워크 보안 그룹) 또는 NVA(네트워크 가상 어플라이언스)의 구성을 업데이트합니다.
해결 방법: 인증서 회전
인증서 자동 회전을 적용하여 만료되기 전에 노드에서 인증서를 회전할 수 있습니다. 이 옵션을 사용하려면 AKS 클러스터에 대한 가동 중지 시간이 필요하지 않습니다.
클러스터 가동 중지 시간을 수용할 수 있는 경우 인증서를 수동으로 회전할 수 있습니다 .
참고
AKS 릴리스인 2021년 7월 15일부터 AKS 클러스터 업그레이드는 클러스터 인증서를 자동으로 회전하는 데 도움이 됩니다. 그러나 이 동작 변경은 만료된 클러스터 인증서에 적용되지 않습니다. 업그레이드에서 다음 작업만 수행하면 만료된 인증서가 갱신되지 않습니다.
- 노드 이미지를 업그레이드합니다.
- 노드 풀을 동일한 버전으로 업그레이드합니다.
- 노드 풀을 최신 버전으로 업그레이드합니다.
전체 업그레이드(즉, 컨트롤 플레인과 노드 풀 모두에 대한 업그레이드)만 만료된 인증서를 갱신하는 데 도움이 됩니다.
추가 정보
- 일반적인 문제 해결 단계는 노드 준비 안 됨 오류의 기본 문제 해결을 참조하세요.