このページでは、Artifact Registry からイメージをプルするなど、限定公開クラスタをモニタリングする方法について説明します。
クラスタのサブネットとセカンダリ アドレス範囲の表示
クラスタの作成後に、ユーザーまたは GKE によってクラスタに指定されたサブネットとセカンダリ アドレス範囲を表示できます。
コンソール
Google Cloud コンソールで [VPC ネットワーク] ページに移動します。
サブネットの名前をクリックします。例:
gke-private-cluster-0-subnet-163e3c97
[IP アドレス範囲] で、サブネットのプライマリ アドレス範囲を確認できます。サブネットワークのプライマリ範囲。
[セカンダリ 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 コンソールを使用します。
コンソール
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
クラスタリストで、クラスタ名をクリックします。
[詳細] タブの [クラスタの基本] で、[エンドポイント] フィールドを探します。
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