Google Kubernetes Engine(GKE) 클러스터 생성 중 오류가 발생하면 필요한 인프라를 프로비저닝하지 못할 수 있습니다. 실패의 일반적인 원인은 constraints/compute.vmExternalIpAccess 또는 constraints/compute.restrictVpcPeering 조직 정책 위반입니다. 이 페이지를 사용하여 이러한 조직 정책으로 인해 발생하는 클러스터 생성 실패 문제를 해결하세요.
이 정보는Google Cloud 조직 내에서 GKE 클러스터를 만들고 관리하는 플랫폼 관리자, 운영자 또는 기타 사용자에게 중요합니다.Google Cloud 콘텐츠에서 Google이 참조하는 일반적인 역할과 예시 태스크에 대한 자세한 내용은 일반 GKE 사용자 역할 및 태스크를 참조하세요.
Kubernetes 클러스터의 일반적인 문제는 Kubernetes 문서의 클러스터 문제 해결을 참조하세요.
오류: constraints/compute.vmExternalIpAccess 제약조건 위반
공개 GKE 클러스터를 만들려고 하면 다음과 유사한 오류가 발생할 수 있습니다.
Constraint constraints/compute.vmExternalIpAccess violated for project
이는 GKE Autopilot 클러스터를 포함하여 공개 GKE 클러스터에만 영향을 줍니다.
공개 GKE 클러스터를 만들면 이 클러스터의 워커 노드를 구성하는 기본 Compute Engine VM에 외부 IP 주소가 할당됩니다.
조직 정책 제약조건 constraints/compute.vmExternalIpAccess를 Deny All로 구성하거나 조직, 폴더 또는 프로젝트 수준에서 특정 VM 인스턴스로 외부 IP 주소를 제한하도록 구성하면 정책에 따라 GKE 워커 노드가 외부 IP 주소를 가져오지 못하도록 방지되어 클러스터 만들기 오류가 발생합니다.
클러스터 만들기 작업 로그를 찾으려면 로그 탐색기를 사용해서 다음과 비슷한 검색어로 GKE 클러스터 작업 감사 로그를 검토할 수 있습니다.
resource.type="gke_cluster"
logName="projects/test-last-gke-sa/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="google.container.v1beta1.ClusterManager.CreateCluster"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.project_id="PROJECT_ID"
다음을 바꿉니다.
CLUSTER_NAME: 생성되지 않은 클러스터의 이름입니다.PROJECT_ID: 프로젝트 ID입니다.
이 문제를 해결하기 위해서는 GKE 공개 클러스터를 만들려고 시도 중인 프로젝트에서 constraints/compute.vmExternalIpAccess 제약조건에 적용되는 정책이 Allow All인지 확인합니다. 이 제약조건을 사용하는 방법에 관한 자세한 내용은 외부 IP 주소를 특정 VM 인스턴스로 제한을 참조하세요.
제약조건을 Allow All로 설정한 후 실패한 클러스터를 삭제하고 새 클러스터를 만듭니다. 이 작업은 실패한 클러스터 복구가 가능하지 않기 때문에 필요합니다.
오류: constraints/compute.restrictVpcPeering 제약 조건 위반
VPC 네트워크 피어링을 사용하여 VPC 네트워크를 Google 관리형 컨트롤 플레인 프로젝트에 연결하는 비공개 GKE 클러스터를 만들려고 하면 다음과 유사한 오류가 발생할 수 있습니다.
Constraint constraints/compute.restrictVpcPeering violated for project
클러스터의 VPC 네트워크를 소유한 조직, 폴더 또는 프로젝트에서 constraints/compute.restrictVpcPeering 조직 정책 제약조건을 구성하는 경우 Google 관리형 프로듀서 계층 구조가 허용되지 않는 한 정책은 GKE가 컨트롤 플레인 VPC 네트워크를 VPC 네트워크와 피어링하지 못하도록 차단합니다.
이 문제를 해결하려면 다음 옵션 중 하나를 사용하세요.
- VPC 네트워크 피어링 대신 컨트롤 플레인 연결에 Private Service Connect를 사용하는 클러스터를 만듭니다.
- 클러스터의 VPC 네트워크를 소유한 프로젝트, 폴더 또는 조직의
constraints/compute.restrictVpcPeering정책을 업데이트하여 Google 서비스 프로듀서 조직(under:organizations/433637338589)을allowedValues필드에 추가합니다.
조직 정책을 업데이트한 후 실패한 클러스터를 삭제하고 새 클러스터를 만듭니다.
다음 단계
문서에서 문제 해결 방법을 찾을 수 없으면 지원 받기를 참조하여 다음 주제에 대한 조언을 포함한 추가 도움을 요청하세요.
- Cloud Customer Care에 문의하여 지원 케이스를 엽니다.
- StackOverflow에서 질문하고
google-kubernetes-engine태그를 사용하여 유사한 문제를 검색해 커뮤니티의 지원을 받습니다.#kubernetes-engineSlack 채널에 가입하여 더 많은 커뮤니티 지원을 받을 수도 있습니다. - 공개 Issue Tracker를 사용하여 문제나 기능 요청을 엽니다.