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

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

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

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

必須
変更可
文字列

ユーザー クラスタの GKE on VMware のバージョン。

例:

gkeOnPremVersion: "1.14.0-gke.1"

preparedSecrets.namespace

事前に用意された認証情報を使用する場合は、このフィールドに入力します。それ以外の場合は、このフィールドを削除するか、コメントアウトしたままにします。

省略可
不変
文字列
有効な値:「gke-onprem-secrets-」で始まる文字列

このユーザー クラスタに対して、事前作成された Secret が保持される管理クラスタ内の Kubernetes Namespace の名前。

例:

preparedSecrets:
  namespace: "gke-onprem-secrets-alice"

enableControlplaneV2

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

Controlplane V2 が有効になっているユーザー クラスタを作成する場合は、これを true に設定します。それ以外の場合は、false に設定します。

例:

enableControlplaneV2: true

vCenter

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

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

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

vCenter.address

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

このユーザー クラスタに使用する vCenter Server のインスタンスの IP アドレスまたはホスト名。

詳細については、vCenter Server アドレスの確認をご覧ください。

管理クラスタで使用されている vCenter Server のインスタンスとは異なる値を指定する場合は、Controlplane V2 を有効にし、network.vCenter.networkName とセクション vCenter のすべての必須フィールドの値を指定する必要があります。

例:

vCenter:
  address: "203.0.113.101"
vCenter:
  address: "my-vcenter-server-2.my-domain.example"

vCenter.datacenter

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

vSphere データセンターの相対パス。

このフィールドに値を指定する場合は、以下も指定する必要があります。

  • vCenter.networkName
  • vCenter.datastore または vCenter.storagePolicyName を指定します。
  • vCenter.cluster または vCenter.resourcePool を指定します。

指定する値は、/ という名前のルートフォルダを基準とします。

データセンターがルートフォルダにある場合、値はデータセンターの名前です。

例:

vCenter:
  datacenter: "my-uc-data-center"

それ以外の場合は、値は 1 つ以上のフォルダとデータセンターの名前を含む相対パスになります。

例:

vCenter:
  datacenter: "data-centers/data-center-2"

vCenter.cluster

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

ユーザー クラスタ VM を実行する ESXi ホストを表す vSphere クラスタの相対パス。この vSphere クラスタは、vCenter データセンターの物理 ESXi ホストのサブセットを表します。

指定する値は、/.../DATA_CENTER/vm/ を基準とします。

vSphere クラスタが /.../DATA_CENTER/vm/ フォルダにある場合、値は vSphere クラスタの名前です。

例:

vCenter:
  cluster: "my-uc-vsphere-cluster"

それ以外の場合、値は 1 つ以上のフォルダと vSphere クラスタの名前を含む相対パスになります。

例:

vCenter:
  cluster: "clusters/vsphere-cluster-2"

vCenter.resourcePool

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

ユーザー クラスタ VM 用の vCenter リソースプール

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

例:

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

指定する値は /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ を基準とします。

リソースプールが /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ の直接の子である場合、値はリソースプールの名前です。

例:

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

それ以外の場合、値は 2 つ以上のリソースプールを含む相対パスです。

例:

vCenter:
  resourcePool: "uc-resource-pool-1/uc-resource-pool-2"

vCenter.datastore

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

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

指定する値はパスではなく名前にする必要があります。値にフォルダを含めないでください。

例:

vCenter:
  datastore: "my-uc-datastore"

このフィールドの値を指定する場合は、vCenter.storagePolicyName の値を指定しないでください。

vCenter.storagePolicyName

省略可
文字列

クラスタノードの VM ストレージ ポリシーの名前。

特定のノードプール内のノード用の VM ストレージ ポリシーを指定することもできます。ただし、ここで指定したポリシーは、独自のポリシーを持たないノードプールにも適用されます。

詳細については、ストレージ ポリシーの構成をご覧ください。

このフィールドの値を指定する場合は、vCenter.datastore の値を指定しないでください。

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

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

preparedSecrets.namespace に値を指定する場合は、このフィールドに値を指定しないでください。代わりに、vCenter.credentials.secretRef.version の値を指定します。

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.credentials.secretRef.version

prepareSecrets.namespace に値を指定した場合は必須
文字列
有効な値: 整数文字列または「latest」
デフォルト値: 「latest」

preparedSecrets.namespace に値を指定する場合は、このフィールドに入力します。それ以外の場合は、このフィールドを削除するか、コメントアウトしたままにします。

このユーザー クラスタに使用する vCenter Server のインスタンスのユーザー名とパスワードを保持する管理クラスタ内の準備された Secret のバージョン。

例:

vCenter:
  credentials:
    secretRef:
      version: "1"

vCenter.folder

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

すでに作成した vSphere フォルダの相対パス。このフォルダはユーザー クラスタ VM を保持します。

値を指定しない場合、ユーザー クラスタ VM は /.../DATA_CENTER/vm/ に配置されます。

値を指定すると、/.../DATA_CENTER/vm/ を基準とします。

値にはフォルダの名前を指定できます。

例:

vCenter:
  folder: "my-uc-folder"

複数のフォルダを含む相対パスを値に指定することもできます。

例:

vCenter:
  folder: "folders/folder-2"

componentAccessServiceAccountKeyPath

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

コンポーネント アクセス サービス アカウントの JSON キーファイルのパス。

例:

componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"

componentAccessServiceAccountKey.secretRef.version

省略可
変更可
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

コンポーネント アクセス サービス アカウントの JSON キーを保持する管理クラスタ内で準備された Secret のバージョン。

例:

componentAccessServiceAccountKey:
  secretRef:
    version: "1"

privateRegistry

管理クラスタが非公開レジストリを使用し、ユーザー クラスタで異なる非公開レジストリを使用する場合にのみ、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

管理クラスタの設定と異なる設定が必要な場合:

  • 異なるユーザー名、パスワード、証明書

  • Control Plane V2 にのみ使用可能)別の非公開レジストリ アドレス

ここで privateRegistry フィールドに入力します。新しい設定は、クラスタの作成と更新時に取得されます。

privateRegistry.address

非公開レジストリの場合は必須
不変
文字列
デフォルト: 管理クラスタから継承

非公開の Docker レジストリを実行するマシンの IP アドレスまたは FQDN(完全修飾ドメイン名)。

例:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

非公開レジストリの場合は必須
変更可
文字列
デフォルト: 管理クラスタから継承

非公開レジストリに準備された Secret を使用する場合は、このフィールドに値を指定しないでください。代わりに、privateRegistry.credentials.secretRef.version に値を指定します。

GKE on VMware が非公開 Docker レジストリへのアクセスに使用できるアカウントのユーザー名とパスワードを保持する認証情報構成ファイルのパス。

例:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

非公開レジストリの場合は必須
変更可
文字列
デフォルト: 管理クラスタから継承

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

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.credentials.secretRef.version

非公開レジストリに準備されたシークレットを使用する場合は必須
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

preparedSecrets.namespace に値を指定し、非公開レジストリに準備したシークレットを使用する場合は、このフィールドに入力します。それ以外の場合は、このフィールドを削除するか、コメントアウトしたままにします。

このユーザー クラスタに使用する vCenter Server のインスタンスのユーザー名とパスワードを保持する管理クラスタ内の準備された Secret のバージョン。

例:

privateRegistry:
  credentials:
    secretRef:
      version: "1"

privateRegistry.caCertPath

非公開レジストリの場合は必須
変更可
文字列
デフォルト: 管理クラスタから継承

Docker が非公開レジストリからイメージを pull する場合、レジストリは証明書を提示して自身の ID を証明する必要があります。レジストリの証明書は、認証局(CA)によって署名されます。Docker は、CA 証明書を使用してレジストリの証明書を検証します。

このフィールドを CA 証明書のパスに設定します。

例:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

network

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

network.hostConfig

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

このセクションは、次のうち 1 つ以上が正の場合に必要です。

  • network.ipMode.typestatic に設定されています
  • enableControlplaneV2true に設定されているか、デフォルトで true に設定されています。
  • loadBalancer.kind"Seesaw" に設定されています

network.hostConfig.dnsServers

必須
不変
文字列の配列
配列内の要素の最大数は 3 です。

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

vCenter.address が、管理クラスタに使用している vCenter アドレスと異なる場合に必要です。
不変
文字列

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

例:

network:
  vCenter:
    networkName: "my-network"

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

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

データセンター内でネットワーク名が一意でない場合は、フルパスを指定できます。

例:

network:
  vCenter:
    networkName: "/my-uc-datacenter/network/my-network"

network.additionalNodeInterfaces

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

変更不可

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

network.additionalNodeInterfaces[i].networkName

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

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

例:

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

network.additionalNodeInterfaces[i].type

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

例:

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

network.additionalNodeInterfaces[i].ipBlockFilePath

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

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

例:

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

network.controlPlaneIPBlock

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

network.controlPlaneIPBlock.netmask

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

例:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

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

例:

network:
  controlPlaneIPBlock:
    gateway: "172.16.21.1"

network.controlPlaneIPBlock.ips

enableControlplaneV2 = true の場合は必須
不変
それぞれが IP アドレスとオプションのホスト名を持つオブジェクトの配列。

高可用性(HA)ユーザー クラスタの場合、配列には 3 つの要素があります。HA 以外のユーザー クラスタの場合、配列には 1 つの要素があります。

例:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.21.6"
      hostname: "cp-vm-1"
    - ip: "172.16.21.7"
      hostname: "cp-vm-2"
    - ip: "172.16.21.8"
      hostname: "cp-vm-3"

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

必須
不変
文字列
事前入力:「MetalLB」

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

例:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

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

loadBalancer.manualLB.ingressHTTPNodePort

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

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

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

例:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

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

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

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

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

loadBalancer.kind = ManualLB および enableControlplaneV2 = false の場合は必須
不変
整数
事前入力: 30562

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

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

例:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

loadBalancer.kind = ManualLB および enableControlplaneV2 = false の場合は必須
不変
整数
事前入力: 30563

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

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

例:

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.f5BigIP

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

loadBalancer.f5BigIP.address

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

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

例:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

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

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

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

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

例:

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

loadBalancer.f5BigIP.credentials.fileRef.entry

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

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

例:

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

loadBalancer.f5BigIP.partition

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

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

例:

loadBalancer:
  f5BigIP:
    partition: "my-f5-user-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 を有効にする場合、または Controlplane V2 を使用する場合は、これを true に設定します。それ以外の場合は false に設定します。

例:

enableDataplaneV2: true

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

dataplaneV2.forwardMode

省略可
不変
文字列
有効な値:「snat」、「dsr」
事前入力:「snat」
デフォルト:「snat」

Dataplane V2 が有効になっているクラスタの転送モード。

送信元ネットワーク アドレス変換(SNAT)モードでは、ロードバランサ ノードからバックエンド Pod に転送される際にパケットが SNAT 変換されます。Pod は元の送信元 IP アドレスを認識できず、戻りパケットはロードバランサ ノードを通過する必要があります。

Direct Server Return(DSR)モードでは、パケットがロードバランサ ノードからバックエンド Pod に転送されるときに元の送信元 IP アドレスが保持されます。Pod は元の送信元 IP アドレスを認識でき、戻りパケットはロードバランサ ノードを経由せずにクライアントに直接送信されます。

例:

dataplaneV2:
  forwardMode: "dsr"

multipleNetworkInterfaces

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

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

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

例:

multipleNetworkInterfaces: true

advancedNetworking

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

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

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

例:

advancedNetworking: true

disableBundledIngress

クラスタのバンドルされた Ingress を無効にする場合は、これを true に設定します。それ以外の場合は、false に設定します。

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

例:

disableBundledIngress: true

storage.vSphereCSIDisabled

vSphere CSI コンポーネントのデプロイを無効にする場合は、これを true に設定します。それ以外の場合は、false に設定します。

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

例:

storage:
  vSphereCSIDisabled: false

masterNode

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

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"

このフィールドの値を指定する場合は、masterNode.vsphere.storagePolicyName の値を指定しないでください。

masterNode.vsphere.storagePolicyName

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

コントロール プレーンノードの VM ストレージ ポリシーの名前。

詳細については、ストレージ ポリシーの構成をご覧ください。

例:

masterNode:
  vSphere:
    storagePolicyName: "control-plane-storage-policy"

このフィールドの値を指定する場合は、masterNode.vsphere.datastore の値を指定しないでください。

nodePools

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

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

nodePools[i].name

必須
不変
文字列

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

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

例:

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

nodePools[i].gkeOnPremVersion

ユーザー クラスタをアップグレードするときに、選択したノードプールを以前のバージョンのままにできます。

このノードプールを以前のバージョンのままにする場合は、これを以前のバージョンに設定します。それ以外の場合は、このフィールドを削除するか、空の文字列に設定します。 詳細については、ノードプールをアップグレードするをご覧ください。

省略可
変更可
文字列
デフォルト: クラスタ gkeOnPremVersion

例:

nodePools:
- name: "my-node-pool"
  gkeOnPremVersion: "1.13.0-gke.16"

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_containerd」、「cos」、「ubuntu_cgv2」、「cos_cgv2」、「windows」
事前入力: 「ubuntu_containerd」
デフォルト: 「ubuntu_containerd」

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

ubuntu_cgv2 または cos_cgv2 を指定する場合は、クラスタを作成または更新する前に gkectl prepare --extra-os-image-types=cgroupv2 を実行する必要があります。

例:

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

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"

セキュリティ上の理由から、kubelet は特定の名前空間で自身にラベルを適用できません。

予約済みのノードラベルの名前空間は kubernetes.iok8s.iogoogleapis.com です。

nodePools[i].taints

省略可
変更可
オブジェクトの配列。それぞれがプール内の各ノードに適用される Kubernetes taint を記述します。taint は、1 つの effect に関連付けられた Key-Value ペアです。taint は、Pod のスケジューリングの toleration で使用されます。effect には、NoSchedulePreferNoScheduleNoExecute のいずれかを指定します。

例:

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.storagePolicyName の値を指定しないでください。

nodePools[i].vsphere.storagePolicyName

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

プール内のノードの VM ストレージ ポリシーの名前。

詳細については、ストレージ ポリシーの構成をご覧ください。

例:

nodePools:
- name: "my-node-pool"
  vsphere:
    storagePolicyName: "my-storage-policy"

このフィールドの値を指定する場合は、nodePools[i].vsphere.datastore の値を指定しないでください。

nodePools[i].vsphere.hostgroups

VM-Host アフィニティを使用するようにクラスタを構成する場合は、このセクションに入力します。

省略可
変更可能
文字列の配列。各文字列は、ホスト DRS グループの名前です。

配列の要素は 1 つだけです。

例:

nodePools:
- name: "my-node-pool"
  vsphere:
    hostgroups:
    - "my-hostgroup"

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" の場合に関連
変更可
ブール値
事前入力: true
デフォルト: false

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

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

例:

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

nodePools[i].updateStrategy.rollingUpdate.maxSurge

プレビュー
省略可
変更可
整数
デフォルト: 1

更新中またはアップグレード中に同時に更新できるノードプール内のマシンの最大数。

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

antiAffinityGroups.enabled

省略可
変更可
ブール値
事前入力: true

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

例:

antiAffinityGroups:
  enabled: true

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

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

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

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

  • 利用可能なホストが少なくとも 4 つ存在すること。

このルールでは、クラスタノードを 3 つの ESXi ホストに分散させることが要件ですが、少なくとも 4 つの ESXi ホストを利用できるようにすることを強くおすすめします。

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

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

enableVMTracking

プレビュー
省略可
不変
自動入力: false

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

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

例:

enableVMTracking: true

nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate

省略可
整数
有効な値: 0 または 1 事前入力: 0

一度に更新するノードプールの数。1 の値は、一度に更新できる 1 つのノードプールをに指定します。0 の値は、一度に更新できるノードプールの数を無制限に指定します。

例:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge

プレビュー
省略可
変更可
整数
デフォルト: 1

更新中またはアップグレード中に同時に更新できるノードプール内のマシンの最大数。独自の更新戦略が指定されていないノードプールに適用されます。

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

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。 新しいクラスタの場合、このプロジェクト ID は、stackdriver.projectIDcloudAuditLogging.projectID で設定した ID と同じである必要があります。プロジェクト ID が同じでない場合、クラスタの作成は失敗します。この要件は、既存のクラスタには適用されません。

例:

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

gkeConnect.location

省略可
不変
文字列
デフォルト: グローバル

各クラスタのフリート メンバーシップは、Fleet サービス(gkehub.googleapis.com)と Connect サービス(gkeconnect.googleapis.com)で管理されます。サービスのロケーションは、グローバルにもリージョンにもできます。1.28 以降では、必要に応じて、Fleet と Connect サービスが実行される Google Cloud リージョンを指定できます。指定しない場合は、サービスのグローバル インスタンスが使用されます。次の点にご注意ください。

  • 1.28 より前に作成されたユーザー クラスタは、グローバル フリート サービスとコネクト サービスによって管理されます。

  • GKE On-Prem API クライアント(Google Cloud コンソール、Google Cloud CLI、Terraform)を使用して作成された新しいクラスタは、GKE On-Prem API に指定したリージョンと同じリージョンを使用します。

  • 新しいクラスタの場合、このフィールドを指定する場合、指定するリージョンは cloudAuditLogging.clusterLocationstackdriver.clusterLocationgkeOnPremAPI.location に構成されたリージョンと同じでなければなりません。リージョンが同じでない場合、クラスタの作成は失敗します。

例:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

必須
変更可
文字列

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

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

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

例:

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

gkeConnect.registerServiceAccountKey.secretRef.version

準備された認証情報を使用する場合は必須
変更可
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

接続登録サービス アカウントの JSON キーを保持する管理クラスタ内で準備された Secret のバージョン。

例:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

省略可

1.16 以降では、Google Cloud プロジェクトで GKE On-Prem API が有効になっている場合、プロジェクト内のすべてのクラスタが、stackdriver.clusterLocation で構成されたリージョンの GKE On-Prem API に登録(自動的に)されます。

  • GKE On-Prem API のプロジェクトにすべてのクラスタを登録する場合は、始める前にの手順に沿って、プロジェクト内の GKE On-Prem API を有効にしてから使用します。

  • GKE On-Prem API にクラスタを登録しない場合は、このセクションを追加して、gkeOnPremAPI.enabledfalse に設定します。プロジェクトにクラスタを登録しない場合は、プロジェクトで gkeonprem.googleapis.com(GKE On-Prem API のサービス名)を無効にします。手順については、サービスの無効化をご覧ください。

GKE On-Prem API にユーザー クラスタを登録すると、Google Cloud コンソール、Google Cloud CLI、Terraform などの標準ツールを使用して、クラスタのライフサイクルを管理できます。さらに、クラスタを登録すると、コンソールまたは gcloud CLI を使用してクラスタの詳細を表示できます。たとえば、gcloud コマンドを実行して、ユーザー クラスタに関する情報を取得できます。

このセクションを追加してクラスタを作成または更新した後、セクションを削除してクラスタを更新すると、更新が失敗します。

gkeOnPremAPI.enabled

gkeOnPremAPI セクションが含まれている場合は必須です。
変更可
ブール値
デフォルト: true

デフォルトでは、プロジェクトで GKE On-Prem API が有効になっている場合、クラスタは Anthos On-Prem API に登録されます。クラスタを登録しない場合は、false に設定します。

クラスタを GKE On-Prem API に登録した後、クラスタの登録を解除する必要がある場合は、次の変更を行い、クラスタを更新します。

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

gkeOnPremAPI セクションが含まれている場合は必須です。
不変
文字列
デフォルト: stackdriver.clusterLocation

GKE On-Prem API が実行され、クラスタ メタデータが保存される Google Cloud リージョン。サポートされているリージョンのいずれかを選択します。gkeConnect.locationstackdriver.clusterLocationcloudAuditLogging.clusterLocation で構成されているのと同じリージョンを使用する必要があります。gkeOnPremAPI.enabledfalse の場合、このフィールドを含めないでください。

stackdriver

デフォルトで必須
変更可

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

デフォルトでは、このセクションは必須です。つまり、このセクションを含めない場合は、gkectl create cluster を実行する際に --skip-validation-stackdriver フラグを含める必要があります。

このセクションは、Google Cloud コンソールのユーザー クラスタのライフサイクルを管理する場合にユーザー クラスタで必要です。

stackdriver.projectID

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

フリート ホスト プロジェクトの ID。 新しいクラスタの場合、このプロジェクト ID は、gkeConnect.projectIDcloudAuditLogging.projectID で設定した ID と同じである必要があります。プロジェクト ID が同じでない場合、クラスタの作成は失敗します。この要件は、既存のクラスタには適用されません。

必要に応じて、このプロジェクトのログルーターを構成して、別のプロジェクトのログバケットにログをルーティングできます。ログルーターの構成方法については、サポートされる宛先をご覧ください。

例:

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

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

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

新しいクラスタの場合、構成ファイルで gkeOnPremAPI セクションと cloudAuditLogging セクションを設定すれば、ここで設定するリージョンは、gkeConnect.locationgkeOnPremAPI.locationcloudAuditLogging.clusterLocation で設定したリージョンと同じにする必要があります。リージョンが同じでない場合、クラスタの作成は失敗します。

例:

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.serviceAccountKey.secretRef.version

準備された認証情報を使用する場合は必須
変更可
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

ロギング モニタリング サービス アカウントの JSON キーを保持する管理クラスタ内で準備された Secret のバージョン。

例:

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

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

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

例:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

プレビュー
不変
省略可

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

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.bigQueryServiceAccountKey.secretRef.version

準備された認証情報を使用する場合は必須
変更可
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

BigQuery サービス アカウントの JSON キーを保持する管理クラスタ内で準備された Secret のバージョン。

例:

gkeConnect:
  bigQueryServiceAccountKey:
    secretRef:
      version: "1"

usageMetering.enableConsumptionMetering

プレビュー
使用状況測定で必須
不変
ブール値
事前入力: false

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

例:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

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

cloudAuditLogging.projectID

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

フリート ホスト プロジェクトの ID。新しいクラスタの場合、このプロジェクト ID は、gkeConnect.projecIDstackdriver.projectID で設定した ID と同じである必要があります。プロジェクト ID が同じでない場合、クラスタの作成は失敗します。この要件は、既存のクラスタには適用されません。

必要に応じて、このプロジェクトのログルーターを構成して、別のプロジェクトのログバケットにログをルーティングできます。ログルーターの構成方法については、サポートされる宛先をご覧ください。

例:

cloudAuditLogging:
  projectID: "my-fleet-host-project"

cloudAuditLogging.clusterLocation

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

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

新しいクラスタの場合、構成ファイルで gkeOnPremAPI セクションと stackdriver セクションを設定すれば、ここで設定するリージョンは、gkeConnect.locationgkeOnPremAPI.locationstackdriver.clusterLocation で設定したリージョンと同じにする必要があります。リージョンが同じでない場合、クラスタの作成は失敗します。

例:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

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

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

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

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

例:

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

cloudAuditLogging.serviceAccountKey.secretRef.version

省略可
変更可
文字列
有効な値: 整数文字列または「latest」
デフォルト値:「latest」

監査ロギング サービス アカウントの JSON キーを保持する管理クラスタ内で準備された Secret のバージョン。

例:

cloudAuditLogging:
  serviceAccountKey:
    secretRef:
      version: "1"

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