Cloud Code for VS Code で限定公開クラスタを構成する

限定公開クラスタは、内部 IP アドレスのみに依存する Virtual Private Cloud(VPC)ネイティブ クラスタです。つまり、デフォルトでノードと Pod はインターネットから隔離されています。このページでは、Cloud Code を使用して、パブリック エンドポイント アクセスの有無にかかわらず限定公開クラスタに接続し、限定公開クラスタが Google Cloud の外部からリソースにアクセスできるようにする方法について説明します。

限定公開クラスタの詳細については、限定公開クラスタをご覧ください。 限定公開クラスタを構成する手順については、限定公開クラスタの作成をご覧ください。

KubeConfig に限定公開 GKE クラスタを追加する

Cloud Code に限定公開クラスタを追加した際の動作を以下に示します。

  • パブリック エンドポイントが有効になっているクラスタの場合、クラスタを追加すると、KubeConfig のクラスタ アドレスが外部 IP に設定されます。

  • パブリック エンドポイントが無効になっているクラスタでは、クラスタを追加して、KubeConfig のクラスタ アドレスをクラスタの内部 VPC IP に設定します。

承認済みネットワークを既存のクラスタに追加するには、そのクラスタで承認済みネットワークが有効になっていて、承認済みネットワークに接続していることを確認してください。

外部 IP アドレスを持たない VM への接続について詳しくは、VM インスタンスへの安全な接続をご覧ください。 作成したインスタンスを管理または削除するには、VM インスタンスをご覧ください。

限定公開クラスタに正常に接続するには、Cloud Code がクラスタのネットワーク内のマシンで実行されているか、プロキシ サーバー、Cloud Interconnect、または Cloud VPN を使用して、クラスタのネットワークにアクセスできる必要があります。

Cloud Code で GKE クラスタを作成し、既存の GKE クラスタを Cloud Code に追加する手順については、GKE クラスタの作成と構成をご覧ください。 Cloud Code によって Google Cloud コンソールが開き、クラスタが作成されます。

クラスタを作成した後、クラスタの作成時に設定されていない場合は、Cloud NAT を構成してクラスタからの送信インターネット接続を有効にします。作成したネットワークを管理または削除するには、VPC ネットワークをご覧ください。

限定公開クラスタへの接続に関する問題のトラブルシューティング

開発環境が限定公開クラスタにアクセスするように正しく構成されていない場合、問題を解決するための推奨事項が次のコンテキストに表示されます。

  • 展開した [Kubernetes] セクションで、Cloud Code が接続できないクラスタは、クラスタ名の横にエラーアイコンが付された状態で表示されます。考えられる回避策と潜在的な問題の詳細な説明を表示するには、クラスタ名をクリックします。

  • 限定公開クラスタの構成に問題があるためにアクセスできないクラスタに対してオペレーションを実行しようとすると、通知により、潜在的な問題と回避策の可能性を示すエラー メッセージが表示されます。

クラスタのプロキシ サーバーを構成する

パブリック エンドポイントが無効になっている GKE クラスタなど、コントロール プレーン API が一般公開されていない場合は、クラスタと同じネットワークまたは VPC 上のプロキシ サーバーを介してリクエストをコントロール プレーンにプロキシするように Cloud Code を構成できます。

  1. クラスタと同じネットワーク上にプロキシ サーバーをまだ構成していない場合は、構成します。Compute Engine VM を基本プロキシ サーバーとして設定する手順については、踏み台インスタンスを使用した限定公開クラスタへのリモート アクセスをご覧ください。詳細については、コントローラ アクセス用のネットワーク プロキシを使用した Google Kubernetes Engine 限定公開クラスタの作成をご覧ください。
  2. Cloud Code に追加したクラスタの名前を右クリックし、[クラスタ用の Kubectl プロキシを設定] をクリックします。プロンプトに従って、プロキシ サーバーの名前を入力します。これは、クラスタの proxy-url フィールドに格納されます。Kubernetes ビューが再読み込みされ、接続されたクラスタが表示されます。

Kubernetes プロキシをキャンセルする

Kubernetes プロキシ用に構成したクラスタの名前を右クリックし、[クラスタ用の Kubectl プロキシをキャンセル] をクリックします。Cloud Code は、KubeConfig の proxy-url フィールドの設定を解除して、クラスタのリクエストのプロキシを停止します。

クラスタから Google Cloud 外のリソースへアクセスする

GKE 限定公開クラスタのすべての構成では、ノードにインターネット アクセスは提供されません。その結果、クラスタは公共のインターネット上の API に到達できません。クラスタは限定公開の Google アクセスで自動的に構成されます。これにより、クラスタは Artifact Registry または Container Registry からイメージを pull できます。ノードからの送信インターネット接続を許可する追加の構成がない場合、Google Cloud の外部にある API とイメージ レジストリにはアクセスできません。これらの接続を提供するには、Cloud Code から VPC に Cloud NAT を設定します。

  1. クラスタを右クリックするか、コマンド パレット(Ctrl/Cmd +Shift +Pを押下または、表示 > コマンド パレットをクリック)を使用して、プライベート GKE ノードにインターネットへの送信アクセスを許可する コマンドを実行します。
  2. ターミナルで、gcloud compute routers creategcloud beta compute routers nats create コマンドを編集してアプリケーションの値を指定します。
  3. コマンドを実行するには、Enter を押します。
  4. 作成したルーターを管理または削除するには、Cloud Router をご覧ください。

次のステップ

サポートを利用する

フィードバックを送信するには、GitHub で問題を報告します。または、Stack Overflow で質問します。