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

限定公開クラスタは、内部 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 Explorer では、Cloud Code が接続できないクラスタは、クラスタ名の横にエラーアイコンが付された状態で表示されます。

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

  • 限定公開クラスタのドキュメントを表示するには、クラスタを右クリックし、[限定公開クラスタのドキュメントを表示] を選択します。

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

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

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

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. Kubernetes Explorer で、クラスタを右クリックして [Grant Private GKE Internet] を選択します。
  2. ターミナルで、gcloud compute routers create コマンドと gcloud beta compute routers nats create コマンドを編集して、アプリケーションの値を指定します。限定公開クラスタが配置されている {REGION} を選択してください。リージョンのリストについては、リージョンとゾーンをご覧ください。
  3. コマンドを実行するには、Enter を押します。
  4. 作成したルーターを管理、および削除するには、Cloud Router をご覧ください。

次のステップ

サポートを受ける

IntelliJ IDE でフィードバックを送信するか、問題を報告するには、[Tools] > [Cloud Code] > [Help / About] > [Submit feedback or report an issue] を選択します。ここから、GitHub で問題を報告したり、Stack Overflow で質問したりできます。