限定公開クラスタをモニタリングする


このページでは、Artifact Registry からイメージをプルするなど、限定公開クラスタをモニタリングする方法について説明します。

クラスタのサブネットとセカンダリ アドレス範囲の表示

クラスタの作成後に、ユーザーまたは GKE によってクラスタに指定されたサブネットとセカンダリ アドレス範囲を表示できます。

コンソール

  1. Google Cloud コンソールで [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. サブネットの名前をクリックします。例: gke-private-cluster-0-subnet-163e3c97

  3. [IP アドレス範囲] で、サブネットのプライマリ アドレス範囲を確認できます。サブネットワークのプライマリ範囲。

  4. [セカンダリ IP 範囲] で、Pod の IP アドレス範囲とサービスのアドレス範囲を確認できます。

gcloud

すべてのサブネットの一覧表示

クラスタのネットワークのサブネットを一覧表示するには、次のコマンドを実行します。

gcloud compute networks subnets list \
    --network NETWORK_NAME

NETWORK_NAME を限定公開クラスタのネットワークに置き換えます。自動的に作成されたサブネットでクラスタを作成した場合は、default を使用します。

コマンド出力で、クラスタのサブネットの名前を見つけます。

クラスタのサブネットの表示

自動的に作成されたサブネットについての情報を取得します。

gcloud compute networks subnets describe SUBNET_NAME

SUBNET_NAME は、サブネットの名前に置き換えます。

出力には、ノード用のプライマリ アドレス範囲(最初の ipCidrRange フィールド)と Pod とサービス用のセカンダリ範囲(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

イメージ レジストリからコンテナ イメージを pull する

限定公開クラスタでは、コンテナ ランタイムはコンテナ イメージを Artifact Registry から pull できますが、インターネット上の他のコンテナ イメージ レジストリからイメージを pull することはできません。これは、限定公開クラスタ内のノードには外部 IP アドレスがなく、デフォルトでは Google Cloud ネットワーク外のサービスと通信できないためです。

限定公開クラスタ内のノードが、限定公開の Google アクセスが有効になっているサブネット上にある場合、Artifact Registry などの Google Cloud サービスと通信できます。

次のコマンドは、Artifact Registry リポジトリからサンプル イメージを pull する Deployment を作成します。

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