限定公開クラスタは、内部 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 Console が開き、クラスタが作成されます。
クラスタの作成後、クラスター作成時に設定されていない場合は、Cloud NAT を構成して、クラスタからのインターネットの発信接続を有効にします。作成したネットワークを管理または削除するには、VPC ネットワークをご覧ください。
限定公開クラスタへの接続に関する問題のトラブルシューティング
開発環境が限定公開クラスタにアクセスするように正しく構成されていない場合、問題解決方法に関する推奨事項が次のコンテキストに表示されます。
Kubernetes Explorer では、Cloud Code が接続できないクラスタは、クラスタ名の横にエラーアイコン(
)が付された状態で表示されます。
限定公開クラスタの構成に問題があるためにアクセスできないクラスタに対してオペレーションを実行しようとすると、ツールチップにより、潜在的な問題と回避策を示すエラー メッセージが表示されます。エラー メッセージを表示するには、エラーアイコンが表示されているクラスタにポインタを置きます。
限定公開クラスタのドキュメントを表示するには、クラスタを右クリックし、[限定公開クラスタのドキュメントを表示] を選択します。
クラスタのプロキシ サーバーを構成する
パブリック エンドポイントが無効になっている GKE クラスタなど、コントロール プレーン API が一般公開されていない場合は、クラスタと同じネットワークまたは VPC 上のプロキシ サーバーを介してリクエストをコントロール プレーンにプロキシするように Cloud Code を構成できます。
- クラスタと同じネットワークでプロキシ サーバーを構成します(まだ行っていない場合)。Compute Engine VM を基本プロキシ サーバーとして設定する手順については、踏み台インスタンスを使用して限定公開クラスタにリモート アクセスするをご覧ください。詳細については、コントローラ アクセス用のネットワーク プロキシを設定した Google Kubernetes Engine 限定公開クラスタの作成をご覧ください。
- Cloud Code に追加したクラスタの名前を右クリックし、[Kubectl Proxying の設定] をクリックします。プロンプトに従ってプロキシ サーバーの名前を入力します。クラスタの
proxy-url
フィールドに格納されます。Kubernetes Explorer が再読み込みされ、接続されたクラスタが表示されます。
Kubernetes プロキシのキャンセル
Kubernetes プロキシに構成したクラスタの名前を右クリックし、[Kubectl Proxying をキャンセルする]をクリックします。Cloud Code は、KubeConfig の proxy-url
フィールドの設定を解除することで、クラスタに対するリクエストのプロキシを停止します。
クラスタからの Google Cloud 外のリソースへのアクセス
GKE 限定公開クラスタのすべての構成では、ノードにインターネット アクセスがありません。その結果、クラスタは公共のインターネット上の API にアクセスできなくなります。クラスタは限定公開の Google アクセスを使用して自動的に構成されます。たとえば、クラスタは Artifact Registry または Container Registry からイメージを pull できます。ノードからインターネットへの送信接続を許可するように構成を追加しないと、Google Cloud の外部の API とイメージ レジストリにアクセスできません。これらの接続を提供するには、Cloud Code から VPC に Cloud NAT を設定します。
- Kubernetes Explorer で、クラスタを右クリックして [Grant Private GKE Internet] を選択します。
- ターミナルで
gcloud compute routers create
コマンドとgcloud beta compute routers nats create
コマンドを編集し、アプリケーションの値を指定します。限定公開クラスタが配置されている{REGION}
を選択してください。サポートされるリージョンのリストについては、リージョンとゾーンをご覧ください。 - コマンドを実行するには、
Enter
を押します。 - 作成したルーターを管理または削除するには、Cloud Router をご覧ください。
サポートの利用
IntelliJ IDE でフィードバックを送信するか、問題を報告するには、[Tools] > [Cloud Code] > [Help / About] > [Submit feedback or report an issue] を選択します。ここから、GitHub で問題を報告したり、Stack Overflow で質問したりできます。また、Google Cloud Slack コミュニティの 1 つである、#cloud-code
チャンネルにも参加できます。