ユーザー クラスタの構成ファイル

10

このページでは、Anthos clusters on VMware(GKE On-Prem)ユーザー クラスタ構成ファイルのフィールドについて説明します。

構成ファイルのテンプレートの生成

gkeadm を使用して管理ワークステーションを作成した場合、gkeadm によりユーザー クラスタの構成ファイル用のテンプレートが生成されます。また、gkeadm によって一部のフィールドに入力されます。

管理ワークステーションの作成に gkeadm を使用していない場合、gkectl を使用してユーザー クラスタの構成ファイルのテンプレートを生成できます。

ユーザー クラスタの構成ファイルのテンプレートを生成するには:

gkectl create-config cluster --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

次のように置き換えます。

OUTPUT_FILENAME: 生成されたテンプレートに対する任意のパス。このフラグを省略すると、gkectl はファイルに user-cluster.yaml という名前を付け、現在のディレクトリに配置します。

VERSION: 目的のバージョン番号。例: gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8

テンプレート

構成ファイルの入力

次のセクションで説明するように、構成ファイルでフィールド値を入力します。

name

必須
不変の文字列

ユーザー クラスタの任意の名前。名前は次の条件を満たす必要があります。

  • 最大文字数は 40 文字とする
  • 小文字の英数字またはハイフン(-)のみを使用している
  • 先頭が英字である
  • 末尾が英数字である

例:

name: "my-user-cluster"

gkeOnPremVersion

必須
変更可能な文字列

ユーザー クラスタ用の Anthos clusters on VMware のバージョン。

例:

gkeOnPremVersion: "1.10.0-gke.1"

vCenter

このセクションには、vSphere 環境と vCenter Server への接続に関する情報を掲載しています。

このセクションのフィールドを、管理クラスタ用に指定したものと同じにするには、フィールドを削除するか、コメントアウトしたままにします。

管理クラスタに指定したものとは異なるフィールドが必要な場合は、ここに入力します。ここで vCenter セクションに入力したフィールドは、管理クラスタの構成ファイルの対応するフィールドよりも優先されます。

vCenter.datacenter

不変の文字列
デフォルト: 管理クラスタから継承

ユーザー クラスタ VM が実行される物理 ESXi ホストを持つ vCenter データセンターの名前。

例:

vCenter:
  datacenter: "my-datacenter-2"

指定する場合は、vCenter.datastorevCenter.networkName も指定し、vCenter.cluster または vCenter.resourcePool を指定する必要があります。別のデータセンターにユーザー クラスタを作成するをご覧ください。

vCenter.cluster

不変の文字列
デフォルト: 管理クラスタから継承

ユーザー クラスタ VM を実行する ESXi ホストを持つ vSphere クラスタの名前。この vSphere クラスタは、vCenter データセンターの物理 ESXi ホストのサブセットを形成する一連の物理 ESXi ホストです。

例:

vCenter:
  cluster: "my-vsphere-cluster-2"

vCenter.resourcePool

不変の文字列
デフォルト: 管理クラスタから継承

ユーザー クラスタ VM の vCenter リソースプールの名前。

例:

vCenter:
  resourcePool: "my-resource-pool-2"

デフォルトのリソースプールを使用するには、これを VSPHERE_CLUSTER/Resources に設定します。

例:

vCenter:
  resourcePool: "my-vsphere-cluster-2/Resources"

詳細については、スタンドアロン ホストのルートリソース プールの指定をご覧ください。

vCenter.datastore

不変の文字列
デフォルト: 管理クラスタから継承

ユーザー クラスタ VM の vCenter データストアの名前。

例:

vCenter:
  datastore: "my-datastore-2"

vCenter.caCertPath

変更可能な文字列
デフォルト: 管理クラスタから継承

vCenter Server の CA 証明書のパス。詳細については、vCenter CA 証明書の取得をご覧ください。

例:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"

このフィールドを更新する方法については、vCenter 証明書の参照を更新するをご覧ください。

vCenter.credentials.fileRef.path

変更可能な文字列
デフォルト: 管理クラスタから継承

vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルのパス。ユーザー アカウントには管理者ロールまたは同等の権限が必要です。vSphere の要件をご覧ください。

gkectl update credentials を使用すると、既存のクラスタのこのフィールドを更新できます。詳細については、サービス アカウント キーのローテーションをご覧ください。

vCenter 認証情報の更新については、クラスタ認証情報の更新をご覧ください。

例:

vCenter:
  credentials:
    fileRef:
      path: "my-config-directory/my-credentials-2.yaml"

vCenter.credentials.fileRef.entry

変更可能な文字列
デフォルト: 管理クラスタから継承

vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。

例:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-credentials-2"

vCenter.folder

不変の文字列
デフォルト: 管理クラスタから継承

クラスタ VM が配置される vCenter フォルダの名前。

例:

vCenter:
  folder: "my-folder-2"

network

このセクションには、ユーザー クラスタ ネットワークに関する情報が含まれます。

network.hostConfig

このセクションには、クラスタノードである VM で使用される NTP サーバー、DNS サーバー、DNS 検索ドメインに関する情報を掲載しています。Seesaw ロードバランサを使用している場合、この情報は Seesaw VM についても該当します。

network.hostConfig.dnsServers

省略可
文字列の不変の配列

VM の DNS サーバーのアドレス。

例:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

省略可
文字列の不変の配列

VM が使用する時刻サーバーのアドレス。

例:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

省略可
文字列の不変の配列

ホストが使用する DNS 検索ドメイン。これらのドメインは、ドメイン検索リストの一部として使用されます。

例:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

必須
不変の文字列
事前入力:「dhcp」
デフォルト:「dhcp」

クラスタノードが DHCP サーバーから IP アドレスを取得するようにするには、これを "dhcp" に設定します。クラスタノードに、指定したリストから静的 IP アドレスを選択させる場合は、これを "static" に設定します。

例:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

network.ipMode.type = static の場合は必須
不変の文字列

クラスタの IP ブロック ファイルのへのパス。

例:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"

network.serviceCIDR

必須
不変の文字列
事前入力: "10.96.0.0/20"

クラスタ内の Service に使用される IP アドレスの範囲(CIDR 形式)。/24 以上の範囲を指定してください。

例:

network:
  serviceCIDR: "10.96.0.0/20"

network.podCIDR

必須
不変の文字列
事前入力: "192.168.0.0/16"
デフォルト: "192.168.0.0/16"

クラスタ内の Pod に使用される IP アドレスの範囲(CIDR 形式)。/18 以上の範囲を指定してください。

例:

network:
  podCIDR: "192.168.0.0/16"

Service の範囲が Pod の範囲と重複しないようにする必要があります。

Service と Pod の範囲は、クラスタ内から到達可能にする必要があるクラスタ外のアドレスと重複しないようにしてください。

たとえば、Service の範囲が 10.96.232.0/24、Pod の範囲が 192.168.0.0/16 であるとします。Pod からいずれかの範囲のアドレスに送信されたトラフィックは、クラスタ内として扱われ、クラスタ外の宛先に到達しません。

特に、Service と Pod の範囲が次の対象と重複しないようにする必要があります。

  • 任意のクラスタ内に存在するノードの IP アドレス

  • ロードバランサ マシンで使用される IP アドレス

  • コントロール プレーン ノードとロードバランサで使用される VIP

  • vCenter Server、DNS サーバー、NTP サーバーの IP アドレス

Service と Pod の範囲は RFC 1918 アドレス空間にすることをおすすめします。

RFC 1918 アドレスを使用することが推奨される理由の 1 つは次のとおりです。Pod または Service の範囲に外部 IP アドレスが含まれているとします。Pod からそれらの外部アドレスのいずれかに送信されたトラフィックは、クラスタ内トラフィックとして扱われ、外部の宛先に到達しません。

network.vCenter.networkName

必須
不変の文字列

ユーザー クラスタ ノードの vSphere ネットワークの名前。

名前に特殊文字が含まれる場合は、エスケープ シーケンスを使用する必要があります。

特殊文字 エスケープ シーケンス
スラッシュ(/ %2f
バックスラッシュ(\ %5c
パーセント記号(% %25

ネットワーク名が一意でない場合は、ネットワークのパス(例: /datacenter-2/network/my-network)を指定できます。

次に例を示します。

network:
  vCenter:
    networkName: "my-user-cluster-network"

network.vCenter.additionalNodeInterfaces

multipleNetworkInterfacestrue に設定した場合は、このセクションに入力します。 それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

オブジェクトの配列では、それぞれが、クラスタ ノードのすべてまたは一部で使用できるネットワーク インターフェースを示します。

network.vCenter.additionalNodeInterfaces[i].networkName

multipleNetworkInterfaces = true の場合は必須
不変の文字列

追加ノード インターフェースが接続する vSphere ネットワークの名前。

例:

network:
  vCenter:
    additionalNodeInterfaces:
    - networkName: "my-node-interface-1"

network.vCenter.additionalNodeInterfaces[i].type

multipleNetworkInterfaces = true の場合は必須
不変の文字列

例:

network:
  vCenter:
    additionalNodeInterfaces:
    - name: "my-node-interface-1"
      type: "static"

network.vCenter.additionalNodeInterfaces[i].ipBlockFilePath

network.vCenter.additionalNodeInterfaces[i].type = static の場合は必須
不変の文字列

このネットワーク インターフェースを持つノード上のこのネットワーク インターフェースに使用される IP アドレスを保持する IP ブロック ファイルのパス。

例:

network:
  vCenter:
    additionalNodeInterfaces:
    - name: "my-node-interface-1"
      type: "static"
      ipBlockFilePath: "my-ipblock-file-1"

loadBalancer

このセクションには、ユーザー クラスタのロードバランサに関する情報が含まれます。

loadBalancer.vips.controlPlaneVIP

必須
不変の文字列

ユーザー クラスタの Kubernetes API サーバー用にロードバランサ上に構成することを選択した IP アドレス。

例:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

必須
不変の文字列

上り(内向き)プロキシのロードバランサを構成するために選択した IP アドレス。

例:

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

必須
不変の文字列

これを "ManualLB""F5BigIP""Seesaw""MetalLB" のいずれかに設定します。

例:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

loadbalancer.kind"manualLB" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

loadBalancer.manualLB.ingressHTTPNodePort

loadBalancer.kind = ManualLB の場合は必須
不変の整数

ユーザー クラスタの上り(内向き)プロキシは、LoadBalancer タイプの Kubernetes Service で公開されます。この Service には、HTTP 用の ServicePort があります。HTTP ServicePort の nodePort 値を選択する必要があります。

このフィールドに nodePort 値を設定します。

例:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

loadBalancer.kind = ManualLB の場合は必須
不変の整数

ユーザー クラスタの上り(内向き)プロキシは、LoadBalancer タイプの Service で公開されます。この Service には HTTPS 用の ServicePort があります。HTTPS ServicePort の nodePort 値を選択する必要があります。

このフィールドに nodePort 値を設定します。 例:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

loadBalancer.kind = ManualLB の場合は必須
不変の整数

ユーザー クラスタの Kubernetes API サーバーは管理クラスタで実行され、LoadBalancer タイプの Service で公開されます。Service の nodePort 値を選択する必要があります。

このフィールドに nodePort 値を設定します。

例:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

loadBalancer.kind = ManualLB の場合は必須
不変の整数

ユーザー クラスタの Kubernetes API サーバーは管理クラスタで実行され、LoadBalancer タイプの Service で公開されます。Konnectivity サーバーは、別の nodePort 値でこの Service を再利用します。Konnectivity サーバーに nodePort 値を選択する必要があります。

このフィールドを Konnectivity サーバーの nodePort 値に設定します。

例:

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.manualLB.addonsNodePort

このフィールドを削除します。ユーザー クラスタでは使用されません。

loadBalancer.f5BigIP

loadbalancer.kind"f5BigIP" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

loadBalancer.f5BigIP.address

loadBalancer.kind = "f5BigIP" の場合は必須
不変の文字列

F5 BIG-IP ロードバランサのアドレス

例:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.fileRef.path

loadBalancer.kind の場合は必須 = "f5BigIP"
変更可能な文字列

Anthos clusters on VMware が F5 BIG-IP ロードバランサへの接続に使用できるアカウントのユーザー名とパスワードを保持する認証情報ファイルのパス。

ユーザー アカウントには、ロードバランサの設定と管理を行うために十分な権限を持つユーザーロールが必要です。管理者ロールまたはリソース管理者ロールのどちらかで十分です。

F5 BIG-IP 認証情報の更新については、クラスタ認証情報の更新をご覧ください。

例:

loadBalancer:
  f5BigIP:
    fileRef:
      path: ""my-config-folder/user-creds.yaml"

loadBalancer.f5BigIP.fileRef.entry

loadBalancer.kind = "f5BigIP" の場合は必須
不変の文字列

F5 BIG-IP アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。

例:

loadBalancer:
  f5BigIP:
    fileRef:
      entry: "f5-creds"

loadBalancer.f5BigIP.partition

loadBalancer.kind = "f5BigIP" の場合は必須
不変の文字列

管理クラスタ用に作成した BIG-IP パーティションの名前。

例:

loadBalancer:
  f5BigIP:
    partition: "my-f5-admin-partition"

loadBalancer.f5BigIP.snatPoolName

loadBalancer.kind = "f5BigIP" であり、SNAT を使用している場合に必須
不変の文字列

SNAT プールの名前。

例:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

loadbalancer.kind"Seesaw" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

Seesaw ロードバランサの設定については、Seesaw ロードバランサのクイックスタートSeesaw によるバンドル型負荷分散をご覧ください。

loadBalancer.seesaw.ipBlockFilePath

loadBalancer.kind = Seesaw の場合は必須
不変の文字列

Seesaw VM の IP ブロック ファイルのパス。

例:

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

loadBalancer.kind = Seesaw の場合は必須
不変の整数
有効な値: 1~255
事前入力: 0

Seesaw VM の仮想ルーター識別子。この 識別子(任意の整数)は VLAN 内で一意である必要があります。

例:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

loadBalancer.kind = Seesaw の場合は必須
不変の文字列

マスター Seesaw VM に構成された仮想 IP アドレス。

例:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

loadBalancer.kind = Seesaw の場合は必須
不変の整数
事前入力: 4

各 Seesaw VM の CPU 数。

例:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

loadBalancer.kind = Seesaw の場合は必須
不変の整数
事前入力: 3072

各 Seesaw VM のメモリのメビバイト数。

例:

loadBalancer:
  seesaw:
    memoryMB: 8192

注: このフィールドは、メガバイト数ではなくメモリのメビバイト数を指定します。1 メビバイトは、2^20 = 1,048,576 バイトです。1 メガバイトは、10^6 = 1,000,000 バイトです。

loadBalancer.seesaw.vCenter.networkName

省略可
不変の文字列
デフォルト: クラスタノードと同じ

Seesaw VM を含む vCenter ネットワークの名前。

例:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

省略可
loadBalancer.kind = Seesaw の場合に関連します
不変ブール値
事前入力: false
デフォルト: false

高可用性(HA)Seesaw ロードバランサを作成する場合は、これを true に設定します。それ以外の場合は false に設定します。HA Seesaw ロードバランサは、VM の(マスター、バックアップ)ペアを使用します。

例:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

任意
関連する場合loadBalancer.kind = Seesaw
不変のブール値
事前入力: true
デフォルト: true

この値を true に設定すると、Seesaw ロードバランサはフェイルオーバーに MAC ラーニングを使用しません。代わりに、Gratuitous ARP を使用します。この値を false に設定すると、Seesaw ロードバランサは MAC ラーニングを使用します。これを true に設定することをおすすめします。vSphere 7 以降を使用していて、高可用性の Seesaw ロードバランサを使用している場合は、これを true に設定する必要があります。

例:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

loadbalancer.kind"MetalLB" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

詳細については、MetalLB によるバンドルされた負荷分散をご覧ください。

loadBalancer.metalLB.addressPools

loadBalancer.kind = 'MetalLB' の場合は必須

オブジェクトの可変配列。それぞれは、MetalLB ロードバランサで使用されるアドレスプールに関する情報を保持します。

loadBalancer.metalLB.addressPools[i].name

loadBalancer.kind の場合は必須 = MetalLB
変更可能な文字列

アドレスプールに付ける名前。

例:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses

loadBalancer.kind の場合必須 = MetalLB

文字列のアドレスからなる可変配列。それぞれは、アドレスの範囲です。各範囲は、CIDR 形式またはハイフン付きの範囲の形式であることが必要です。

例:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      addresses:
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs

任意
関連する場合loadBalancer.kind = MetalLB
変更可能なブール値
事前入力: false
デフォルトは false です。

true に設定すると、MetalLB コントローラは .0 または .255 で終わる IP アドレスを Service に割り当てません。これにより、バグの多いコンシューマ デバイスが、これらの特別な IP アドレスに送信されたトラフィックを誤って破棄するという問題を回避できます。

例:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
      avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign

任意
関連する場合loadBalancer.kind = MetalLB
変更可能なブール値
事前入力: false
デフォルトは false です。

MetalLB コントローラによってこのプールから Service に IP アドレスが自動的に割り当てられるようにしない場合は、true に設定します。次に、デベロッパーは、LoadBalancer タイプの Service を作成し、プールからアドレスのいずれか 1 つを手動で指定します。

それ以外の場合は false に設定します。

例:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      manualAssign: true

enableDataplaneV2

省略可
不変のブール値
事前入力: false
デフォルト: false

Dataplane V2 を有効にする場合は、true に設定します。それ以外の場合は false に設定します。

例:

enableDataplaneV2: true

トラブルシューティングの手順については、Dataplane V2 のトラブルシューティングをご覧ください。

enableWindowsDataplaneV2

プレビュー
省略可
不変のブール値
事前入力: false
デフォルト: false

Windows ノードを持つクラスタで Windows Dataplane V2 を有効にする場合は、これを true に設定します。それ以外の場合は false に設定します。

enableWindowsDataplaneV2true に設定されている場合、Docker ランタイムではなく、containerd ランタイムが有効になります。

例:

enableWindowsDataplaneV2: true

トラブルシューティングの手順については、Dataplane V2 のトラブルシューティングをご覧ください。Windows Server OS ノードを含むノードプールを設定するには、Windows Server OS ノードプールのユーザーガイドをご覧ください。

multipleNetworkInterfaces

プレビュー
省略可
不変のブール値
事前入力: false
デフォルト: false

Pod の複数のネットワーク インターフェースを有効にする場合は、true に設定します。それ以外の場合は false に設定します。

詳細については、Pod の複数のネットワーク インターフェースを構成するをご覧ください。

例:

multipleNetworkInterfaces: true

advancedNetworking

プレビュー
省略可
ブール値
事前入力: false
デフォルト: false

外向き NAT ゲートウェイを作成する予定の場合は、true に設定します。それ以外の場合は、false に設定します。

このフィールドを true に設定した場合は、enableDataplaneV2true に設定する必要があります。

例:

advancedNetworking: true

masterNode

このセクションには、このユーザー クラスタのコントロール プレーン ノードとして機能する管理クラスタ内のノードに関する情報が含まれます。

masterNode.vsphere.datastore

vCenter.datacenter が管理クラスタから継承する場合は省略可
vCenter.datacenter が管理クラスタのデータセンターと等しくない場合は必須
不変の文字列

デフォルト: vCenter.datacenter が管理クラスタから継承する場合は、この構成ファイルで指定されているようにデフォルトで vCenter.datastore に設定されます。

デフォルト: vCenter.datacenter が管理クラスタのデータセンターと異なる場合、これにはデフォルト値はありません。

このユーザー クラスタのコントロール プレーン ノードの vSphere データストア。

例:

masterNode:
   vsphere:
      datastore: "control-plane-datastore"

masterNode.cpus

省略可
変更可能な整数
事前入力: 4
デフォルト: 4

このユーザー クラスタのコントロール プレーンとして機能する各管理クラスタノードの CPU の数。

例:

masterNode:
  cpus: 8

masterNode.memoryMB

省略可
変更可能な整数
事前入力: 8192
デフォルト: 8192

このユーザー クラスタのコントロール プレーンとして機能する各管理クラスタノードのメモリのメビバイト数。4 の倍数である必要があります。

例:

masterNode:
  memoryMB: 8192

注: このフィールドは、メガバイト数ではなくメモリのメビバイト数を指定します。1 メビバイトは、2^20 = 1,048,576 バイトです。1 メガバイトは、10^6 = 1,000,000 バイトです。

masterNode.replicas

省略可
不変の整数
有効な値: 1 または 3
事前入力: 1
デフォルト: 1

このユーザー クラスタのコントロール プレーン ノードの数。 この数は、クラスタの作成後に変更できません。後でレプリカの数を更新する場合は、ユーザー クラスタを再作成する必要があります。

ユーザー クラスタのコントロール プレーン ノードは管理クラスタにあります。

例:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

省略可
変更可能なブール値
事前入力: false
デフォルト: false

true に設定すると、ユーザー クラスタのコントロール プレーン ノードのサイズが自動的に変更されます。それ以外の場合は false に設定します。

ユーザー クラスタのコントロール プレーン ノードは管理クラスタにあります。

詳細については、ユーザー クラスタのコントロール プレーン ノードのノードサイズ変更を有効にするをご覧ください。

例:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

省略可
不変の文字列
デフォルト: vCenter.datastore の値

このユーザー クラスタのコントロール プレーン ノードが作成されるデータストア。

例:

masterNode:
  vSphere:
    datastore: "control-plane-datastore"

nodePools

必須
オブジェクトの配列。各オブジェクトはノードプールを表します。

詳細については、ノードプールの作成と管理をご覧ください。

nodePools[i].name

必須
変更可能な文字列

ノードプールに付ける名前。名前は次の条件を満たす必要があります。

  • 最大文字数は 40 文字とする
  • 小文字の英数字またはハイフン(-)のみを使用している
  • 先頭が英字である
  • 末尾が英数字である

例:

nodePools:
- name: "my-node-pool-1"

nodePools[i].cpus

必須
変更可能な整数
事前入力: 4

プール内の各ノードの vCPU 数。

例:

nodePools"
- name: "my-node-pool"
  cpus: 8

nodePools[i].memoryMB

必須
変更可能な整数
事前入力: 8192

プール内の各ノードのメモリ容量(MiB)。4 の倍数である必要があります。

例:

nodePools"
- name: "my-node-pool"
  memoryMB: 8192

注: このフィールドは、メガバイト数ではなくメモリのメビバイト数を指定します。1 メビバイトは、2^20 = 1,048,576 バイトです。1 メガバイトは、10^6 = 1,000,000 バイトです。

nodePools[i].replicas

必須
変更可能な整数
事前入力: 3
有効な値: 配列内のすべてのノードプール内の未保持ノードの合計数が少なくとも 3 になっている必要があります。

プール内のノード数。

例:

nodePools:
- name: "my-node-pool"
  replicas: 5

nodePools[i].bootDiskSizeGB

省略可
変更可能な整数
事前入力: 40
デフォルト: 40

プール内の各ノードのブートディスクのサイズ(ギビバイト単位)。

例:

nodePools
- name: "my-node-pool"
  bootDiskSizeGB: 40

nodePools[i].osImageType

任意
変更可能な文字列
有効な値: "ubuntu"、"ubuntu_containerd"、"cos"、"windows"
事前入力: "ubuntu_containerd"
デフォルト: 「ubuntu_containerd」

ノードプール内の VM で実行する OS イメージのタイプ

例:

nodePools
- name: "my-node-pool"
  osImageType: "ubuntu_containerd"

nodePools[i].osImage

nodePools[i].osImageType の場合は必須 = windows
変更可能な文字列

Windows VM テンプレートの名前。テンプレートは、en-US 言語 / リージョン タグを持つ Windows Server 2019 ISO に基づいている必要があります。

詳細については、Windows Server OS ノードプールのユーザーガイドをご覧ください。

nodePools[i].labels

省略可
変更可能なマッピング

プール内の各 Kubernetes ノード オブジェクトに適用するラベル。

例:

nodePools:
- name: "my-node-pool"
  labels:
    environment: "production"
    tier: "cache"

nodePools[i].taints

省略可
オブジェクトの変更可能な配列。それぞれが taint を表します。

例:

nodePools:
- name: "my-node-pool"
  taints:
  - key: "staging"
    value: "true"
    effect: "NoSchedule"

nodePools[i].vsphere.datastore

省略可
変更可能な文字列
デフォルト: vCenter.datastore の値

ノードが作成される vCenter データストアの名前。

例:

nodePools:
- name: "my-node-pool"
  vsphere:
    datastore: "my-datastore"

nodePools[i].vsphere.tags

省略可
オブジェクトの変更可能な配列。それぞれが、ノードプール内の VM に配置される vSphere タグを記述します。

各タグにはカテゴリと名前があります。

例:

nodePools:
- name: "my-node-pool"
  vsphere:
    tags:
    - category: "purpose"
      name: "testing"

ノードプール内のすべての VM にタグを追加する場合は、vCenter ユーザー アカウントに次の vSphere のタグ付け権限が必要です。

  • vSphere Tagging.Assign または vSphere タグ付け解除
  • vSphere Tagging.Assign またはオブジェクトに対する vSphere タグ付け解除(vSphere 7)

nodePools[i].autoscaling

プレビュー
省略可

ノードプールの自動スケーリングを有効にする場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

nodePools[i].autoscaling.minReplicas

省略可
変更可能な整数
有効な値: 1 以上
事前入力: 0

オートスケーラーがプールに対して設定できるノードの最小数。

例:

nodePools:
- name: "my-node-pool"
  autoscaling:
    minReplicas: 5

nodePools[i].autoscaling.maxReplicas

省略可
変更可能な整数
事前入力: 0

オートスケーラーがプールに対して設定できるノードの最大数。

例:

nodePools:
- name: "my-node-pool"
  autoscaling:
    maxReplicas: 10

nodePools[i].enableLoadBalancer

プレビュー
省略可
関連する場合loadBalancer.kind = "MetalLB"
変更可能なブール値
事前入力: false
デフォルトは false です。

プール内のノードで MetalLB スピーカーを実行できるようにする場合は、これを true に設定します。それ以外の場合は、false に設定します。

詳細については、バンドルされた負荷分散をご覧ください。

例:

nodePools:
- name: "my-node-pool"
  enableLoadBalancer: true

antiAffinityGroups.enabled

必須
変更可能なブール値
事前入力: true

DRS ルールの作成を有効にするには、この値を true に設定します。それ以外の場合は false に設定します。

例:

antiAffinityGroups:
  enabled true

Anthos clusters on VMware はユーザー クラスタのノードに対して VMware Distributed Resource Scheduler(DRS)の反アフィニティ ルールを自動的に作成し、データセンター内の少なくとも 3 つの物理ホストにそれを分散させます。

この機能を使用するには、vSphere 環境が次の条件を満たしている必要があります。

  • VMware DRS が有効になっていること。VMware DRS には、vSphere Enterprise Plus ライセンス エディションが必要です。

  • vSphere ユーザー アカウントに Host.Inventory.Modify cluster 権限があること。

  • 利用可能な物理ホストが少なくとも 3 つあること。

前述のとおり、vSphere スタンダード ライセンスがある場合、VMware DRS を有効にすることはできません。

DRS が有効になっていない場合や、vSphere VM をスケジュール設定できるホストが 3 つ以上ない場合は、antiAffinityGroups.enabledfalse に設定します。

enableVMTracking

プレビュー
省略可
事前入力: false

これを true に設定すると、vSphere タグで VM のトラッキングが有効になります。それ以外の場合は、false に設定します。

詳細については、VM トラッキングを有効にするをご覧ください。

例:

enableVMTracking: true

authentication

このセクションには、クラスタ ユーザーの認証方法と認可方法に関する情報が含まれます。

authentication.oidc

このセクションは使用しないでください。代わりに、クラスタの作成後に、OIDC による Anthos Identity サービス用のクラスタの構成 の説明に従って ClientConfig カスタム リソースを編集します。

authentication.sni

省略可

クラスタの Kubernetes API サーバーに追加のサービス証明書を提供する場合は、このセクションに入力してください。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

authentication.sni.certPath

省略可
不変の文字列

Kubernetes API サーバーのサービス証明書のパス。

例:

authentication:
  sni:
    certPath: "my-cert-folder/example.com.crt"

authentication.sni.keyPath

省略可
不変の文字列

証明書の秘密鍵ファイルのパス。

例:

authentication:
  sni:
    keyPath: "my-cert-folder/example.com.key"

gkeConnect

必須

このセクションでは、Google Cloud フリートにクラスタを登録するために使用する Google Cloud プロジェクトとサービス アカウントに関する情報が含まれます。

gkeConnect.projectID

必須
不変の文字列

フリート ホスト プロジェクトの ID。

例:

gkeConnect:
  projectID: "my-fleet-host-project-123"

gkeConnect.registerServiceAccountKeyPath

必須
変更可能な文字列

接続登録サービス アカウントの JSON 鍵ファイルのパス。

このフィールドの値を更新するには、gkectl update cluster を使用します。

connect-register サービス アカウント キーの変更については、サービス アカウント キーのローテーションをご覧ください。

例:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

stackdriver

クラスタに対して Cloud Logging と Cloud Monitoring を有効にする場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

stackdriver.projectID

Logging と Monitoring の場合は必須
不変の文字列

logging-monitoring プロジェクトの ID。これは、ログと指標を表示する Cloud プロジェクトです。

例:

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

Logging と Monitoring の場合は必須
不変の文字列
事前入力: "us-central1"

ログを保存する Google Cloud リージョン。お使いのオンプレミス データセンターの近くのリージョンを選択することをおすすめします。

例:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

省略可
不変のブール値
事前入力: false

クラスタのネットワークが VPC によって管理されている場合は、これを true に設定します。これにより、すべてのテレメトリーが Google の制限された IP アドレスを通過するようになります。それ以外の場合は false に設定します。

例:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Logging と Monitoring の場合は必須
変更可能な文字列

ロギング モニタリング サービス アカウントの JSON 鍵ファイルのパス。

このフィールドの値を更新するには、gkectl update cluster を使用します。

logging-monitoring サービス アカウント キーの変更については、サービス アカウント キーのローテーションをご覧ください。

例:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.disableVsphereResourceMetrics

省略可
不変のブール値
事前入力: false
デフォルト: false

これを true に設定すると、vSphere からの指標の収集が無効になります。それ以外の場合は、false に設定します。

例:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

alpha
省略可

クラスタの使用状況の測定を有効にする場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

usageMetering.bigQueryProjectID

アルファ版 使用状況測定で必須
変更不可の文字列

使用状況の測定データを保存する Google Cloud プロジェクトの ID。

例:

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

アルファ版 使用状況測定で必須
変更不可の文字列

使用状況の測定データを格納する BigQuery データセットの ID。例:

usageMetering:
  bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

アルファ版 使用状況測定で必須
変更可の文字列。

BigQuery サービス アカウントの JSON 鍵ファイルのパス。

このフィールドの値を更新するには、gkectl update cluster を使用します。

BigQuery サービス アカウント キーの変更については、サービス アカウント キーのローテーションをご覧ください。

例:

usageMetering:
  bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"

usageMetering.enableConsumptionMetering

アルファ版 使用状況測定で必須
不変のブール値
事前入力: false

使用量をベースとした測定を有効にするには、これを true に設定します。それ以外の場合は false に設定します。

例:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

クラスタの Kubernetes API サーバーの監査ログを Cloud Audit Logs と統合する場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

cloudAuditLogging.projectID

Cloud Audit Logs の場合は必須
不変の文字列

監査ログを保存する Google Cloud プロジェクトのプロジェクト ID。

例:

cloudAuditLogging:
  projectID: "my-audit-project"

cloudAuditLogging.clusterLocation

Cloud Audit Logs の場合は必須
不変の文字列

監査ログを保存する Google Cloud のリージョン。お使いのオンプレミス データセンターの近くのリージョンを選択することをおすすめします。

例:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

プレビュー
Cloud Audit Logs の場合は必須
変更可能な文字列

監査ログ サービス アカウントの JSON 鍵ファイルのパス。

このフィールドの値を更新するには、gkectl update cluster を使用します。

audit-logging サービス アカウント キーの変更については、サービス アカウント キーのローテーションをご覧ください。

例:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

autoRepair.enabled

必須
変更可能なブール値
事前入力: true

ノードの自動修復を有効にするには、これを true に設定します。それ以外の場合は、false に設定します。

例:

autoRepair:
  enabled: true

secretsEncryption

外部 KMS(鍵管理サービス)やその他の依存関係を必要とせずに Secret を暗号化する場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

secretsEncryption.mode

Secret の暗号化の場合は必須
不変の文字列
有効な値: 「GeneratedKey」
事前入力: 「GeneratedKey」

Secret の暗号化モード。

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Secret の暗号化の場合は必須
不変の整数
事前入力: 1

鍵のバージョン番号に使用するために選んだ整数。最初は 1 を使用することをおすすめします。

既存クラスタのこのフィールドの更新については、常にオンの Secret の暗号化をご覧ください。

例:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Secret の暗号化の場合は必須
変更可能なブール値
事前入力: false

Secret の暗号化を無効にするには、これを true に設定します。それ以外の場合は、false に設定します。

既存クラスタのこのフィールドの更新については、常にオンの Secret の暗号化をご覧ください。

例:

secretsEncryption:
  generatedKey:
    disabled: false