비공개 클러스터 모니터링


이 페이지에서는 Artifact Registry에서 이미지를 가져오는 등 비공개 클러스터를 모니터링하는 방법을 설명합니다.

클러스터의 서브넷 및 보조 주소 범위 확인

비공개 클러스터를 만든 후에는 사용자 또는 GKE가 클러스터에 프로비저닝한 서브넷 및 보조 주소 범위를 확인할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 서브넷 이름을 클릭합니다. 예를 들면 gke-private-cluster-0-subnet-163e3c97입니다.

  3. IP 주소 범위 아래에서 서브넷의 기본 주소 범위를 볼 수 있습니다. 노드에 사용된 범위입니다.

  4. 보조 IP 범위 아래에서 포드의 IP 주소 범위와 서비스의 범위를 볼 수 있습니다.

gcloud

모든 서브넷 나열

클러스터의 네트워크에 있는 서브넷을 나열하려면 다음 명령어를 실행합니다.

gcloud compute networks subnets list \
    --network NETWORK_NAME

NETWORK_NAME을 비공개 클러스터의 네트워크로 바꿉니다. 자동으로 생성된 서브넷을 사용하여 클러스터를 만든 경우 default를 사용합니다.

명령어 결과에서 클러스터의 서브넷 이름을 찾습니다.

클러스터의 서브넷 보기

자동 생성된 서브넷에 대한 정보를 가져옵니다.

gcloud compute networks subnets describe SUBNET_NAME

SUBNET_NAME을 서브넷 이름으로 바꿉니다.

출력에는 노드의 기본 주소 범위(첫 번째 ipCidrRange 필드)와 포드 및 서비스에 대한 보조 범위(secondaryIpRanges 아래)가 표시됩니다.

...
ipCidrRange: 10.0.0.0/22
kind: compute#subnetwork
name: gke-private-cluster-1-subnet-163e3c97
...
privateIpGoogleAccess: true
...
secondaryIpRanges:
- ipCidrRange: 10.40.0.0/14
  rangeName: gke-private-cluster-1-pods-163e3c97
- ipCidrRange: 10.0.16.0/20
  rangeName: gke-private-cluster-1-services-163e3c97
...

비공개 클러스터의 엔드포인트 보기

비공개 클러스터의 엔드포인트는 gcloud CLI 또는 Google Cloud 콘솔을 사용하여 볼 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 클러스터 목록에서 클러스터 이름을 클릭합니다.

  3. 세부정보 탭의 클러스터 기본사항에서 엔드포인트 필드를 찾습니다.

gcloud

다음 명령어를 실행합니다.

gcloud container clusters describe CLUSTER_NAME

출력에는 비공개 엔드포인트와 공개 엔드포인트가 모두 표시됩니다.

...
privateClusterConfig:
enablePrivateEndpoint: true
enablePrivateNodes: true
masterIpv4CidrBlock: 172.16.0.32/28
privateEndpoint: 172.16.0.34
publicEndpoint: 35.239.154.67

이미지 레지스트리에서 컨테이너 이미지 가져오기

비공개 클러스터에서 컨테이너 런타임은 Artifact Registry에서 컨테이너 이미지를 가져올 수 있습니다. 인터넷에 있는 다른 컨테이너 이미지 레지스트리에서는 이미지를 가져올 수 없습니다. 비공개 클러스터의 노드에는 외부 IP 주소가 없기 때문입니다. 따라서 기본적으로 Google Cloud 네트워크 외부의 서비스와 통신할 수 없습니다.

비공개 클러스터의 노드는 비공개 Google 액세스가 사용 설정된 서브넷에 있는 경우 Artifact Registry와 같은 Google Cloud 서비스와 통신할 수 있습니다.

다음 명령어는 Artifact Registry 저장소에서 샘플 이미지를 가져오는 배포를 만듭니다.

kubectl run hello-deployment --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0