限定公開クラスタを作成する


このページでは、VPC ネイティブ クラスタの一種である限定公開の Google Kubernetes Engine(GKE)クラスタを作成する方法について説明します。限定公開クラスタでは、ノードに内部 IP アドレスしかないため、ノードと Pod がデフォルトでインターネットから隔離されます。コントロール プレーンへのクライアント アクセスは、禁止、制限、または無制限に設定できます。

既存の非限定公開クラスタを限定公開クラスタに変換することはできません。限定公開クラスタの仕組みについて詳しくは、限定公開クラスタの概要をご覧ください。

制限事項

限定公開クラスタは、VPC ネイティブ クラスタである必要があります。VPC ネイティブ クラスタは、レガシー ネットワークをサポートしていません。

限定公開クラスタを作成する際の IP アドレス範囲とトラフィックに関するルールを表示するには、次のセクションを開きます。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にします。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化します。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得します。
  • クラスタを作成するための適切な権限があることを確認します。少なくとも、Kubernetes Engine Cluster 管理者である必要があります。

  • デフォルト インターネット ゲートウェイへのルートがあることを確認します。

パブリック エンドポイントへのクライアント アクセス権のない限定公開クラスタの作成

このセクションでは、次のリソースを作成します。

  • private-cluster-0 という名前の限定公開クラスタ。このクラスタには限定公開ノードはありますが、パブリック エンドポイントへのクライアント アクセス権はありません。
  • my-net-0 という名前のネットワーク。
  • my-subnet-0 という名前のサブネット。

コンソール

ネットワークとサブネットを作成する

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

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

  2. [ VPC ネットワークを作成] をクリックします。

  3. [名前] に「my-net-0」と入力します。

  4. [サブネット作成モード] で [カスタム] を選択します。

  5. [新しいサブネット] セクションの [名前] に「my-subnet-0」を入力します。

  6. [リージョン] リストで、目的のリージョンを選択します。

  7. [IP アドレス範囲] に「10.2.204.0/22」と入力します。

  8. [限定公開の Google アクセス] を [オン] に設定します。

  9. [完了] をクリックします。

  10. [作成] をクリックします。

限定公開クラスタを作成する

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックし、[Standard] セクションまたは [Autopilot] セクションで [構成] をクリックします。

  3. [名前] に private-cluster-0 を指定します。

  4. ナビゲーション パネルで [ネットワーキング] をクリックします。

  5. [ネットワーク] リストで [my-net-0] を選択します。

  6. [ノードのサブネット] リストで [my-subnet-0] を選択します。

  7. [限定公開クラスタ] をオンにします。

  8. [外部 IP アドレスを使用してコントロール プレーンにアクセス] チェックボックスをオフにします。

  9. (Autopilot の場合は省略可): [コントロール プレーンの IP 範囲] を 172.16.0.32/28 に設定します。

  10. [作成] をクリックします。

gcloud

  • Autopilot クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create-auto private-cluster-0 \
        --create-subnetwork name=my-subnet-0 \
        --enable-master-authorized-networks \
        --enable-private-nodes \
        --enable-private-endpoint
    
  • Standard クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create private-cluster-0 \
        --create-subnetwork name=my-subnet-0 \
        --enable-master-authorized-networks \
        --enable-ip-alias \
        --enable-private-nodes \
        --enable-private-endpoint \
        --master-ipv4-cidr 172.16.0.32/28
    

ここで

  • --create-subnetwork name=my-subnet-0 を指定すると、GKE によって my-subnet-0 という名前のサブネットが自動的に作成されます。
  • --enable-master-authorized-networks を指定すると、パブリック エンドポイントへのアクセスが承認された IP アドレス範囲に制限されます。
  • --enable-ip-alias は、クラスタを VPC ネイティブにします(Autopilot の場合は不要)。
  • --enable-private-nodes は、クラスタのノードに外部 IP アドレスがないことを示します。
  • --enable-private-endpoint は、クラスタがコントロール プレーン API エンドポイントの内部 IP アドレスを使用して管理されていることを示します。
  • --master-ipv4-cidr 172.16.0.32/28 は、コントロール プレーンの内部 IP アドレス範囲を指定します(Autopilot の場合は任意)。この設定はこのクラスタでは永続的であり、VPC 内で一意であることが必要です。RFC 1918 以外の内部 IP アドレスの使用がサポートされています。

API

公開アクセス可能なコントロール プレーンなしでクラスタを作成するには、privateClusterConfig リソースの enablePrivateEndpoint: true フィールドを指定します。

この時点では、コントロール プレーンにアクセスできる唯一の IP アドレスです。

  • my-subnet-0 のプライマリ範囲。
  • Pod に使用されるセカンダリ範囲。

たとえば、my-subnet-0 のプライマリ範囲に VM を作成したとします。その VM で、コントロール プレーンの内部 IP アドレスを使用するように kubectl を構成できます。

my-subnet-0 の外部からコントロール プレーンにアクセスする場合は、プライベート エンドポイントにアクセスするために少なくとも 1 つのアドレス範囲を承認する必要があります。

デフォルト ネットワーク内の VM が、クラスタと同じリージョンで my-subnet-0 とは別のサブネットにあるとします。

次に例を示します。

  • my-subnet-0: 10.0.0.0/22
  • Pod のセカンダリ範囲: 10.52.0.0/14
  • VM のアドレス: 10.128.0.3

VM にコントロール プレーンへのアクセスを承認するには、次のコマンドを使用します。

gcloud container clusters update private-cluster-0 \
    --enable-master-authorized-networks \
    --master-authorized-networks 10.128.0.3/32

パブリック エンドポイントへのアクセスが制限された限定公開クラスタの作成

この構成を使用して限定公開クラスタを作成すると、自動生成されたサブネットまたはカスタム サブネットを使用できます。

自動生成されたサブネットの使用

このセクションでは、private-cluster-1 という名前の限定公開クラスタを作成します。GKE は、このクラスタにクラスタノードのサブネットを自動的に生成します。サブネットでは、限定公開の Google アクセスが有効になっています。サブネット内で、GKE は Pod 用と Service 用の 2 つのセカンダリ範囲を自動的に作成します。

Google Cloud CLI または GKE API を使用できます。

gcloud

  • Autopilot クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create-auto private-cluster-1 \
        --create-subnetwork name=my-subnet-1 \
        --enable-master-authorized-networks \
        --enable-private-nodes
    
  • Standard クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create private-cluster-1 \
        --create-subnetwork name=my-subnet-1 \
        --enable-master-authorized-networks \
        --enable-ip-alias \
        --enable-private-nodes \
        --master-ipv4-cidr 172.16.0.0/28
    

ここで

  • --create-subnetwork name=my-subnet-1 を指定すると、GKE によって my-subnet-1 という名前のサブネットが自動的に作成されます。
  • --enable-master-authorized-networks を指定すると、パブリック エンドポイントへのアクセスが承認された IP アドレス範囲に制限されます。
  • --enable-ip-alias は、クラスタを VPC ネイティブにします(Autopilot の場合は不要)。
  • --enable-private-nodes は、クラスタのノードに外部 IP アドレスがないことを示します。
  • --master-ipv4-cidr 172.16.0.0/28 は、コントロール プレーンの内部 IP アドレス範囲を指定します(Autopilot の場合は任意)。この設定はこのクラスタでは永続的であり、VPC 内で一意であることが必要です。RFC 1918 以外の内部 IP アドレスの使用がサポートされています。

API

Cluster API リソースの privateClusterConfig フィールドを指定します。

{
  "name": "private-cluster-1",
  ...
  "ipAllocationPolicy": {
    "createSubnetwork": true,
  },
  ...
    "privateClusterConfig" {
      "enablePrivateNodes": boolean # Creates nodes with internal IP addresses only
      "enablePrivateEndpoint": boolean # false creates a cluster control plane with a publicly-reachable endpoint
      "masterIpv4CidrBlock": string # CIDR block for the cluster control plane
      "privateEndpoint": string # Output only
      "publicEndpoint": string # Output only
  }
}

この時点で、クラスタ コントロール プレーンにアクセスできる IP アドレスは次のものに限られます。

  • my-subnet-1 のプライマリ範囲。
  • Pod に使用されるセカンダリ範囲。

VPC ネットワークの外に、203.0.113.0/29 の範囲のアドレスを持つマシンのグループがあるとします。これらのマシンのパブリック エンドポイントへのアクセスを承認するには、次のコマンドを入力します。

gcloud container clusters update private-cluster-1 \
    --enable-master-authorized-networks \
    --master-authorized-networks 203.0.113.0/29

コントロール プレーンにアクセスできる唯一の IP アドレスは次のとおりです。

  • my-subnet-1 のプライマリ範囲。
  • Pod に使用されるセカンダリ範囲。
  • 承認したアドレス範囲(203.0.113.0/29 など)。

カスタム サブネットの使用

このセクションでは、次のリソースを作成します。

  • private-cluster-2 という名前の限定公開クラスタ。
  • my-net-2 という名前のネットワーク。
  • クラスタノード用の、プライマリ範囲が 192.168.0.0/20my-subnet-2 という名前のサブネット。サブネットには、次のセカンダリ アドレス範囲があります。
    • Pod の IP アドレスには my-pods を指定します。
    • Service の IP アドレスには my-services を指定します。

コンソール

ネットワーク、サブネット、セカンダリ範囲の作成

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

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

  2. [ VPC ネットワークを作成] をクリックします。

  3. [名前] に「my-net-2」と入力します。

  4. [サブネット作成モード] で [カスタム] を選択します。

  5. [新しいサブネット] セクションの [名前] に「my-subnet-2」を入力します。

  6. [リージョン] リストで、目的のリージョンを選択します。

  7. [IP アドレス範囲] に「192.168.0.0/20」と入力します。

  8. [セカンダリ IP 範囲を作成する] をクリックします。[サブネット範囲の名前] に「my-services」と入力し、[セカンダリ IP の範囲] に「10.0.32.0/20」と入力します。

  9. [IP の範囲を追加] をクリックします。[サブネット範囲の名前] に「my-pods」と入力し、[セカンダリ IP の範囲] に「10.4.0.0/14」と入力します。

  10. [限定公開の Google アクセス] を [オン] に設定します。

  11. [完了] をクリックします。

  12. [作成] をクリックします。

限定公開クラスタを作成する

サブネットを使用する限定公開クラスタを作成します。

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックし、[Standard] セクションまたは [Autopilot] セクションで [構成] をクリックします。

  3. [名前] に「private-cluster-2」と入力します。

  4. ナビゲーション パネルで [ネットワーキング] をクリックします。

  5. [限定公開クラスタ] をオンにします。

  6. 承認済みの外部 IP 範囲からアクセス可能なコントロール プレーンを作成するには、[外部 IP アドレスを使用してコントロール プレーンにアクセス] チェックボックスをオンのままにします。

  7. (Autopilot の場合は省略可)[コントロール プレーンの IP 範囲] を 172.16.0.16/28 に設定します。

  8. [ネットワーク] リストで、[my-net-2] を選択します。

  9. [ノードのサブネット] リストで [my-subnet-2] を選択します。

  10. [セカンダリ範囲を自動的に作成する] チェックボックスをオフにします。

  11. [Pod のセカンダリ CIDR 範囲] リストで [my-pods] を選択します。

  12. [サービスのセカンダリ CIDR 範囲] リストで [my-services] を選択します。

  13. [コントロール プレーン承認済みネットワークを有効にする] チェックボックスをオンにします。

  14. [作成] をクリックします。

gcloud

ネットワークの作成

まず、クラスタ用のネットワークを作成します。次のコマンドによって、ネットワーク my-net-2 が作成されます。

gcloud compute networks create my-net-2 \
    --subnet-mode custom

サブネットとセカンダリ範囲の作成

次に、ポッドのセカンダリ範囲を my-pods、サービスのセカンダリ範囲を my-services に設定して、my-net-2 ネットワークに my-subnet-2 サブネットを作成します。

gcloud compute networks subnets create my-subnet-2 \
    --network my-net-2 \
    --range 192.168.0.0/20 \
    --secondary-range my-pods=10.4.0.0/14,my-services=10.0.32.0/20 \
    --enable-private-ip-google-access

限定公開クラスタを作成する

作成したネットワーク、サブネット、セカンダリ範囲を使用して、限定公開クラスタ private-cluster-2 を作成します。

  • Autopilot クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create-auto private-cluster-2 \
        --enable-master-authorized-networks \
        --network my-net-2 \
        --subnetwork my-subnet-2 \
        --cluster-secondary-range-name my-pods \
        --services-secondary-range-name my-services \
        --enable-private-nodes
    
  • Standard クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create private-cluster-2 \
        --enable-master-authorized-networks \
        --network my-net-2 \
        --subnetwork my-subnet-2 \
        --cluster-secondary-range-name my-pods \
        --services-secondary-range-name my-services \
        --enable-private-nodes \
        --enable-ip-alias \
        --master-ipv4-cidr 172.16.0.16/28 \
        --no-enable-basic-auth \
        --no-issue-client-certificate
    

この時点では、コントロール プレーンにアクセスできる唯一の IP アドレスです。

  • my-subnet-2 のプライマリ範囲。
  • セカンダリ範囲 my-pods

my-net-2 の外に、203.0.113.0/29 の範囲のアドレスを持つマシンのグループがあるとします。これらのマシンのパブリック エンドポイントへのアクセスを承認するには、次のコマンドを入力します。

gcloud container clusters update private-cluster-2 \
    --enable-master-authorized-networks \
    --master-authorized-networks 203.0.113.0/29

この時点では、コントロール プレーンにアクセスできる唯一の IP アドレスです。

  • my-subnet-2 のプライマリ範囲。
  • セカンダリ範囲 my-pods
  • 承認したアドレス範囲(203.0.113.0/29 など)。

Cloud Shell を使用した限定公開クラスタへのアクセス

自動生成されたサブネットの使用セクションで作成した限定公開クラスタ、private-cluster-1 には、パブリック エンドポイントがあり、承認済みネットワークが有効になっています。Cloud Shell を使用してクラスタにアクセスする場合は、Cloud Shell の外部 IP アドレスをクラスタの承認済みネットワークのリストに追加する必要があります。

手順は次のとおりです。

  1. Cloud Shell のコマンドライン ウィンドウで、dig を使用して Cloud Shell の外部 IP アドレスを検索します。

    dig +short myip.opendns.com @resolver1.opendns.com
    
  2. Cloud Shell の外部アドレスをクラスタの承認済みネットワークのリストに追加します。

    gcloud container clusters update private-cluster-1 \
        --enable-master-authorized-networks \
        --master-authorized-networks EXISTING_AUTH_NETS,SHELL_IP/32
    

    次のように置き換えます。

    • EXISTING_AUTH_NETS: 承認済みネットワークの既存のリストの IP アドレス。Console で、または次のコマンドを実行して、承認済みネットワークを確認できます。

      gcloud container clusters describe private-cluster-1 --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
      
    • SHELL_IP: Cloud Shell の外部 IP アドレス。

  3. kubectl を使用してクラスタにアクセスできるように、認証情報を取得します。

    gcloud container clusters get-credentials private-cluster-1 \
        --project=PROJECT_ID \
        --internal-ip
    

    PROJECT_ID を実際のプロジェクト ID に置き換えます。

  4. Cloud Shell で kubectl を使用して、限定公開クラスタにアクセスします。

    kubectl get nodes
    

    出力は次のようになります。

    NAME                                               STATUS   ROLES    AGE    VERSION
    gke-private-cluster-1-default-pool-7d914212-18jv   Ready    <none>   104m   v1.21.5-gke.1302
    gke-private-cluster-1-default-pool-7d914212-3d9p   Ready    <none>   104m   v1.21.5-gke.1302
    gke-private-cluster-1-default-pool-7d914212-wgqf   Ready    <none>   104m   v1.21.5-gke.1302
    

パブリック エンドポイントへ無制限にアクセス可能な限定公開クラスタの作成

このセクションでは、任意の IP アドレスでコントロール プレーンにアクセスできる限定公開クラスタを作成します。

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックし、[Standard] セクションまたは [Autopilot] セクションで [構成] をクリックします。

  3. [名前] に「private-cluster-3」と入力します。

  4. ナビゲーション パネルで [ネットワーキング] をクリックします。

  5. [限定公開クラスタ] オプションを選択します。

  6. [外部 IP アドレスを使用してコントロール プレーンにアクセス] チェックボックスをオンのままにします。

  7. (Autopilot の場合は省略可)[コントロール プレーンの IP 範囲] を 172.16.0.32/28 に設定します。

  8. [ネットワーク] と [ノードのサブネット] を default に設定したままにします。これにより、GKE によってクラスタのサブネットが生成されます。

  9. [コントロール プレーン承認済みネットワークを有効にする] チェックボックスをオフにします。

  10. [作成] をクリックします。

gcloud

  • Autopilot クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create-auto private-cluster-3 \
        --create-subnetwork name=my-subnet-3 \
        --no-enable-master-authorized-networks \
        --enable-private-nodes
    
  • Standard クラスタの場合は、次のコマンドを実行します。

    gcloud container clusters create private-cluster-3 \
        --create-subnetwork name=my-subnet-3 \
        --no-enable-master-authorized-networks \
        --enable-ip-alias \
        --enable-private-nodes \
        --master-ipv4-cidr 172.16.0.32/28
    

ここで

  • --create-subnetwork name=my-subnet-3 を指定すると、GKE によって my-subnet-3 という名前のサブネットが自動的に作成されます。
  • --no-enable-master-authorized-networks は、クラスタの承認済みネットワークを無効にします。
  • --enable-ip-alias は、クラスタを VPC ネイティブにします(Autopilot の場合は不要)。
  • --enable-private-nodes は、クラスタのノードに外部 IP アドレスがないことを示します。
  • --master-ipv4-cidr 172.16.0.32/28 は、コントロール プレーンの内部 IP アドレス範囲を指定します(Autopilot の場合は任意)。この設定はこのクラスタでは永続的であり、VPC 内で一意であることが必要です。RFC 1918 以外の内部 IP アドレスの使用がサポートされています。

特定のユースケースに対するファイアウォール ルールの追加

このセクションでは、限定公開クラスタにファイアウォール ルールを追加する方法について説明します。デフォルトでは、クラスタ コントロール プレーンはポート 443(HTTPS)および 10250(kubelet)上のみでノードおよび Pod への TCP 接続を開始するようにファイアウォール ルールによって制限されています。一部の Kubernetes 機能では、他のポート上でアクセスを許可するためにファイアウォール ルールを追加する必要があります。自動的に作成されたファイアウォール ルールよりも高い優先度のファイアウォール ルールまたは階層型ファイアウォール ポリシー ルールを作成しないでください。

追加のファイアウォール ルールを必要とする Kubernetes 機能は次のとおりです。

ファイアウォール ルールを追加すると、クラスタ コントロール プレーンから次のポートへのトラフィックが許可されます。

  • 各ノードの指定ポート(hostPort)。
  • これらのノードで実行されている各 Pod の指定ポート。
  • こうしたノードで実行されている各 Service の指定ポート。

ファイアウォール ルールの詳細は、Cloud Load Balancing ドキュメントのファイアウォール ルールをご覧ください。

ファイアウォール ルールを限定公開クラスタに追加するには、使用するクラスタ コントロール プレーンの CIDR ブロックとターゲットを記録する必要があります。記録したらルールを作成します。

手順 1. コントロール プレーンの CIDR ブロックの表示

ファイアウォール ルールを追加するには、クラスタ コントロール プレーンの CIDR ブロックが必要です。

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. クラスタリストで、クラスタ名をクリックします。

[詳細] タブの [ネットワーキング] で、[コントロール プレーン アドレスの範囲] フィールドの値をメモしておきます。

gcloud

次のコマンドを実行します。

gcloud container clusters describe CLUSTER_NAME

CLUSTER_NAME は、使用する限定公開クラスタの名前に置き換えます。

コマンド出力で、masterIpv4CidrBlock フィールドの値をメモしておきます。

手順 2. 既存のファイアウォール ルールの表示

クラスタの既存のファイアウォール ルールが使用するターゲット(この場合は宛先ノード)を指定する必要があります。

コンソール

  1. Google Cloud コンソールの [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [VPC ファイアウォール ルール] の [テーブルをフィルタリング] に「gke-CLUSTER_NAME」と入力します。

結果として出力される [ターゲット] フィールドの値をメモしておきます。

gcloud

次のコマンドを実行します。

gcloud compute firewall-rules list \
    --filter 'name~^gke-CLUSTER_NAME' \
    --format 'table(
        name,
        network,
        direction,
        sourceRanges.list():label=SRC_RANGES,
        allowed[].map().firewall_rule().list():label=ALLOW,
        targetTags.list():label=TARGET_TAGS
    )'

コマンド出力で、[ターゲット] フィールドの値をメモしておきます。

手順 3. ファイアウォール ルールを追加する

コンソール

  1. Google Cloud コンソールの [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [ ファイアウォール ルールを作成] をクリックします。

  3. [名前] に、ファイアウォール ルールの名前を入力します。

  4. [ネットワーク] リストで、関連するネットワークを選択します。

  5. [トラフィックの方向] で [上り(内向き)] をクリックします。

  6. [一致したときのアクション] で [許可] をクリックします。

  7. [ターゲット] リストで、[指定されたターゲットタグ] を選択します。

  8. [ターゲットタグ] に、先ほどメモしたターゲット値を入力します。

  9. [ソースフィルタ] リストで、[IPv4 範囲] を選択します。

  10. [ソース IPv4 の範囲] に、クラスタ コントロール プレーンの CIDR ブロックを入力します。

  11. [プロトコルとポート] で [指定したプロトコルとポート] をクリックし、関連するプロトコル(tcpまたはudp)のチェックボックスを選択して、プロトコル フィールドにポート番号を入力します。

  12. [作成] をクリックします。

gcloud

次のコマンドを実行します。

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
    --action ALLOW \
    --direction INGRESS \
    --source-ranges CONTROL_PLANE_RANGE \
    --rules PROTOCOL:PORT \
    --target-tags TARGET

次のように置き換えます。

  • FIREWALL_RULE_NAME: ファイアウォール ルールに付ける名前。
  • CONTROL_PLANE_RANGE: 前の手順で確認したクラスタ コントロール プレーンの IP アドレス範囲(masterIpv4CidrBlock)。
  • PROTOCOL:PORT: ポートとそのプロトコル(tcp または udp)。
  • TARGET: 以前に収集した目標(Targets)値。

ノードに外部 IP アドレスがないことを確認する

限定公開クラスタの作成後は、クラスタのノードに外部 IP アドレスがないことを確認します。

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. クラスタのリストで、クラスタ名をクリックします。

  3. Autopilot クラスタの場合は、[クラスタの基本] セクションで [外部エンドポイント] フィールドを確認します。値は [無効] です。

Standard クラスタの場合は、次の操作を行います。

  1. [クラスタ] ページで、[ノード] タブをクリックします。
  2. [ノードプール] でノードプールの名前をクリックします。
  3. [ノードプールの詳細] ページの [インスタンス グループ] で、インスタンス グループの名前をクリックします。たとえば、gke-private-cluster-0-default-pool-5c5add1f-grp などです。
  4. インスタンスのリストで、インスタンスに外部 IP アドレスが指定されていないことを確認します。

gcloud

次のコマンドを実行します。

kubectl get nodes --output wide

出力の EXTERNAL-IP 列は空になります。

STATUS ... VERSION        EXTERNAL-IP  OS-IMAGE ...
Ready      v.8.7-gke.1                 Container-Optimized OS
Ready      v1.8.7-gke.1                Container-Optimized OS
Ready      v1.8.7-gke.1                Container-Optimized OS

クラスタでの VPC ピアリングの再利用を確認する

2020 年 1 月 15 日以降に作成した限定公開クラスタは、VPC ネットワーク ピアリング接続を再利用します

限定公開クラスタが VPC ネットワーク ピアリング接続を再利用するかどうかは、gcloud CLI または Google Cloud コンソールで確認できます。

コンソール

クラスタの詳細ページで「VPC ピアリング」行を調べます。クラスタが VPC ピアリング接続を再利用している場合、出力は gke-n で始まります。例: gke-n34a117b968dee3b2221-93c6-40af-peer

gcloud

gcloud container clusters describe CLUSTER_NAME \
    --format="value(privateClusterConfig.peeringName)"

クラスタが VPC ピアリング接続を再利用している場合、出力は gke-n で始まります。例: gke-n34a117b968dee3b2221-93c6-40af-peer

クリーンアップ

このページのタスクを完了したら、アカウントで不要な請求が発生しないように、以下の手順でリソースを削除します。

クラスタを削除する

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. 各クラスタを選択します。

  3. [ 削除] をクリックします。

gcloud

gcloud container clusters delete -q private-cluster-0 private-cluster-1 private-cluster-2 private-cluster-3

ネットワークを削除する

コンソール

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

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

  2. ネットワークのリストで、my-net-0 をクリックします。

  3. [VPC ネットワークの詳細] ページで、 [VPC ネットワークの削除] をクリックします。

  4. [ネットワークの削除] ダイアログで [削除] をクリックします。

gcloud

gcloud compute networks delete my-net-0

次のステップ