Amazon EKS에서 클러스터 생성 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

AWS CloudFormation 또는 eksctl을 사용하여 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터를 프로비저닝할 때 서비스 오류가 발생합니다.

간략한 설명

다음과 같은 문제 해결 옵션을 고려해 보세요.

  • 대상 가용 영역에 클러스터를 지원할 용량이 충분하지 않다는 오류 메시지가 나타납니다. 다른 가용 영역에서 클러스터 재생성 섹션의 단계를 완료합니다.
  • 리소스 생성에 실패했다는 오류 메시지가 나타납니다. 클러스터를 생성할 수 있는 올바른 IAM 권한이 있는지 확인 섹션 또는 Amazon VPC 리소스 모니터링 섹션의 단계를 완료하세요.
  • 작업자 노드를 기다리는 동안 생성 시간이 초과되었다는 오류 메시지가 나타납니다. 작업자 노드가 컨트롤 플레인 API 엔드포인트에 도달할 수 있는지 확인 섹션의 단계를 완료합니다.

해결 방법

다른 가용 영역에서 클러스터를 재생성하세요.

용량이 제한된 가용 영역에서 컨트롤 플레인 인스턴스를 시작하면 다음과 비슷한 오류가 발생할 수 있습니다.

Cannot create cluster 'sample-cluster' because us-east-1d, the targeted availability zone, does not currently have sufficient capacity to support the cluster. Retry and choose from these availability zones: us-east-1a, us-east-1b, us-east-1c

위 오류를 해결하려면 오류 메시지에 나와 있는 권장 가용 영역을 사용하여 클러스터를 다시 생성하세요.

CloudFormation을 사용하여 클러스터를 프로비저닝하는 경우 ** 서브넷** 파라미터에 가용 영역과 일치하는 서브넷 값을 추가합니다.

-또는-

eksctl을 사용하는 경우 --zones 플래그를 사용하여 다른 가용 영역에 값을 추가하세요. 예를 들면, 다음과 같습니다.

$ eksctl create cluster 'sample-cluster' --zones us-east-1a,us-east-1b,us-east-1c

참고: sample-cluster를 클러스터 이름으로 바꿉니다. us-east-1a, us-east-1bus-east-1c를 가용 영역으로 대체하세요.

클러스터를 생성할 수 있는 올바른 IAM 권한이 있는지 확인

클러스터를 생성할 때 올바른 AWS ID 및 액세스 관리(IAM) 권한이 있는지 확인하세요. 여기에는 Amazon EKS 서비스 IAM 역할에 대한 올바른 정책이 포함됩니다.

eksctl을 사용하여 클러스터의 필수 리소스(예: IAM 역할 및 보안 그룹)를 생성할 수 있습니다. 필요한 최소 권한은 실행하려는 eksctl 구성에 따라 다릅니다. 자세한 내용은 eksctl GitHub 커뮤니티의 문제 해결 솔루션을 참조하세요.

클러스터에 IAM 권한에 문제가 있는 경우 eksctl에서 다음과 비슷한 오류가 발생할 수 있습니다.

API: iam:CreateRole User: arn:aws:iam::your-account-id:user/your-user-name is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::your-account-id:role/eksctl-newtest22-cluster-ServiceRole-10NXBYLSN4ULP

위 오류를 해결하려면 eksctl 웹사이트에서 eksctl 사용 사례를 실행하기 위한 최소 IAM 정책을 검토하세요. 또한 Amazon EKS의 자격 증명 및 액세스 관리, 및 IAM 정책으로 액세스 거부 또는 무단 작업 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

아마존 VPC 리소스 모니터링

클러스터를 생성하면 eksctl은 기본적으로 새 Amazon Virtual Private Cloud(Amazon VPC)를 생성합니다. eksctl이 새 Amazon VPC를 생성하지 않도록 하려면 구성 파일에서 사용자 지정 Amazon VPC와 서브넷을 지정해야 합니다.

클러스터에 Amazon VPC 제한에 문제가 있는 경우 다음과 같은 오류 메시지가 나타날 수 있습니다.

The maximum number of VPCs has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: VpcLimitExceeded; Request ID: a12b34cd-567e-890-123f-ghi4j56k7lmn)

위 오류를 해결하려면 리소스를 모니터링하세요. 예를 들어, 클러스터를 생성한 리전당 AWS 리전 또는 인터넷 게이트웨이의 Amazon VPC 수를 확인하세요. 자세한 내용은 Amazon VPC 할당량을 참조하세요.

리전의 Amazon VPC 리소스 수에 대한 리소스 제약과 관련된 문제의 경우 다음 옵션 중 하나를 고려해 보세요.

(옵션 1) 기존 Amazon VPC를 사용하여 리소스 제약 극복

클러스터의 작업자 노드를 프로비저닝하려는 Amazon VPC와 서브넷을 지정하는 구성 파일을 생성합니다.

$ eksctl create cluster sample-cluster -f cluster.yaml

-또는-

(옵션 2) 리소스 제약 극복을 위한 서비스 쿼터 증가 요청

eksctl이 프로비저닝한 클러스터의 CloudFormation 스택 이벤트에 있는 리소스에 대한 서비스 쿼터 증가를 요청합니다.

작업자 노드가 컨트롤 플레인 API 엔드포인트에 도달할 수 있는지 확인

eksctl이 클러스터를 배포할 때 시작된 작업자 노드가 클러스터에 가입하고 준비 상태에 도달할 때까지 기다립니다. 작업자 노드가 컨트롤 플레인에 도달하지 못하거나 잘못된 IAM 역할을 가진 경우 다음 오류가 발생할 수 있습니다.

timed out (after 25m0s) waiting for at least 4 nodes to join the cluster and become ready in "eksfbots-ng1"

위 오류를 해결하려면 작업자 노드가 클러스터에 가입하도록 하고 작업자 노드가 준비 상태인지 확인하세요.


AWS 공식
AWS 공식업데이트됨 2년 전