このページでは、Google Kubernetes Engine(GKE)で VPC ネイティブ クラスタを構成する方法について説明します。
VPC ネイティブ クラスタのメリットと要件の詳細については、VPC ネイティブ クラスタの概要をご覧ください。
始める前に
作業を始める前に、次のことを確認してください。
- Google Kubernetes Engine API が有効になっていることを確認します。 Google Kubernetes Engine API を有効にする
- Cloud SDK がインストール済みであることを確認します。
次のいずれかの方法で gcloud
のデフォルトの設定を指定します。
gcloud init
。デフォルトの設定全般を確認する場合に使用します。gcloud config
。プロジェクト ID、ゾーン、リージョンを個別に設定する場合に使用します。
gcloud init の使用
エラー One of [--zone, --region] must be supplied: Please specify
location
を受信した場合は、このセクションの内容を実施します。
-
gcloud init
を実行して、次の操作を行います。gcloud init
リモート サーバーで SSH を使用している場合は、
--console-only
フラグを指定して、コマンドがブラウザを起動しないようにします。gcloud init --console-only
- 手順に従って
gcloud
を承認し、Google Cloud アカウントを使用します。 - 新しい構成を作成するか、既存の構成を選択します。
- Google Cloud プロジェクトを選択します。
- ゾーンクラスタの場合はデフォルトの Compute Engine ゾーン、リージョン クラスタまたは Autopilot クラスタの場合はデフォルトの Compute Engine リージョンを選択します。
gcloud config の使用
- デフォルトのプロジェクト ID を設定します。
gcloud config set project PROJECT_ID
- ゾーンクラスタを使用する場合は、デフォルトのコンピューティング ゾーンを設定します。
gcloud config set compute/zone COMPUTE_ZONE
- Autopilot クラスタまたはリージョン クラスタを使用する場合は、デフォルトのコンピューティング リージョンを設定します。
gcloud config set compute/region COMPUTE_REGION
gcloud
を最新バージョンに更新します。gcloud components update
手順
次の手順に従って、VPC ネイティブ クラスタを作成し、構成された Pod と Service の IP アドレス範囲を確認します。
既存のサブネットにクラスタを作成する
セカンダリ範囲割り当て方式を選択して、既存のサブネットで VPC ネイティブ GKE クラスタを作成する方法を次の手順で示します。
gcloud
GKE によって管理されているセカンダリ範囲割り当て方式を使用するには、次のようにします。
gcloud container clusters create cluster-name \ --region=region \ --enable-ip-alias \ --subnetwork=subnet-name \ --cluster-ipv4-cidr=pod-ip-range \ --services-ipv4-cidr=services-ip-range
ユーザーによって管理されているセカンダリ範囲割り当て方式を使用するには、次のようにします。
gcloud container clusters create cluster-name \ --region=region \ --enable-ip-alias \ --subnetwork=subnet-name \ --cluster-secondary-range-name=secondary-range-pods \ --services-secondary-range-name=secondary-range-services
プレースホルダを有効な値に置き換えます。
- cluster-name は GKE クラスタの名前です。
- region は、クラスタを作成するリージョンです。ゾーンクラスタを作成するには、このフラグを
--zone=zone
に置き換えます。zone は Google Cloud ゾーンです。 - subnet-name は、既存のサブネットの名前です。ノードにはサブネットのプライマリ IP アドレス範囲が使用されます。サブネットは、クラスタによって使用されるリージョンと同じリージョンに存在する必要があります。省略した場合、GKE はクラスタのリージョンにある
default
VPC ネットワーク内のサブネットの使用を試みます。 - セカンダリ範囲の割り当て方式が GKE によって管理されている場合:
- pod-ip-range は、CIDR 表記の IP アドレス範囲(
10.0.0.0/14
など)、または CIDR ブロックのサブネット マスクのサイズ(/14
など)です。これは、Pod 用のサブネット セカンダリ IP アドレス範囲を作成するために使用されます。--cluster-ipv4-cidr
オプションを省略すると、GKE は自動的に/14
範囲(218 個のアドレス)を選択します。自動選択される範囲が10.0.0.0/8
(224 個のアドレス範囲)からランダムに選択されますが、VM、既存のルート、または他のクラスタに割り当てられた IP アドレス範囲は含まれません。自動的に選択される範囲は、予約済み IP アドレス、動的ルート、またはこのクラスタとピアリングする VPC 内のルートと競合する可能性があります。これらのいずれかを使用する場合は、競合を避けるため--cluster-ipv4-cidr
を指定する必要があります。 - services-ip-range は、CIDR 表記の IP アドレス範囲(
10.4.0.0/19
など)、または CIDR ブロックのサブネット マスクのサイズ(/19
など)です。これは、Service 用のサブネット セカンダリ IP アドレス範囲を作成するために使用されます。
- pod-ip-range は、CIDR 表記の IP アドレス範囲(
- セカンダリ範囲の割り当て方式がユーザーによって管理されている場合:
- secondary-range-pods は、指定された subnet-name 内の既存のセカンダリ IP アドレス範囲の名前です。GKE は、クラスタの Pod にサブネット セカンダリ IP アドレス範囲全体を使用します。
- secondary-range-services は、指定された subnet-name 内の既存のセカンダリ IP アドレス範囲の名前です。GKE は、クラスタの Service にサブネット セカンダリ IP アドレス範囲全体を使用します。
Console
Cloud Console で Google Kubernetes Engine のメニューに移動します。
add_box [作成] をクリックします。
ナビゲーション パネルの [クラスタ] の下の [ネットワーキング] をクリックします。
[ネットワーク] プルダウン リストで、任意の VPC を選択します。
[ノードのサブネット] プルダウン リストで、クラスタのサブネットを選択します。
[VPC ネイティブのトラフィック ルーティングを有効にする(エイリアス IP を使用)] チェックボックスが選択されていることを確認します。
セカンダリ範囲割り当て方式を GKE によって管理する場合は、[セカンダリ範囲を自動的に作成する] チェックボックスを選択します。選択したサブネットのセカンダリ範囲をすでに作成していて、セカンダリ範囲割り当て方式をユーザーによって管理する場合は、このチェックボックスをオフにします。
[ポッドのアドレス範囲] フィールドに、Pod の範囲(
10.0.0.0/14
など)を入力します。[サービス アドレスの範囲] フィールドに、Service の範囲(
10.4.0.0/19
など)を入力します。必要に応じてクラスタを構成します。
[作成] をクリックします。
API
VPC ネイティブ クラスタを作成する場合、IPAllocationPolicy オブジェクトを定義します。既存のサブネット セカンダリ IP アドレス範囲を参照することも、CIDR ブロックを指定することもできます。既存のサブネット セカンダリ IP アドレス範囲を参照して、セカンダリ範囲の割り当てがユーザーによって管理されるクラスタを作成します。この範囲の割り当てを GKE によって管理する場合は、CIDR ブロックを指定します。
{
"name": cluster-name,
"description": description,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"clusterIpv4CidrBlock" : string,
"servicesIpv4CidrBlock" : string,
"clusterSecondaryRangeName" : string,
"servicesSecondaryRangeName": string,
},
...
}
ここで
"clusterIpv4CidrBlock"
は、Pod の CIDR 範囲のサイズ / 場所です。Pod のセカンダリ範囲のサイズを決定します。これは、CIDR 表記の IP / サイズ(10.0.0.0/14
など)や / サイズ(/14
など)にすることができます。指定されたサイズの空きスペースが、VPC 内の使用可能なスペースから選ばれます。空白にしておくと、有効な範囲が検出され、デフォルトのサイズで作成されます。"servicesIpv4CidrBlock"
は、Service の CIDR 範囲のサイズ / 場所です。"clusterIpv4CidrBlock"
の説明をご覧ください。"clusterSecondaryRangeName"
は、Pod のセカンダリ範囲の名前です。セカンダリ範囲はすでに存在しており、クラスタに関連付けられたサブネットワークに属している必要があります(--subnetwork
フラグで指定されたサブネットワークなど)。"serviceSecondaryRangeName"
は、Service のセカンダリ範囲の名前です。セカンダリ範囲はすでに存在しており、クラスタに関連付けられたサブネットワークに属している必要があります(--subnetwork
フラグで指定されたサブネットワークなど)。
Terraform
Terraform モジュールを使用すると、Terraform を介して VPC ネイティブ クラスタを簡単に作成できます。
たとえば、このブロックを Terraform 構成に追加できます。
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
version = "~> 12.0"
project_id = "project-id"
name = "cluster-name"
region = "region"
network = "network-name"
subnetwork = "subnet-name"
ip_range_pods = "secondary-range-pods"
ip_range_services = "secondary-range-services"
}
以下を置き換えます。
- project-id は、クラスタを作成するプロジェクト ID です。
- cluster-name は GKE クラスタの名前です。
- region は、クラスタを作成するリージョンです。
- network-name は、既存のネットワークの名前です。
- subnet-name は、既存のサブネットの名前です。ノードにはサブネットのプライマリ IP アドレス範囲が使用されます。サブネットは、クラスタによって使用されるリージョンと同じリージョンに存在する必要があります。
- secondary-range-pods は、指定された subnet-name 内の既存のセカンダリ IP アドレス範囲の名前です。GKE は、クラスタの Pod にサブネット セカンダリ IP アドレス範囲全体を使用します。
- secondary-range-services は、指定された subnet-name 内の既存のセカンダリ IP アドレス範囲の名前です。GKE は、クラスタの Service にサブネット セカンダリ IP アドレス範囲全体を使用します。
クラスタとサブネットを同時に作成する
VPC ネイティブ GKE クラスタとサブネットを同時に作成する方法を次に示します。1 つのコマンドでこれらの 2 つのステップを実行すると、セカンダリ範囲割り当て方式は GKE によって管理されます。
gcloud
VPC ネイティブ クラスタとサブネットを同時に作成するには、次のようにします。
gcloud container clusters create cluster-name \ --region=region \ --enable-ip-alias \ --create-subnetwork name=subnet-name,range=node-ip-range \ --cluster-ipv4-cidr=pod-ip-range \ --services-ipv4-cidr=services-ip-range
ここで
- cluster-name は GKE クラスタの名前です。
- region は、クラスタを作成するリージョンです。ゾーンクラスタを作成するには、このフラグを
--zone=zone
に置き換えます。zone は GKE ゾーンです。 - subnet-name は、作成するサブネットの名前です。サブネットのリージョンは、クラスタと同じリージョンです(つまり、ゾーンクラスタが含まれているリージョン)。GKE によって自動的に名前を生成する場合は、空のストリング(
name=""
)を使用します。 - node-ip-range は、CIDR 表記の IP アドレス範囲(
10.5.0.0/20
など)、または CIDR ブロックのサブネット マスクのサイズ(/20
など)です。これは、ノードのサブネット プライマリ IP アドレス範囲を作成するために使用されます。省略した場合、GKE は/20
のサイズで VPC 内で使用可能な IP 範囲を選択します。 - pod-ip-range は、CIDR 表記の IP アドレス範囲(
10.0.0.0/14
など)、または CIDR ブロックのサブネット マスクのサイズ(/14
など)です。これは、Pod 用のサブネット セカンダリ IP アドレス範囲を作成するために使用されます。省略した場合、GKE は 218 個のアドレスを含むランダムに選択された/14
範囲を使用します。自動選択される範囲が10.0.0.0/8
(224 個のアドレス範囲)からランダムに選択されますが、VM、既存のルート、または他のクラスタに割り当てられた IP アドレス範囲は含まれません。自動的に選択される範囲は、予約済み IP アドレス、動的ルート、またはこのクラスタとピアリングしている VPC 内のルートと競合する可能性があります。これらのいずれかを使用する場合は、競合を防ぐために--cluster-ipv4-cidr
を指定する必要があります。 - services-ip-range は、CIDR 表記の IP アドレス範囲(
10.4.0.0/19
など)、または CIDR ブロックのサブネット マスクのサイズ(/19
など)です。これは、Service 用のサブネット セカンダリ IP アドレス範囲を作成するために使用されます。省略した場合、GKE はデフォルトの Service IP アドレス範囲のサイズである/20
を使用します。
Console
Cloud Console を使用して、クラスタとサブネットを同時に作成することはできません。代わりに、最初にサブネットを作成し、次に既存のサブネットにクラスタを作成します。
API
VPC ネイティブ クラスタを作成するには、クラスタ リソースに [IPAllocationPolicy] オブジェクトを定義します。
{
"name": cluster-name,
"description": description,
...
"ipAllocationPolicy": {
"useIpAliases": true,
"createSubnetwork": true,
"subnetworkName": subnet-name
},
...
}
createSubnetwork
フィールドによって、クラスタのサブネットワークが自動的に作成され、プロビジョニングされます。subnetworkName
フィールドはオプションです。空のままにすると、サブネットワークの名前が自動的に選択されます。
RFC 1918 以外のプライベート IP アドレス範囲の使用
1.14.2-gke.1 以降を使用する GKE クラスタでは、ノード、Pod、Service に RFC 1918 以外のプライベート IP アドレス範囲を使用できます。サブネット範囲の内部 IP アドレスとして使用できる RFC 1918 以外のプライベート範囲については、VPC ネットワークのドキュメントで有効範囲をご覧ください。
RFC 1918 以外のプライベート IP アドレス範囲は、限定公開クラスタと非限定公開クラスタの両方に対応しています。
RFC 1918 以外のプライベート範囲はサブネット範囲です。この範囲のみを使用するか、RFC 1918 サブネット範囲と組み合わせて使用できます。VPC ネイティブ クラスタの IP 範囲で説明しているように、ノード、Pod、Service は引き続きサブネット範囲を使用します。RFC 1918 以外の範囲を使用する場合、次の点に注意してください。
サブネット範囲(RFC 1918 以外の範囲を使用するサブネット範囲を含む)は、クラスタのノードを作成する前に手動で割り当てるか、GKE によって割り当てる必要があります。クラスタを置き換えない限り、RFC 1918 以外のサブネット範囲の使用に切り替えることも、使用を停止することもできません。
内部 TCP / UDP ロードバランサは、サブネットのプライマリ IP アドレス範囲の IP アドレスのみを使用します。RFC 1918 以外のアドレスを持つ内部 TCP / UDP ロードバランサを作成するには、サブネットのプライマリ IP アドレス範囲を RFC 1918 以外のアドレスにする必要があります。
クラスタ外の宛先で、RFC 1918 以外のプライベート範囲からのトラフィックを受信できない可能性があります。たとえば、RFC 1112(クラス E)のプライベート範囲は通常、マルチキャスト アドレスとして使用されます。クラスタ外の宛先で、送信元が RFC 1918 以外のプライベート IP アドレスのパケットを処理できない場合、次の両方を実行できます。
サブネットのプライマリ IP アドレス範囲に RFC 1918 範囲を使用します。これにより、クラスタ内のノードは RFC 1918 アドレスを使用します。
クラスタで IP マスカレード エージェントが実行され、宛先が
nonMasqueradeCIDRs
リストに含まれていないことを確認します。これにより、Pod から送信したパケットの送信元が SNAT によりノードアドレス(RFC 1918)に変換されます。
プライベートで使用されたパブリック IP アドレス範囲を有効にする
1.14.2-gke.1 以降を使用する GKE クラスタは、特定のパブリック IP アドレス範囲を内部のサブネット IP アドレス範囲としてプライベートに使用できます。パブリック IP アドレスは、VPC ネットワークのドキュメントに記載されている特定の制限付きの範囲を除いてすべてプライベートに使用できます。
プライベートに使用されたパブリック IP アドレス範囲を使用するには、クラスタが限定公開クラスタである必要があります。非限定公開の VPC ネイティブ クラスタとルートベース クラスタはサポートされていません。
プライベートで使用されたパブリック範囲はサブネット範囲です。個別に使用することも、プライベート アドレスを使用するその他のサブネットの範囲と併用することもできます。VPC ネイティブ クラスタの IP 範囲で説明しているように、ノード、Pod、Service は引き続きサブネット範囲を使用します。パブリック IP アドレスをプライベートで再利用するときは、次の点に注意してください。
パブリック IP アドレス範囲をサブネット範囲として使用すると、クラスタはそのパブリック範囲を使用するインターネット上のシステムと通信できなくなります。範囲は、クラスタの VPC ネットワークの内部 IP アドレス範囲になります。
サブネット範囲(パブリック IP アドレス範囲をプライベートで使用する範囲も含む)は、クラスタのノードを作成する前に、手動で割り当てるか、GKE によって割り当てる必要があります。クラスタを置き換えない限り、プライベートで使用されたパブリック IP の使用への切り替えや使用の停止はできません。
プライベートで使用されたパブリック IP アドレス範囲を使用する Pod から送信されたパケットでは、送信元をノードアドレスに変換(SNAT)できません。したがって、
--disable-default-snat
フラグを使ってクラスタを作成する必要があります。このフラグの詳細については、GKE での IP マスカレードをご覧ください。Pod がプライベートでパブリック IP アドレス範囲を使用するクラスタは限定公開クラスタであるため、Pod がトラフィックをインターネット上の宛先に送信する必要がある場合は、クラスタで Cloud NAT などの NAT ソリューションを使用する必要があります。Cloud NAT を使用する場合は、少なくとも NAT ゲートウェイを構成して、クラスタの Pod 用のサブネットのセカンダリ IP アドレス範囲に適用する必要があります。このようにして、Cloud NAT は、Pod の IP アドレスから送信されたパケットから SNAT を実行します。これは、クラスタの IP マスカレード構成でデフォルトの SNAT 動作をオフにする必要があるためです。
プライベートで使用されたパブリック範囲のあるクラスタの例
次の例では、gcloud
を使用して、プライベートで再利用されたパブリック IP アドレス範囲を使用するクラスタを作成します。次のフラグを使用する必要があります。
--enable-ip-alias
: これにより、VPC ネイティブ クラスタが作成されます。これは、パブリック IP アドレス範囲をプライベートで使用するときに必要です。--enable-private-nodes
: これにより、限定公開クラスタが作成されます。これは、パブリック IP アドレス範囲をプライベートで使用するときに必要です。--disable-default-snat
: Pod またはノードにパブリック IP アドレスをプライベートで使用する場合、このオプションは必須です。トラフィック送信元の Pod にレスポンスをルーティングするには、SNAT を無効にする必要があります。
このコマンドで、次の機能を備えた VPC ネイティブの限定公開クラスタを作成します。
- ノードは、サブネットの
10.0.0.0/24
プライマリ IP アドレス範囲を使用します。 - Pod は、
5.0.0.0/16
パブリック IP アドレス範囲を、Pod 用のサブネットのセカンダリ IP アドレス範囲としてプライベートに使用します。 - Service は、
5.1.0.0/16
パブリック IP アドレス範囲を、Service 用のサブネットのセカンダリ IP アドレス範囲として、プライベートに使用します。
gcloud container clusters create cluster-name \
--enable-ip-alias \
--enable-private-nodes \
--disable-default-snat \
--zone=zone \
--create-subnetwork name=cluster-subnet,range=10.0.0.0/24 \
--cluster-ipv4-cidr=5.0.0.0/16 \
--services-ipv4-cidr=5.1.0.0/16 \
--master-ipv4-cidr=master-CIDR
Pod と Service の範囲を確認する
VPC ネイティブ クラスタを作成すると、その Pod と Service の範囲を確認できます。
gcloud
クラスタを確認するには、次のコマンドを実行します。
gcloud container clusters describe cluster-name
コマンド出力で、ipAllocationPolicy
フィールドの下を確認します。
clusterIpv4Cidr
が、Pod のセカンダリ範囲です。servicesIpv4Cidr
が、Service のセカンダリ範囲です。
Console
クラスタを確認するには、次の手順を行います。
Cloud Console で Google Kubernetes Engine のメニューに移動します。
クラスタリストで、検査するクラスタの名前をクリックします。
セカンダリ範囲は [ネットワーキング] セクションに表示されます。
- [コンテナ アドレスの範囲] は、Pod のセカンダリ範囲です。
- [サービス アドレスの範囲] は、サービスのセカンダリ範囲です。
トラブルシューティング
このセクションでは、VPC ネイティブ クラスタに関連する問題を解決するためのガイダンスを示します。
The resource 'projects/[PROJECT_NAME]/regions/XXX/subnetworks/default' is not ready
- 考えられる原因
- 同じサブネット上で操作が平行して行われています。たとえば、別の VPC ネイティブ クラスタが作成されている、サブネット上でセカンダリ範囲の追加または削除が行われている、などです。
- 解決策
- コマンドを再試行してください。
Invalid value for field 'resource.secondaryIpRanges[1].ipCidrRange': 'XXX'. Invalid IPCidrRange: XXX conflicts with existing subnetwork 'default' in region 'XXX'."
- 考えられる原因
別の VPC ネイティブ クラスタが同時に作成されていて、同じ VPC ネットワークの同じ範囲を割り当てようとしています。
同じセカンダリ範囲が同じ VPC ネットワークのサブネットワークに追加されようとしています。
- 解決策
セカンダリ範囲がまだ指定されていない状態でクラスタ作成コマンドを実行して、このエラーが返された場合は、しばらくしてからクラスタの作成コマンドを再試行してください。
Pod 用の空き IP スペースが不足している
- 現象
クラスタが長い時間プロビジョニング状態で停止している
クラスタの作成時にマネージド インスタンス グループ(MIG)エラーが返される
新しいノードを既存のクラスタに追加できない
- 考えられる原因
Pod IP 範囲内の未割り当てスペースが、クラスタ内でリクエストされたノードに対して十分な大きさではありません。たとえば、クラスタの Pod IP アドレス範囲にサイズが
/23
(512 個のアドレス)のネットマスクがあり、ノードあたりの Pod 最大数が 110 である場合、2 個より多くのノードを作成することはできません(各ノードには、サイズが/24
のネットマスクを持つエイリアス IP 範囲が割り当てられます)。- ソリューション
適切にサイズ調整されたプライマリとセカンダリの IP アドレス範囲を確認して計画した後、代替クラスタを作成します。VPC ネイティブ クラスタの IP 範囲と IP 範囲の計画をご覧ください。
クラスタを置き換えることができない場合、ノードあたりの Pod 最大数をより少なく設定して新しいノードプールを作成することで、問題を回避できる可能性があります。可能であれば、ワークロードをそのノードプールに移行してから、以前のノードプールを削除してください。ノードあたりの Pod 最大数を減らすと、Pod の固定されたセカンダリ IP アドレス範囲でより多くのノードをサポートできるようになります。関連する計算の詳細については、Pod 用のサブネット セカンダリ IP アドレス範囲とノード制限範囲をご覧ください。
デフォルトの SNAT が無効になっているかどうか確認する
デフォルトの SNAT のステータスを確認するには、次のコマンドを使用します。
gcloud container clusters describe cluster-name
cluster-name は、使用するクラスタの名前に置き換えます。
次のように、出力に disableDefaultSnat
フィールドが含まれます。
networkConfig:
disableDefaultSnat: true
network: ...
--enable-ip-alias
なしで --disable-default-snat
は使用できない
このエラー メッセージと must disable default sNAT (--disable-default-snat)
before using public IP address privately in the cluster
が表示された場合、限定公開クラスタでパブリック IP アドレスが使用されているため、クラスタの作成時に --disable-default-snat
フラグを明示的に設定する必要があります。
cannot disable default sNAT ...
などのエラー メッセージが表示された場合、クラスタでデフォルトの SNAT を無効にすることはできません。クラスタ構成を確認します。
デフォルトの SNAT を無効にして Cloud NAT をデバッグする
--disable-default-snat
フラグを使用して限定公開クラスタを作成し、インターネット アクセスに Cloud NAT を設定しているときに、Pod からインターフェースに向かうトラフィックが表示されない場合は、Cloud NAT 構成に Pod の範囲が含まれていることを確認します。
Pod 間の通信に問題がある場合は、ノードの iptables ルールを調べて、Pod 範囲が iptables ルールによってマスカレードされていないことを確認します。IP マスカレードの iptables の出力例で、iptables
ルールとデフォルト ルールのリストを確認してください。クラスタに IP マスカレード エージェントが構成されていない場合、GKE は Pod 間の通信が自動的にマスカレードされないようにします。IP マスカレード エージェントが構成されている場合は、デフォルトの IP マスカレード ルールがオーバーライドされます。Pod 範囲のマスカレードを無視するように、IP マスカレード エージェントで追加のルールが構成されていることを確認します。
制限事項
- VPC ネイティブ クラスタをルートベース クラスタに変換することはできません。また、ルートベース クラスタを VPC ネイティブ クラスタに変換することもできません。
VPC ネイティブ クラスタには VPC ネットワークが必要です。レガシー ネットワークはサポートされていません。
GKE クラスタの場合と同様に、Service(ClusterIP)のアドレスはクラスタ内部にのみ公開されています。クラスタの内部ではないが、クラスタと同じ VPC ネットワークとリージョン内にある VM インスタンスから Kubernetes Service にアクセスする必要がある場合、内部 TCP / UDP ロードバランサを作成します。
次のステップ
- GKE ネットワークの概要を読む。
- 内部負荷分散について理解する。
- 複数クラスタ Ingress の設定について理解する。
- 承認済みネットワークの構成について理解する。
- クラスタ ネットワーク ポリシーの作成について理解する。
- ルートベース クラスタを作成する方法を学習する。