이 페이지에서는 Google Kubernetes Engine(GKE)에서 VPC 기반 클러스터를 구성하는 방법을 설명합니다.
VPC 기반 클러스터의 이점과 요구사항에 대해 자세히 알아보려면 VPC 기반 클러스터 개요를 참조하세요.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 initialize합니다. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
제한사항
- VPC 기반 클러스터를 경로 기반 클러스터로 변환할 수 없으며 반대의 경우도 마찬가지입니다.
- VPC 기반 클러스터에는 VPC 네트워크가 필요합니다. 이전 네트워크는 지원되지 않습니다.
- GKE 클러스터와 마찬가지로 클러스터 내에서만 서비스(ClusterIP) 주소를 사용할 수 있습니다. 클러스터 외부에 있지만 클러스터의 VPC 네트워크와 리전 내에 있는 VM 인스턴스에서 Kubernetes 서비스에 액세스해야 하는 경우에는 내부 패스 스루 네트워크 부하 분산기를 만듭니다.
- 서브넷의 모든 포드 IP 주소를 사용하는 경우 클러스터를 불안정한 상태로 전환하지 않으면 서브넷의 보조 IP 주소 범위를 바꿀 수 없습니다. 그러나 연속되지 않은 다중 포드 CIDR을 사용하여 추가 포드 IP 주소 범위를 만들 수 있습니다.
기존 서브넷에 클러스터 만들기
다음 안내에서는 원하는 보조 범위 할당 방법을 사용하여 기존 서브넷에서 VPC 기반 GKE 클러스터를 만드는 방법을 설명합니다.
gcloud
GKE에서 관리하는 보조 범위 할당 방법을 사용하려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-ip-alias \ --subnetwork=SUBNET_NAME \ --cluster-ipv4-cidr=POD_IP_RANGE \ --services-ipv4-cidr=SERVICES_IP_RANGE
사용자가 관리하는 보조 범위 할당 방법을 사용하려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-ip-alias \ --subnetwork=SUBNET_NAME \ --cluster-secondary-range-name=SECONDARY_RANGE_PODS \ --services-secondary-range-name=SECONDARY_RANGE_SERVICES
다음을 바꿉니다.
CLUSTER_NAME
: GKE 클러스터의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.SUBNET_NAME
: 기존 서브넷의 이름입니다. 서브넷의 기본 IP 주소 범위는 노드에 사용됩니다. 서브넷은 클러스터에서 사용되는 리전과 같은 리전에 있어야 합니다. 이를 생략하면 GKE는 클러스터 리전의default
VPC 네트워크에서 서브넷 사용을 시도합니다.- 보조 범위 할당 방법을 GKE에서 관리하는 경우의 각 항목 의미는 다음과 같습니다.
POD_IP_RANGE
: CIDR 표기법을 따른 IP 주소 범위(예:10.0.0.0/14
) 또는 CIDR 블록의 서브넷 마스크 크기(예:/14
)입니다. 이는 포드의 서브넷 보조 IP 주소 범위를 만드는 데 사용됩니다.--cluster-ipv4-cidr
옵션을 생략하면 GKE는/14
범위(218개의 주소)를 자동으로 선택합니다. 자동으로 선택되는 범위는10.0.0.0/8
(224개 주소 범위)에서 무작위로 선택되고, VM 및 기존 경로에 할당된 IP 주소 범위 또는 다른 클러스터에 할당된 범위가 포함되지 않습니다. 자동으로 선택된 범위는 예약된 IP 주소, 동적 경로 또는 이 클러스터와 피어링하는 VPC 내의 경로와 충돌할 수 있습니다. 이 중 하나를 사용하는 경우 충돌을 방지하려면--cluster-ipv4-cidr
을 지정해야 합니다.SERVICES_IP_RANGE
: CIDR 표기법(예:10.4.0.0/19
) 또는 CIDR 블록의 서브넷 마스크 크기(예:/19
)에서 IP 주소 범위입니다. 서비스의 서브넷 보조 IP 주소 범위를 만드는 데 사용됩니다.
- 보조 범위 할당 방법을 사용자가 관리하는 경우의 각 항목 의미는 다음과 같습니다.
SECONDARY_RANGE_PODS
: 지정된SUBNET_NAME
에 있는 기존 보조 IP 주소 범위의 이름입니다. GKE에서는 클러스터의 pod에 전체 서브넷 보조 IP 주소 범위를 사용합니다.SECONDARY_RANGE_SERVICES
: 지정된 기존 보조 IP 주소 범위의 이름입니다.
콘솔
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
만들기를 클릭하고 Standard 또는 Autopilot 섹션에서 구성을 클릭합니다.
탐색창의 클러스터에서 네트워킹을 클릭합니다.
네트워크 드롭다운 목록에서 VPC를 선택합니다.
노드 서브넷 드롭다운 목록에서 클러스터의 서브넷을 선택합니다.
VPC 기반 트래픽 라우팅 사용 설정(별칭 IP 사용) 체크박스가 선택되어 있는지 확인합니다.
GKE에서 보조 범위 할당 방법을 관리하려면 보조 범위 자동 생성 체크박스를 선택합니다. 선택한 서브넷의 보조 범위를 이미 만들었지만 보조 범위 할당 방법을 사용자가 관리하도록 하려면 이 체크박스를 선택 취소합니다.
포드 주소 범위 필드에 포드 범위(예:
10.0.0.0/14
)를 입력합니다.서비스 주소 범위 필드에 서비스 범위(예:
10.4.0.0/19
)를 입력합니다.클러스터를 구성합니다.
만들기를 클릭합니다.
Terraform
Terraform 모듈을 사용하여 Terraform을 통해 VPC 기반 클러스터를 만들 수 있습니다.
예를 들어 Terraform 구성에 다음 블록을 추가할 수 있습니다.
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
version = "~> 12.0"
project_id = "PROJECT_ID"
name = "CLUSTER_NAME"
region = "COMPUTE_LOCATION"
network = "NETWORK_NAME"
subnetwork = "SUBNET_NAME"
ip_range_pods = "SECONDARY_RANGE_PODS"
ip_range_services = "SECONDARY_RANGE_SERVICES"
}
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.CLUSTER_NAME
: GKE 클러스터의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다. Terraform의 경우 Compute Engine 리전입니다.NETWORK_NAME
: 기존 네트워크 이름입니다.SUBNET_NAME
: 기존 서브넷의 이름입니다. 서브넷의 기본 IP 주소 범위는 노드에 사용됩니다. 서브넷은 클러스터에서 사용되는 리전과 같은 리전에 있어야 합니다.SECONDARY_RANGE_PODS
: 지정된 기존 보조 IP 주소 범위의 이름입니다.SECONDARY_RANGE_SERVICES
: 지정된 기존 보조 IP 주소 범위의 이름입니다.
API
VPC 기반 클러스터를 만들 때 IPAllocationPolicy 객체를 정의합니다. 기존 서브넷 보조 IP 주소 범위를 참조하거나 CIDR 블록을 지정할 수 있습니다. 기존 서브넷 보조 IP 주소 범위를 참조하여 보조 범위 할당 메서드를 사용자가 관리하는 클러스터를 만듭니다. 범위 할당 방법을 GKE에서 관리하려면 CIDR 블록을 제공합니다.
{
"name": CLUSTER_NAME,
"description": DESCRIPTION,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"clusterIpv4CidrBlock" : string,
"servicesIpv4CidrBlock" : string,
"clusterSecondaryRangeName" : string,
"servicesSecondaryRangeName": string,
},
...
}
이 명령어에는 다음 값이 포함됩니다.
"clusterIpv4CidrBlock"
: 포드의 CIDR 범위입니다. 이에 따라 포드 보조 범위의 크기가 결정되며10.0.0.0/14
와 같은 CIDR 표기법일 수 있습니다. 지정된 크기의 빈 공간이 VPC의 사용 가능한 공간에서 선택됩니다. 공백으로 두면 유효 범위가 발견되고 기본 크기로 생성됩니다."servicesIpv4CidrBlock"
: 서비스의 CIDR 범위입니다."clusterIpv4CidrBlock"
의 설명을 참조하세요."clusterSecondaryRangeName"
: 포드 보조 범위의 이름입니다. 보조 범위는 이미 있어야 하고 클러스터에 연결된 서브네트워크에 속해야 합니다."serviceSecondaryRangeName"
: 서비스 보조 범위의 이름입니다. 보조 범위는 이미 있어야 하고 클러스터에 연결된 서브네트워크에 속해야 합니다.
클러스터 만들기 및 컨트롤 플레인 IP 주소 범위 선택
기본적으로 Private Service Connect를 사용하는 클러스터는 기본 서브넷 범위를 사용하여 컨트롤 플레인 엔드포인트에 할당된 내부 IP 주소를 프로비저닝합니다. 클러스터 생성 시간 중에만 다른 서브넷 범위를 선택하여 이 기본 설정을 재정의할 수 있습니다. 다음 섹션에서는 Private Service Connect로 클러스터를 만들고 서브넷 범위를 재정의하는 방법을 보여줍니다.
gcloud
Private Service Connect가 공개로 정의된 클러스터 만들기
gcloud container clusters create CLUSTER_NAME \
--private-endpoint-subnetwork=SUBNET_NAME \
--location=COMPUTE_LOCATION
--enable-private-nodes
플래그를 추가하여 Private Service Connect 클러스터를 비공개로 만듭니다.
다음을 바꿉니다.
CLUSTER_NAME
: GKE 클러스터의 이름입니다.SUBNET_NAME
: 기존 서브넷의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
GKE는 Private Service Connect로 클러스터를 만듭니다.
비공개로 정의된 클러스터 만들기
GKE 버전 1.29 이상에서는 Private Service Connect로 클러스터를 만들 수 있습니다.
gcloud container clusters create CLUSTER_NAME --enable-ip-alias \
--enable-private-nodes \
--private-endpoint-subnetwork=SUBNET_NAME \
--region=COMPUTE_REGION
다음을 바꿉니다.
CLUSTER_NAME
: GKE 클러스터의 이름입니다.SUBNET_NAME
: 기존 서브넷의 이름입니다.private-endpoint-subnetwork
플래그에 대한 값을 제공하지 않지만master-ipv4-cidr
을 사용하는 경우 GKE는master-ipv4-cidr
에서 정의한 값을 사용하는 새 서브넷을 만듭니다. GKE는 새 서브넷을 사용하여 제어 영역의 내부 IP 주소를 프로비저닝합니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
콘솔
공개로 정의된 클러스터를 만듭니다.
새 클러스터의 컨트롤 플레인에 서브넷을 할당하려면 먼저 서브넷을 추가해야 합니다. 그 다음 아래 단계를 완료합니다.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
add_box만들기를 클릭합니다.
표준 또는 Autopilot 섹션에서 구성을 클릭합니다.
이름에 클러스터 이름을 입력합니다.
Standard 클러스터의 경우 탐색창의 클러스터에서 네트워킹을 클릭합니다.
IPv4 네트워크 액세스 섹션에서 다음을 수행합니다.
- GKE 클러스터를 공개로 만들려면 공개 클러스터를 선택합니다.
- GKE 클러스터를 비공개로 만들려면 비공개 클러스터를 선택합니다.
두 경우 모두 나중에 클러스터 구성을 수정할 때 클러스터 격리 모드를 변경할 수 있습니다.
고급 네트워킹 옵션 섹션에서 컨트롤 플레인의 기본 비공개 엔드포인트 서브넷 재정의 체크박스를 선택합니다.
비공개 엔드포인트 서브넷 목록에서 사용자가 만든 서브넷을 선택합니다.
완료를 클릭합니다. 필요에 따라 승인된 네트워크를 더 추가합니다.
클러스터 및 서브넷을 동시에 만들기
다음 안내에서는 VPC 기반 GKE 클러스터와 서브넷을 동시에 만드는 방법을 보여줍니다. 명령어 하나로 다음 두 단계를 수행하면 보조 범위 할당 방법을 GKE에서 관리하게 됩니다.
gcloud
VPC 기반 클러스터와 서브넷을 동시에 만들려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--enable-ip-alias \
--create-subnetwork name=SUBNET_NAME,range=NODE_IP_RANGE \
--cluster-ipv4-cidr=POD_IP_RANGE \
--services-ipv4-cidr=SERVICES_IP_RANGE
다음을 바꿉니다.
CLUSTER_NAME
: GKE 클러스터의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.SUBNET_NAME
: 만들려는 서브넷의 이름입니다. 서브넷의 리전은 클러스터와 같은 리전(또는 영역 클러스터가 포함된 리전)입니다. GKE에서 이름을 자동으로 생성하도록 하려면 빈 문자열(name=""
)을 사용합니다.NODE_IP_RANGE
: CIDR 표기법을 따른 IP 주소 범위(예:10.5.0.0/20
) 또는 CIDR 블록의 서브넷 마스크 크기(예:/20
)입니다. 이는 노드의 서브넷 기본 IP 주소 범위를 만드는 데 사용됩니다. 이를 생략하면 GKE는 VPC에서 크기가/20
인 사용 가능한 IP 범위를 선택합니다.POD_IP_RANGE
: CIDR 표기법을 따른 IP 주소 범위(예:10.0.0.0/14
) 또는 CIDR 블록의 서브넷 마스크 크기(예:/14
)입니다. 이는 포드의 서브넷 보조 IP 주소 범위를 만드는 데 사용됩니다. 이를 생략하면 GKE는 218개 주소를 포함하는 무작위로 선택된/14
범위를 사용합니다. 자동으로 선택되는 범위는10.0.0.0/8
(224개 주소 범위)에서 무작위로 선택되고, VM 및 기존 경로에 할당된 IP 주소 범위 또는 다른 클러스터에 할당된 범위가 포함되지 않습니다. 자동으로 선택된 범위는 예약된 IP 주소, 동적 경로 또는 이 클러스터와 피어링하는 VPC 내의 경로와 충돌할 수 있습니다. 이 중 하나를 사용하는 경우 충돌을 방지하려면--cluster-ipv4-cidr
을 지정해야 합니다.SERVICES_IP_RANGE
: CIDR 표기법을 따른 IP 주소 범위(예:10.4.0.0/19
) 또는 CIDR 블록의 서브넷 마스크 크기(예:/19
)입니다. 서비스의 서브넷 보조 IP 주소 범위를 만드는 데 사용됩니다. 이를 생략하면 GKE는 기본 서비스 IP 주소 범위 크기인/20
을 사용합니다.
콘솔
Google Cloud 콘솔을 사용하여 클러스터와 서브넷을 동시에 만들 수 없습니다. 대신 먼저 서브넷을 만든 후 기존 서브넷에 클러스터를 만듭니다.
API
VPC 기반 클러스터를 만들려면 클러스터 리소스에서 IPAllocationPolicy 객체를 정의합니다.
{
"name": CLUSTER_NAME,
"description": DESCRIPTION,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"createSubnetwork": true,
"subnetworkName": SUBNET_NAME
},
...
}
createSubnetwork
자동으로 클러스터의 서브네트워크를 만들고 프로비저닝합니다. subnetworkName
필드는 선택사항입니다. 이 필드를 비워두면 서브네트워크 이름이 자동으로 선택됩니다.
비RFC 1918 IP 주소 범위 사용
GKE 클러스터는 노드, 포드, 서비스에 RFC 1918 범위 밖에 있는 IP 주소 범위를 사용할 수 있습니다. 서브넷 범위의 내부 IP 주소로 사용할 수 있는 비RFC 1918 비공개 범위 목록은 VPC 네트워크 문서의 유효한 범위를 참조하세요.
RFC 1918 이외의 IP 주소 범위는 비공개 클러스터 및 비공개가 아닌 클러스터와 호환됩니다.
RFC 1918 이외의 비공개 범위는 서브넷 범위입니다. 이 범위는 RFC 1918 서브넷 범위와 함께 사용하거나 단독으로 사용할 수 있습니다. 노드, 포드, 서비스는 VPC 기반 클러스터의 IP 범위에 설명된 대로 서브넷 범위를 계속 사용합니다. RFC 1918 이외의 범위를 사용할 경우 다음 사항에 유의하세요.
서브넷 범위, 심지어 RFC 1918 이외의 범위를 사용하는 서브넷 범위도 클러스터 노드를 만들기 전에 수동으로 또는 GKE에서 할당해야 합니다. 클러스터를 교체하지 않으면 비RFC 1918 서브넷 범위 사용으로 전환하거나 사용을 중지할 수 없습니다.
내부 패스 스루 네트워크 부하 분산기는 서브넷의 기본 IP 주소 범위의 IP 주소만 사용합니다. RFC 1918 이외의 주소로 내부 패스 스루 네트워크 부하 분산기를 만들려면 서브넷의 기본 IP 주소 범위는 RFC 1918이 아니어야 합니다.
클러스터 외부의 대상은 RFC 1918 이외의 비공개 범위에서 트래픽을 수신하는 데 문제가 발생할 수 있습니다. 예를 들어 RFC 1112(클래스 E) 비공개 범위는 일반적으로 멀티캐스트 주소로 사용됩니다. 소스가 RFC 1918 범위 외부의 비공개 IP 주소인 패킷을 클러스터 외부의 대상이 처리할 수 없는 경우 다음을 수행할 수 있습니다.
- 서브넷의 기본 IP 주소 범위에 RFC 1918 범위를 사용합니다. 이렇게 하면 클러스터의 노드가 RFC 1918 주소를 사용합니다.
- 클러스터에서 IP 매스커레이드 에이전트를 실행 중이며 대상이
nonMasqueradeCIDRs
목록에 없는지 확인합니다. 이렇게 하면 포드에서 전송된 패킷에 소스(SNAT)가 RFC 1918인 노드 주소로 변경됩니다.
비공개로 사용된 공개 IP 주소 범위 사용 설정
GKE 클러스터는 특정 공개 IP 주소 범위를 내부 서브넷 IP 주소 범위로 비공개로 사용할 수 있습니다. VPC 네트워크 문서에 설명된 대로 특정 제한된 범위를 제외한 모든 공개 IP 주소를 비공개로 사용할 수 있습니다.
비공개로 사용되는 공개 IP 주소 범위를 사용하려면 클러스터가 VPC 기반 클러스터여야 합니다. 경로 기반 클러스터는 지원되지 않습니다.
비공개로 사용되는 공개 범위는 서브넷 범위입니다. 단독으로 또는 비공개 주소를 사용하는 다른 서브넷 범위와 함께 사용할 수 있습니다. 노드, 포드, 서비스는 VPC 기반 클러스터의 IP 범위에 설명된 대로 서브넷 범위를 계속 사용합니다. 공개 IP 주소를 비공개로 다시 사용할 때는 다음 사항에 유의하세요.
외부 IP 주소 범위를 서브넷 범위로 사용할 경우, 클러스터는 더 이상 해당 공개 범위를 사용하는 인터넷상의 시스템과 통신할 수 없습니다. 범위는 클러스터의 VPC 네트워크에서 내부 IP 주소 범위가 됩니다.
서브넷 범위, 심지어 공개 IP 주소 범위를 비공개로 사용하는 서브넷 범위도 클러스터 노드를 만들기 전에 수동으로 또는 GKE에서 할당해야 합니다. 클러스터를 교체하지 않으면 비공개로 사용되는 공개 IP 주소 사용으로 전환하거나 사용을 중지할 수 없습니다.
GKE는 기본적으로 노드의 SNAT을 공용 IP 대상에 구현합니다. 외부 IP 주소를 사용하도록 포드 CIDR을 구성한 경우 포드 간 트래픽에 SNAT 규칙이 적용됩니다. 이를 방지하기 위해 다음 2가지 옵션이 있습니다.
--disable-default-snat
플래그로 클러스터를 만듭니다. 이 플래그에 대한 자세한 내용은 GKE의 IP 매스커레이딩을 참조하세요.- 최소한 포드 CIDR, 서비스 CIDR, 노드 서브넷을
nonMasqueradeCIDRs
목록에 포함하여 configMapip-masq-agent
을 구성합니다.
IPv4/IPv6 이중 스택 네트워크를 사용하여 이중 스택 클러스터 만들기
신규 또는 기존 이중 스택 서브넷에서 IPv4/IPv6 이중 스택 네트워킹으로 클러스터를 만들 수 있습니다.
이 섹션에서는 다음 작업을 완료하는 방법을 보여줍니다.
- 이중 스택 서브넷을 만듭니다(Autopilot 클러스터 버전 1.25 이상 및 Standard 클러스터 버전 1.24 이상에서 가능).
- 기존 서브넷을 이중 스택 서브넷으로 업데이트합니다(Autopilot 클러스터 버전 1.25 이상 및 Standard 클러스터 버전 1.24 이상에서 가능).
- 이중 스택 네트워킹으로 클러스터를 만듭니다(Autopilot 클러스터 버전 1.25 이상 및 Standard 클러스터 버전 1.24 이상에서 가능). 이중 스택 서브넷을 사용하면 GKE Autopilot 클러스터가 기본적으로 이중 스택 클러스터로 설정됩니다. 클러스터를 만든 후 Autopilot 클러스터를 IPv4 전용으로 업데이트할 수 있습니다.
- 이중 스택 클러스터와 이중 스택 서브넷을 동시에 만듭니다(Autopilot 클러스터 버전 1.25 이상 및 Standard 클러스터 버전 1.24 이상에서 가능).
이중 스택 네트워킹 개요를 사용하는 GKE 클러스터의 이점과 요구사항에 대한 자세한 내용은 VPC 기반 클러스터 문서를 참조하세요.
이중 스택 서브넷 만들기
이중 스택 서브넷을 만들려면 다음 명령어를 실행합니다.
gcloud compute networks subnets create SUBNET_NAME \
--stack-type=ipv4-ipv6 \
--ipv6-access-type=ACCESS_TYPE \
--network=NETWORK_NAME \
--range=PRIMARY_RANGE \
--region=COMPUTE_REGION
다음을 바꿉니다.
SUBNET_NAME
: 선택한 서브넷의 이름입니다.ACCESS_TYPE
: 공개 인터넷으로의 라우팅 가능 여부입니다. 비공개 클러스터의 경우INTERNAL
, 공개 클러스터의 경우EXTERNAL
입니다.--ipv6-access-type
을 지정하지 않으면 기본 액세스 유형이EXTERNAL
입니다.NETWORK_NAME
: 새 서브넷을 포함할 네트워크의 이름입니다. 이 네트워크는 다음 조건을 충족해야 합니다.- 커스텀 모드 VPC 네트워크여야 합니다. 자세한 내용은 자동 모드에서 커스텀 모드로 VPC 네트워크를 전환하는 방법을 참조하세요.
ACCESS_TYPE
을INTERNAL
로 바꾸는 경우 네트워크가 고유한 로컬 IPv6 유니캐스트 주소(ULA)를 사용해야 합니다.
PRIMARY_RANGE
: CIDR 표기법으로 표시된 새 서브넷의 기본 IPv4 IP 주소 범위입니다. 자세한 내용은 서브넷 범위를 참조하세요.COMPUTE_REGION
: 클러스터의 컴퓨팅 리전입니다.
기존 서브넷을 이중 스택 서브넷으로 업데이트
기존 서브넷을 이중 스택 서브넷으로 업데이트하려면 다음 명령어를 실행합니다. 서브넷을 업데이트해도 서브넷의 기존 IPv4 클러스터에는 영향을 주지 않습니다.
gcloud compute networks subnets update SUBNET_NAME \
--stack-type=ipv4-ipv6 \
--ipv6-access-type=ACCESS_TYPE \
--region=COMPUTE_REGION
다음을 바꿉니다.
SUBNET_NAME
: 서브넷의 이름입니다.ACCESS_TYPE
: 공개 인터넷으로의 라우팅 가능 여부입니다. 비공개 클러스터의 경우INTERNAL
, 공개 클러스터의 경우EXTERNAL
입니다.--ipv6-access-type
을 지정하지 않으면 기본 액세스 유형이EXTERNAL
입니다.COMPUTE_REGION
: 클러스터의 컴퓨팅 리전입니다.
이중 스택 네트워킹으로 클러스터 만들기
기존 이중 스택 서브넷으로 클러스터를 만들려면 gcloud CLI
또는 Google Cloud 콘솔을 사용합니다.
gcloud
Autopilot 클러스터의 경우 다음 명령어를 실행합니다.
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
다음을 바꿉니다.
CLUSTER_NAME
: 새 Autopilot 클러스터의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.NETWORK_NAME
: 서브넷이 포함된 VPC 네트워크의 이름입니다. 이 VPC 네트워크는 커스텀 모드 VPC 네트워크여야 합니다. 자세한 내용은 자동 모드에서 커스텀 모드로 VPC 네트워크를 전환하는 방법을 참조하세요.SUBNET_NAME
: 이중 스택 서브넷의 이름입니다. 자세한 내용은 이중 스택 서브넷을 만드는 방법을 참조하세요.이중 스택 서브넷을 사용하면 GKE Autopilot 클러스터가 기본적으로 이중 스택 클러스터로 설정됩니다. 클러스터를 만든 후 Autopilot 클러스터를 IPv4 전용으로 업데이트할 수 있습니다.
Standard 클러스터의 경우 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --enable-ip-alias \ --enable-dataplane-v2 \ --stack-type=ipv4-ipv6 \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME \ --location=COMPUTE_LOCATION
다음을 바꿉니다.
CLUSTER_NAME
: 새 클러스터의 이름NETWORK_NAME
: 서브넷이 포함된 VPC 네트워크의 이름입니다. 이 VPC 네트워크는 고유한 로컬 IPv6 유니캐스트 주소(ULA)를 사용하는 커스텀 모드 VPC 네트워크여야 합니다. 자세한 내용은 자동 모드에서 커스텀 모드로 VPC 네트워크를 전환하는 방법을 참조하세요.SUBNET_NAME
: 서브넷의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
콘솔
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
add_box만들기를 클릭합니다.
표준 또는 Autopilot 섹션에서 구성을 클릭합니다.
필요에 따라 클러스터를 구성합니다.
탐색창의 클러스터에서 네트워킹을 클릭합니다.
네트워크 목록에서 네트워크 이름을 선택합니다.
노드 서브넷 목록에서 이중 스택 서브넷 이름을 선택합니다.
Standard 클러스터의 경우 IPv4 및 IPv6(이중 스택) 라디오 버튼을 선택합니다. 이중 스택 서브넷을 선택한 경우에만 이 옵션을 사용할 수 있습니다.
이중 스택 서브넷을 사용하면 Autopilot 클러스터가 기본적으로 이중 스택 클러스터로 설정됩니다.
만들기를 클릭합니다.
이중 스택 클러스터 및 서브넷 동시에 만들기
서브넷과 이중 스택 클러스터를 동시에 만들 수 있습니다. GKE가 IPv6 서브넷을 만들고 서브넷에 외부 IPv6 기본 범위를 할당합니다.
Autopilot 클러스터의 경우 다음 명령어를 실행합니다.
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --create-subnetwork name=SUBNET_NAME
다음을 바꿉니다.
CLUSTER_NAME
: 새 Autopilot 클러스터의 이름입니다.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.NETWORK_NAME
: 서브넷이 포함된 VPC 네트워크의 이름입니다. 이 VPC 네트워크는 고유한 로컬 IPv6 유니캐스트 주소(ULA)를 사용하는 커스텀 모드 VPC 네트워크여야 합니다. 자세한 내용은 자동 모드에서 커스텀 모드로 VPC 네트워크를 전환하는 방법을 참조하세요.SUBNET_NAME
: 새 서브넷의 이름입니다. GKE가 조직 정책에 따라 서브넷을 만들 수 있습니다.- 조직 정책에서 이중 스택을 허용하고 네트워크가 커스텀 모드인 경우 GKE가 이중 스택 서브넷을 만들고 서브넷에 외부 IPv6 기본 범위를 할당합니다.
- 조직 정책에서 이중 스택을 허용하지 않거나 네트워크가 자동 모드인 경우에는 GKE에서 단일 스택(IPv4) 서브넷을 만듭니다.
Standard 클러스터의 경우 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME \ --enable-ip-alias \ --stack-type=ipv4-ipv6 \ --ipv6-access-type=ACCESS_TYPE \ --network=NETWORK_NAME \ --create-subnetwork name=SUBNET_NAME,range=PRIMARY_RANGE \ --location=COMPUTE_LOCATION
다음을 바꿉니다.
CLUSTER_NAME
: 선택한 새 클러스터의 이름입니다.ACCESS_TYPE
: 공개 인터넷으로의 라우팅 가능 여부입니다. 비공개 클러스터의 경우INTERNAL
, 공개 클러스터의 경우EXTERNAL
입니다.--ipv6-access-type
을 지정하지 않으면 기본 액세스 유형이EXTERNAL
입니다.NETWORK_NAME
: 새 서브넷을 포함할 네트워크의 이름입니다. 이 네트워크는 다음 조건을 충족해야 합니다.- 커스텀 모드 VPC 네트워크여야 합니다. 자세한 내용은 자동 모드에서 커스텀 모드로 VPC 네트워크를 전환하는 방법을 참조하세요.
ACCESS_TYPE
을INTERNAL
로 바꾸는 경우 네트워크가 고유한 로컬 IPv6 유니캐스트 주소(ULA)를 사용해야 합니다.
SUBNET_NAME
: 선택한 새 서브넷의 이름입니다.PRIMARY_RANGE
: CIDR 표기법으로 표시된 새 서브넷의 기본 IPv4 주소 범위입니다. 자세한 내용은 서브넷 범위를 참조하세요.COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
기존 클러스터의 스택 유형 업데이트
기존 클러스터의 스택 유형을 변경할 수 있습니다. 기존 클러스터의 스택 유형을 변경하기 전에 다음 제한사항을 고려하세요.
스택 유형 변경은 버전 1.25 이상을 실행하는 새 GKE 클러스터에서 지원됩니다. 버전 1.24에서 버전 1.25 또는 1.26으로 업그레이드된 GKE 클러스터에서 이중 스택 네트워크를 사용 설정할 때 검증 오류가 발생할 수 있습니다. 오류가 발생하면 Google Cloud 지원팀에 문의하세요.
스택 유형을 변경하면 GKE가 컨트롤 플레인 및 노드에서 구성요소를 모두 다시 시작하기 때문에 작업이 중단됩니다.
GKE는 노드를 다시 만들 때 구성된 유지보수 기간을 준수합니다. 즉, 다음 유지보수 기간이 되기 전까지 해당 클러스터 스택 유형이 클러스터에서 작동하지 않습니다. 기다리지 않으려면
--cluster-version
플래그를 컨트롤 플레인에서 이미 실행 중인 것과 동일한 GKE 버전으로 설정하여 노드 풀을 수동으로 업그레이드합니다. 이러한 해결 방법을 사용하려면 gcloud CLI를 사용해야 합니다. 자세한 내용은 유지보수 기간 주의사항을 참조하세요.스택 유형을 변경해도 기존 서비스의 IP 제품군이 자동으로 변경되지 않습니다. 다음 조건이 적용됩니다.
- 단일 스택을 이중 스택으로 변경할 경우 기존 서비스는 단일 스택으로 유지됩니다.
- 이중 스택을 단일 스택으로 변경하면 IPv6 주소가 포함된 기존 서비스에 오류가 발생합니다. 서비스를 삭제하고 올바른
ipFamilies
로 서비스를 만듭니다. 자세한 내용은 배포 설정 방법 예시를 참조하세요.
기존 VPC 기반 클러스터를 업데이트하려면 gcloud CLI 또는 Google Cloud 콘솔을 사용하면 됩니다.
gcloud
다음 명령어를 실행합니다.
gcloud container clusters update CLUSTER_NAME \
--stack-type=STACK_TYPE \
--location=COMPUTE_LOCATION
다음을 바꿉니다.
CLUSTER_NAME
: 업데이트하려는 클러스터의 이름입니다.STACK_TYPE
: 스택 유형입니다. 다음 값 중 하나로 바꿉니다.ipv4
: 이중 스택 클러스터를 IPv4 전용 클러스터로 업데이트합니다. GKE에서 클러스터 서브넷의 기본 IPv4 주소 범위를 사용합니다.ipv4-ipv6
: 기존 IPv4 클러스터를 이중 스택으로 업데이트합니다. 기본 서브넷이 이중 스택을 지원하는 경우에만 클러스터를 이중 스택으로 변경할 수 있습니다. 자세한 내용은 기존 서브넷을 이중 스택 서브넷으로 업데이트를 참조하세요.
COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
콘솔
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
수정하려는 클러스터 옆에 있는 more_vert작업을 클릭한 다음 edit 수정을 클릭합니다.
네트워킹 섹션에서 스택 유형 옆에 있는 edit 수정을 클릭합니다.
스택 유형 수정 대화상자에서 필요한 클러스터 스택 유형의 체크박스를 선택합니다.
변경사항 저장을 클릭합니다.
IPv4/IPv6 이중 스택 서비스 만들기
ClusterIP
또는 NodePort
유형의 IPv4/IPv6 이중 스택 서비스를 만들 수 있습니다.
버전 1.29 이상을 실행하는 새 GKE 클러스터는 LoadBalancer
유형의 이중 스택 서비스를 지원합니다. 자세한 내용은 IPv4/IPv6 이중 스택 LoadBalancer 서비스를 참조하세요.
이러한 각 서비스 유형의 경우 ipFamilies
및 ipFamilyPolicy
필드를 IPv4, IPv6 또는 이중 스택으로 정의할 수 있습니다. 자세한 내용은 IPv4/IPv6 이중 스택 서비스를 참조하세요.
스택 유형, 포드, 서비스 IP 주소 범위 확인
VPC 기반 클러스터를 만든 후 포드와 서비스 범위를 확인할 수 있습니다.
gcloud
클러스터를 확인하려면 다음 명령어를 실행합니다.
gcloud container clusters describe CLUSTER_NAME
출력에 ipAllocationPolicy
블록이 포함됩니다. stackType
필드는 네트워크 정의 유형을 설명합니다. 각 유형마다 다음 네트워크 정보를 확인할 수 있습니다.
IPv4 네트워크 정보:
clusterIpv4Cidr
은 포드의 보조 범위입니다.servicesIpv4Cidr
은 서비스의 보조 범위입니다.
IPv6 네트워크 정보(클러스터에 이중 스택 네트워킹이 있는 경우):
ipv6AccessType
: 공개 인터넷으로의 라우팅 가능 여부입니다. 비공개 IPv6 주소의 경우INTERNAL
, 공개 IPv6 주소의 경우EXTERNAL
입니다.subnetIpv6CidrBlock
: 새 서브넷의 보조 IPv6 주소 범위입니다.servicesIpv6CidrBlock
: 이중 스택 클러스터에서 IPv6 서비스에 할당된 주소 범위입니다.
콘솔
클러스터를 확인하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
클러스터 목록에서 검사하려는 클러스터 이름을 클릭합니다.
보조 범위는 네트워킹 섹션에 표시됩니다.
- 포드 주소 범위는 포드의 보조 범위입니다.
- 서비스 주소 범위는 서비스의 보조 범위입니다.
문제 해결
이 섹션에서는 VPC 기반 클러스터와 관련된 문제를 해결하는 방법을 설명합니다. GKE IP 주소 사용률 통계도 볼 수 있습니다.기본 네트워크 리소스가 준비되지 않음
- 증상
다음과 비슷한 오류 메시지가 표시됩니다.
projects/[PROJECT_NAME]/regions/XXX/subnetworks/default
- 가능한 원인
동일한 서브넷에 동시 작업이 있습니다. 예를 들어 서브넷에 다른 VPC 기반 클러스터를 만들거나, 보조 범위를 추가하거나 삭제하는 경우가 있습니다.
- 해결 방법
명령어를 재실행합니다.
잘못된 IPCidrRange
값입니다.
- 증상
다음과 비슷한 오류 메시지가 표시됩니다.
resource.secondaryIpRanges[1].ipCidrRange': 'XXX'. Invalid IPCidrRange: XXX conflicts with existing subnetwork 'default' in region 'XXX'
- 가능한 원인
다른 VPC 기반 클러스터가 동시에 생성되고 동일한 VPC 네트워크에 동일한 범위를 할당하려고 합니다.
동일한 VPC 네트워크의 서브네트워크에 동일한 보조 범위가 추가됩니다.
- 해결 방법
보조 범위를 지정하지 않은 경우 클러스터를 만들 때 이 오류가 반환되면 클러스터 생성 명령어를 재실행합니다.
포드의 IP 주소 여유 공간 부족
- 증상
클러스터가 장기간 프로비저닝 상태에서 멈춰 있습니다.
클러스터 생성이 관리형 인스턴스 그룹(MIG) 오류를 반환합니다.
클러스터에 노드를 하나 이상 추가하면 다음 오류가 표시됩니다.
[IP_SPACE_EXHAUSTED] Instance 'INSTANCE_NAME' creation failed: IP space of 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME-SECONDARY_RANGE_NAME' is exhausted.
- 가능한 원인
노드 IP 주소 소진: 클러스터에 할당된 서브넷의 기본 IP 주소 범위에 사용 가능한 IP 주소가 부족합니다. 이러한 문제는 일반적으로 노드 풀을 확장하거나 대규모 클러스터를 만들 때 발생합니다.
포드 IP 주소 소진: 클러스터에 할당된 포드 CIDR 범위가 가득 찼습니다. 이 문제는 특히 노드당 포드 밀도가 높거나 대규모 배포의 경우 포드 수가 포드 CIDR 용량을 초과할 때 발생합니다.
특정 서브넷 이름 지정 규칙: 오류 메시지에서 서브넷 이름이 지정되는 방식은 노드 IP 주소 범위(노드 자체가 IP 주소를 가져오는 위치) 또는 포드 IP 주소 범위(포드 내부의 컨테이너가 IP 주소를 가져오는 위치)에 문제가 있는지 확인하는 데 도움이 될 수 있습니다.
보조 범위 소진(Autopilot): Autopilot 클러스터에서 확장 또는 높은 포드 밀도로 인해 포드 IP 주소에 할당된 보조 범위가 소진됩니다.
- 솔루션
이름, 컨트롤 플레인 버전, 작업 모드, 연결된 VPC 이름, 서브넷 이름 및 CIDR과 같은 클러스터에 대한 정보를 수집합니다. 또한 기본 및 추가 클러스터 포드 IPv4 범위(이름 및 CIDR 포함), VPC 기반 트래픽 라우팅 사용 설정 여부, 클러스터 및 노드 풀 수준의 노드당 최대 포드 수 설정(해당하는 경우)을 확인합니다. 클러스터 전체 설정과 다른 경우 영향을 받는 노드 풀과 특정 IPv4 포드 IP 주소 범위, 노드 구성당 최대 포드 수를 확인합니다. 또한 노드 풀 구성에서 노드당 최대 포드 수의 기본 및 커스텀 구성(있는 경우)을 기록합니다.
IP 주소 소진 문제 확인
Network Intelligence Center: GKE 클러스터의 Network Intelligence Center에 있는 포드 IP 주소 범위에서 높은 IP 주소 할당 비율을 확인합니다.
Network Intelligence Center 내 포드 범위에서 IP 주소 할당 비율이 높으면 포드 IP 주소 범위가 소진된 것입니다.
포드 IP 주소 범위에 일반적인 할당 비율이 표시되지만 IP 주소 소진이 계속 발생하는 경우 노드 IP 주소 범위가 소진되었을 수 있습니다.
감사 로그:
IP_SPACE_EXHAUSTED
항목의resourceName
필드를 확인하여 서브넷 이름 또는 보조 포드 IP 주소 범위 이름과 비교합니다.소진된 IP 주소 범위가 노드 IP 주소 범위인지 포드 IP 주소 범위인지 확인합니다.
소진된 IP 주소 범위가 노드 IP 주소 범위인지 포드 IP 주소 범위인지 확인하려면
IP_SPACE_EXHAUSTED
로그 항목의ipSpaceExhausted
부분에서resourceName
의 값이 영향을 받는 GKE 클러스터에서 사용되는 포드의 서브넷 이름 또는 보조 IPv4 주소 범위 이름과 상관관계가 있는지 확인합니다.resourceName
값이 '[Subnet_name]' 형식이면 노드 IP 주소 범위가 소진된 것입니다. resourceName의 값이 '[Subnet_name]-[Name_of_Secondary_IPv4_range_for_pods]-[HASH_8BYTES]' 형식이면 포드 IP 주소 범위가 소진된 것입니다.
포드 IP 주소 소진을 해결합니다.
- 기존 포드 CIDR 크기 조절: 현재 포드 IP 주소 범위의 크기를 늘립니다. 연속되지 않은 멀티 포드 CIDR을 사용하여 포드 IP 범위를 클러스터에 추가할 수 있습니다.
- 추가 서브넷 만들기: 전용 포드 CIDR이 있는 서브넷을 클러스터에 추가합니다.
노드당 포드를 줄여 IP 주소를 확보합니다.
- 노드당 최대 포드 수를 줄여 새 노드 풀을 만듭니다.
- 워크로드를 노드 풀로 마이그레이션한 후 이전 노드 풀을 삭제합니다. 노드당 최대 포드 수를 줄이면 포드의 고정 보조 IP 주소 범위에서 더 많은 노드를 지원할 수 있습니다. 관련 계산에 대한 자세한 내용은 포드의 서브넷 보조 IP 주소 범위 및 노드 제한 범위를 참조하세요.
주소 노드 IP 주소 소진:
- IP 주소 계획 검토: 노드 IP 주소 범위가 확장 요구사항과 일치하는지 확인합니다.
- 새 클러스터 만들기(필요한 경우): 노드 IP 주소 범위가 크게 제한된 경우 적절한 IP 주소 범위 크기로 대체 클러스터를 만듭니다. VPC 기반 클러스터의 IP 범위 및 IP 범위 계획을 참조하세요.
기본 SNAT가 사용 중지되었는지 여부 확인
다음 명령어를 사용하여 기본 SNAT 상태를 확인합니다.
gcloud container clusters describe CLUSTER_NAME
CLUSTER_NAME
을 클러스터 이름으로 바꿉니다.
출력은 다음과 비슷합니다.
networkConfig:
disableDefaultSnat: true
network: ...
--enable-ip-alias
없이 --disable-default-snat
을 사용할 수 없음
이 오류 메시지 및 must disable default sNAT (--disable-default-snat)
before using public IP address privately in the cluster
는 비공개 클러스터에서 공개 IP 주소를 사용하기 때문에 클러스터를 만들 때 --disable-default-snat
플래그를 명시적으로 설정해야 함을 나타냅니다.
cannot disable default sNAT ...
와 같은 오류 메시지가 표시되면 클러스터에서 기본 SNAT를 사용 중지할 수 없음을 나타냅니다. 이 문제를 해결하려면 클러스터 구성을 검토합니다.
기본 SNAT가 사용 중지된 Cloud NAT 디버깅
--disable-default-snat
플래그로 비공개 클러스터가 생성되었고, 인터넷 액세스를 위해 Cloud NAT가 설정된 상태에서 포드의 인터넷 연결 트래픽이 보이지 않을 때는 포드 범위가 Cloud NAT 구성에 포함되어 있는지 확인하세요.
포드 간 통신에 문제가 있으면 노드에서 iptables 규칙을 조사하여 포드 범위가 iptables 규칙으로 매스커레이드되지 않았는지 확인하세요.
자세한 내용은 GKE IP 매스커레이드 문서를 참조하세요.클러스터에 대해 IP 매스커레이드 에이전트를 구성하지 않은 경우 GKE는 자동으로 포드 간 통신이 매스커레이드되지 않도록 합니다. 그러나 IP 매스커레이드 에이전트가 구성되어 있으면 기본 IP 매스커레이드 규칙보다 우선 적용됩니다. IP 매스커레이드 에이전트에서 포드 범위 매스커레이드를 무시하도록 추가 규칙이 구성되었는지 확인하세요.
이중 스택 클러스터 네트워크 통신이 예상대로 작동하지 않음
- 가능한 원인
- GKE 클러스터에서 만든 방화벽 규칙에 할당된 IPv6 주소가 포함되지 않습니다.
- 해결 방법
- 다음 단계에 따라 방화벽 규칙을 검증할 수 있습니다.
방화벽 규칙 콘텐츠를 확인합니다.
gcloud compute firewall-rules describe FIREWALL_RULE_NAME
FIREWALL_RULE_NAME
을 방화벽 규칙의 이름으로 바꿉니다.각 이중 스택 클러스터는 노드와 포드가 서로 통신하도록 허용하는 방화벽 규칙을 만듭니다. 방화벽 규칙 콘텐츠는 다음과 비슷합니다.
allowed: - IPProtocol: esp - IPProtocol: ah - IPProtocol: sctp - IPProtocol: tcp - IPProtocol: udp - IPProtocol: '58' creationTimestamp: '2021-08-16T22:20:14.747-07:00' description: '' direction: INGRESS disabled: false enableLogging: false id: '7326842601032055265' kind: compute#firewall logConfig: enable: false name: gke-ipv6-4-3d8e9c78-ipv6-all network: https://www.googleapis.com/compute/alpha/projects/my-project/global/networks/alphanet priority: 1000 selfLink: https://www.googleapis.com/compute/alpha/projects/my-project/global/firewalls/gke-ipv6-4-3d8e9c78-ipv6-all selfLinkWithId: https://www.googleapis.com/compute/alpha/projects/my-project/global/firewalls/7326842601032055265 sourceRanges: - 2600:1900:4120:fabf::/64 targetTags: - gke-ipv6-4-3d8e9c78-node
sourceRanges
값이subnetIpv6CidrBlock
과 동일해야 합니다.targetTags
값이 GKE 노드의 태그와 동일해야 합니다. 이 문제를 해결하려면 클러스터ipAllocationPolicy
블록 정보를 사용하여 방화벽 규칙을 업데이트하세요.
클러스터 삭제 중에 Private Service Connect 엔드포인트가 유출될 수 있습니다.
- 증상
Private Service Connect 기반 클러스터의 Private Service Connect에서 연결된 엔드포인트를 볼 수 없습니다.
엔드포인트가 Private Service Connect가 할당된 서브넷 또는 VPC 네트워크는 삭제할 수 없습니다. 다음과 유사한 오류 메시지가 나타납니다.
projects/<PROJECT_ID>/regions/<REGION>/subnetworks/<SUBNET_NAME> is already being used by projects/<PROJECT_ID>/regions/<REGION>/addresses/gk3-<ID>
- 가능한 원인
Private Service Connect를 사용하는 GKE 클러스터에서 GKE는 컨트롤 플레인의 네트워크에서 클러스터 컨트롤 플레인에 액세스할 수 있도록 내부 IP 주소를 할당하는 전달 규칙을 사용하여 Private Service Connect 엔드포인트를 배포합니다. Private Service Connect를 사용하여 컨트롤 플레인과 노드 간의 통신을 보호하기 위해 GKE는 엔드포인트를 표시하지 않으며 Google Cloud 콘솔 또는 gcloud CLI에서 볼 수 없습니다.
- 해결 방법
클러스터를 삭제하기 전 Private Service Connect 엔드포인트 유출을 방지하려면 다음 단계를 완료하세요.
Kubernetes Engine Service Agent role
을 GKE 서비스 계정에 할당합니다.compute.forwardingRules.*
및compute.addresses.*
권한이 GKE 서비스 계정에서 명시적으로 거부되지 않았는지 확인합니다.
Private Service Connect 엔드포인트가 유출되면 지원팀에 문의하세요.