이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
EC2 인스턴스 저장소로 구성된 AWS Outposts의 Amazon EKS 로컬 클러스터 문제 해결
이 주제에서는 EC2 인스턴스 저장소로 구성된 AWS Outposts에서 로컬 Amazon EKS 클러스터를 사용하는 동안 발생할 수 있는 몇 가지 일반적 오류와 문제를 해결하는 방법을 설명합니다.
aws eks update-kubeconfig 실행 후 다음 오류가 표시되는 경우:
Either parameter --cluster-name or --cluster-id must be specified.
또는 다음과 같습니다.
couldn't get current server API group list: getting credentials: exec: executable aws failed with exit code 1
kubeconfig(~/.kube/config)가 exec args에서 --cluster-id가 아닌 --cluster-name을 지정하는지 확인합니다.
args: - --region - region-code - eks - get-token - --cluster-name - my-cluster - --output - json command: aws
kubectl get nodes를 실행할 때 노드가 표시되지 않는 경우:
-
노드에서
kubelet로그를 확인합니다. SSM 또는 SSH를 사용하여 노드에 액세스하고 다음을 실행합니다.systemctl status kubelet -l -
승인되지 않은 오류가 있는지 확인합니다. 승인되지 않은 오류는 노드 역할 권한 누락 또는
aws-authConfigMap 문제를 나타낼 수 있습니다. 노드의 인스턴스 역할이aws-authConfigMap에서 올바르게 매핑되어 있는지 확인합니다. -
CSR 상태를 확인합니다. 노드의 인증서 서명 요청이 승인되었는지 확인합니다.
kubectl get csrCSR이
Pending상태이면 승인합니다.kubectl certificate approve node-csr-EXAMPLE
클러스터가 FAILED 상태가 되는 경우:
-
용량 부족: 지정된 인스턴스 유형의 컨트롤 플레인 인스턴스 6개(3개
etcd+ 3개 API 서버)에 충분한 가상화 용량이 Outpost에 있는지 확인합니다. 인스턴스 유형은 Outposts에 배정되어 있어야 합니다. -
분산 토폴로지를 충족할 수 없음:
host의spreadLevel을 지정한 경우 선택한 인스턴스 유형으로 호스트가 3개 이상 구성되어 있는지 확인합니다.rack을 지정한 경우 3개 이상의 랙에 선택한 인스턴스 유형의 호스트가 있는지 확인합니다. -
서브넷 문제: 지정한 서브넷이 Outpost가 호밍되는 가용 영역에 있고 각 서브넷에 사용 가능한 IP 주소가 3개 이상 있는지 확인합니다. EC2 인스턴스 저장소로 구성된 AWS Outposts의 Amazon EKS 로컬 클러스터를 위한 VPC 및 서브넷 생성을(를) 참조하세요.
Kubernetes 버전 또는 플랫폼 버전 업데이트 중에 클러스터가 UPDATING 상태로 유지되는 경우:
-
용량 부족: 업데이트 중에 컨트롤 플레인 인스턴스가 재인스턴스화 전에 삭제됩니다. 대체 인스턴스를 프로비저닝하기 전에 다른 워크로드가 여유 용량을 사용하는 경우 업데이트가 중지됩니다. Outpost에 컨트롤 플레인 인스턴스 유형에 사용할 수 있는 용량이 있는지 확인합니다.
Kubernetes API 작업을 수행할 수 없게 되고 Outpost 연결이 해제된 경우:
-
etcd에서 쿼럼이 손실되었을 수 있습니다. 연결 해제 중에 둘 이상의etcd인스턴스를 사용할 수 없게 되는 경우 이 현상이 발생합니다. -
이미 실행 중인 워크로드는 계속 작동하지만 Kubernetes API 작업은 사용할 수 없습니다.
-
연결이 복원되면 Amazon EKS는 최신
etcd스냅샷에서 클러스터 상태를 복구합니다.
AWS 지원 센터