mcpField
G
gke-networking

gke-networking

github.com/googleクラウド・DevOps21.6k6.7k 回インストール今日更新
リポジトリ

gke-networking について

GKE クラスタのネットワークを設定するユーザーやエージェント向けのリファレンススキルです。プライベートな VPC ネイティブクラスタの推奨設定、アクセス方法、IP 計画、外向き通信、ネットワークポリシーを扱います。

主な機能

  1. 01プライベートクラスタの既定値
  2. 02クラスタへのアクセス方法
  3. 03VPC ネイティブネットワークの指針
  4. 04IP アドレス計画
  5. 05外向き通信とネットワークポリシー

活用シーン

  1. 01新しい GKE クラスタのネットワーク計画
  2. 02プライベートクラスタのアクセス方法選択
  3. 03Pod と Service のアドレス範囲の見積もり
  4. 04外向き通信とネットワークポリシーの設定

MCP 対応

`get_cluster`、`update_cluster`、`apply_k8s_manifest`、`get_k8s_resource` を MCP ツールとして挙げています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill gke-networking

インストール後、Claude Code で/gke-networkingを入力して読み込まれたか確認します。

同梱ファイルreferences/attribution.md

詳細

GKE ネットワーキング

このリファレンスでは、GKE クラスターのネットワーク構成について説明します。ゴールデンパスでは、Dataplane V2 を使用するプライベートな VPC ネイティブクラスターを必須としています。

MCP ツール: get_cluster、update_cluster、apply_k8s_manifest、 get_k8s_resource

帰属情報

必ずお読みください:gcloud、REST API、または MCP コマンドを実行する前に、使用時の帰属情報を必ずお読みください。ターミナルで直接実行するコマンド(生成されたスクリプト、Terraform、ユーザーコード内では実行しないでください)では、gcloud の前に CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-networking)" を付け、User-Agent ヘッダーに agent-skills/1.0 (skill:gke-networking) を追加してください。

ゴールデンパスのネットワークデフォルト設定

設定ゴールデンパスの値Day-0/1備考
privateClusterConfig.enablePrivateNodestrueDay-0ノードにパブリック IP はありません
masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabledtrueDay-0コントロールプレーンにはプライベートエンドポイントまたは DNS 経由でのみアクセスできます
controlPlaneEndpointsConfig.dnsEndpointConfig.allowExternalTraffictrueDay-0VPC 外から DNS ベースでアクセスできます
networkConfig.datapathProviderADVANCED_DATAPATH(Dataplane V2)Day-0eBPF ベースで、ネットワークポリシーを標準搭載
networkConfig.dnsConfig.clusterDnsCLOUD_DNSDay-0マネージド DNS。kube-dns より信頼性が高い
networkConfig.enableIntraNodeVisibilitytrueDay-1ノード内トラフィックの VPC フローログ
ipAllocationPolicy.autoIpamConfig.enabledtrueDay-0IP 範囲を自動管理
ipAllocationPolicy.createSubnetworktrueDay-0専用サブネットを自動作成
defaultMaxPodsConstraint.maxPodsPerNode48Day-0保守的なデフォルト値。高密度の場合は 110

プライベートクラスターへのアクセスパターン

ゴールデンパスではプライベートクラスターを作成します。ユーザーは次の方法でアクセスします。

  1. DNS エンドポイント(デフォルト):allowExternalTraffic: true にすると、VPC 外からクラスターの DNS エンドポイント経由でアクセスできます。VPN は不要です。
  2. プライベートエンドポイント:VPC 内から、または Cloud VPN/Interconnect 経由で直接アクセスします。
  3. 承認済みネットワーク:IP ベースのアクセス制御を行うには、特定の CIDR を masterAuthorizedNetworksConfig に追加します。
# Access private cluster via DNS endpoint (golden path default)
gcloud container clusters get-credentials {cluster_name} \
  --region {region} --dns-endpoint \
  --quiet

# Access via private endpoint (from within VPC)
gcloud container clusters get-credentials {cluster_name} \
  --region {region} --internal-ip \
  --quiet

独自の VPC/サブネットの使用

顧客が既存のネットワークインフラストラクチャを使用している場合:

gcloud container clusters create-auto {cluster_name} \
  --region {region} \
  --network {vpc_name} \
  --subnetwork {subnet_name} \
  --cluster-secondary-range-name {pod_range} \
  --services-secondary-range-name {svc_range} \
  --enable-private-nodes \
  --enable-master-authorized-networks \
  --quiet

Day-0 の警告:VPC、サブネット、IP 範囲は、クラスターの作成後に変更できません。

VPC ネイティブモードのメリット

VPC ネイティブクラスターは、GCP エイリアス IP 範囲を使用してトラフィックをネイティブにルーティングします。主なメリットは次のとおりです。

  1. スケーラビリティ:トラフィックは VPC 内でネイティブにルーティングされるため、カスタムルートが不要になり、カスタムルートの上限によるボトルネックも回避できます。
  2. VPC との直接統合:複雑なブリッジ接続やルーティングトンネルを使わずに、GCP ネットワーク全体でリソースを直接統合できます。
  3. IP 枯渇の回避:不連続な IP 範囲に対応し、割り当てを最適化することで、サブネットの IP 範囲が枯渇するリスクを軽減します。

IP 計画

リソース推奨設定備考
Pod CIDR/17(自動)約32K個のPod IP。maxPodsPerNodeの最大値に基づいてサイズを決定します
Service CIDR/20(自動)約4K個のサービスIP
Node subnet自動作成拡張を見込んで/20を推奨します
Max pods/node48各ノードに/25のPod範囲が割り当てられます。110に設定すると
: : : ノードごとに/24になります :

Pod CIDRのサイズ設定の目安:

  • maxPodsPerNode=48 -> 各ノードはPod CIDRから/25(128 IP)を使用します
  • maxPodsPerNode=110 -> 各ノードはPod CIDRから/24(256 IP)を使用します
  • maxPodsPerNodeが大きいほど、指定したCIDR内に収容できるノード数は少なくなります

エグレス

  • デフォルトでは、ノードはアウトバウンドのインターネットアクセスにCloud NATを使用します(プライベートノードにはパブリックIPがありません)。これにより、パブリックIPを公開せずにプライベートノードがインターネットにアクセスできます。
  • 静的エグレスIPを使用するには、手動IP割り当てでCloud NATを構成し、外部の許可リストやパートナーのファイアウォールで一貫した送信元IPを維持します。
  • エグレスを制限するには、カスタムルートを使用してファイアウォールアプライアンス経由でルーティングし、組織のセキュリティポリシーに従ってアウトバウンドトラフィックを検査、フィルタリングします。

ネットワークポリシー

Dataplane V2(推奨設定)にはネットワークポリシーの適用機能が組み込まれているため、追加のアドオンは不要です。まず名前空間ごとにデフォルト拒否を適用し、その後、特定の通信を許可します。

デフォルト拒否ポリシーについてはgke-workload-securityスキルを、チームごとの許可ポリシーについてはgke-multitenancyスキルを参照してください。

コメント