管理クラスタの構成ファイル

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

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

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

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

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

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

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

VERSION を必要なバージョン番号に置き換えます。バージョン番号は、gkectl 以降のバージョンにする必要があります。例: gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0このフラグを省略すると、生成された構成テンプレートには、最新のクラスタ バージョンに基づく値が入力されます。

テンプレート

構成ファイルの入力

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

name

省略可
文字列
デフォルト: 接頭辞「gke-admin-」が付いたランダムな名前

クラスタに付ける名前。

例:

name: "my-admin-cluster"

bundlePath

必須
変更可
文字列

GKE on VMware バンドル ファイルのパス。

GKE on VMware のフルバンドル ファイルには、GKE on VMware の特定のリリースのすべてのコンポーネントが含まれています。管理ワークステーションを作成すると、フルバンドルが次の場所に追加されます。

/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz

例:

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

vCenter

必須
不変

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

vCenter.address

必須
不変
文字列

vCenter Server の IP アドレスまたはホスト名。

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

例:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

必須
不変
文字列

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

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

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

例:

vCenter:
  datacenter: "my-data-center"

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

例:

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

vCenter.cluster

必須
不変
文字列

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

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

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

例:

vCenter:
  cluster: "my-vsphere-cluster"

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

例:

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

vCenter.resourcePool

必須
不変
文字列

管理クラスタ VM の vCenter リソースプール

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

例:

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

すでに作成したリソースプールを使用する場合は、これにリソースプールの相対パスを設定します。

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

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

例:

vCenter:
  resourcePool: "my-resource-pool"

リソースプールが別のリソースプールの下にネストされている場合は、これにリソースプールのフルパスを設定します。

例:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"

vCenter.datastore

必須
不変
文字列

管理クラスタの vSphere データストアの名前。

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

例:

vCenter:
  datastore: "my-datastore"

vCenter.caCertPath

必須
変更可
文字列

vCenter Server の CA 証明書のパス。

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

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

例:

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

vCenter.credentials.fileRef.path

必須
文字列

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

gkectl update を使用すると、既存のクラスタのこのフィールドを更新できます。

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

例:

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

vCenter.credentials.fileRef.entry

必須
文字列

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

gkectl update を使用すると、既存のクラスタのこのフィールドを更新できます。

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

例:

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

vCenter.folder

省略可
不変
文字列
デフォルト: データセンター全体のフォルダ

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

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

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

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

例:

vCenter:
  folder: "my-folder"

vm フォルダが別の vm フォルダの下にネストされている場合は、これを vm フォルダのフルパスに設定します。

例:

vCenter:
  folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"

vm フォルダのフルパスの先頭に「/」を含める必要があります。

vCenter.dataDisk

必須
不変
文字列

GKE on VMware は、Kubernetes オブジェクト データを保持する仮想マシンディスク(VMDK)を作成します。インストーラによって VMDK が作成されますが、vCenter.dataDisk フィールドに VMDK の相対パスを指定する必要があります。

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

VMDK を /.../DATA_CENTER/datastore/ フォルダに配置する場合、値は VMDK の名前です。

adminMaster.replicas3 に設定した場合は、このフィールドに設定してはいけません。HA 管理クラスタの場合、3 台の管理コントロール プレーン マシンのデータディスクパスが /anthos/ADMIN_CLUSTER/default/ の下に自動生成されます。

例:

vCenter:
  dataDisk: "my-disk.vmdk"

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

例:

vCenter:
  dataDisk: "data-disks/data-disk-1.vmdk"

vSAN データストアを使用している場合、VMDK は作成済みのフォルダ内に存在する必要があります。

govc を使用してフォルダを作成できます。

govc datastore.mkdir -namespace=true data-disks

network

必須
不変

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

network.hostConfig

不変

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

  • network.ipMode.type"static" に設定されています
  • loadBalancer.kind"Seesaw" に設定されています
  • adminMaster.replicas3 に設定されています

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

network.hostConfig.dnsServers

network.hostConfig セクションに値が入力されている場合は必須です。
不変
文字列の配列。
配列内の要素の最大数は 3 つです。

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

例:

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

network.hostConfig.ntpServers

network.hostConfig セクションに値が入力されている場合は必須です。
不変
文字列の配列

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

例:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

省略可
不変
文字列の配列

VM が使用する 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/admin-cluster-ipblock.yaml"

network.serviceCIDR

必須
不変
文字列
可能な最小範囲: /24
可能な最大範囲: /12
事前入力: 「10.96.232.0/24」
デフォルト: 「10.96.232.0/24」

クラスタ内の Service に使用される IP アドレスの範囲(CIDR 形式)。

例:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

必須
不変
文字列
可能な最小範囲: /18
可能な最大範囲: /8
事前入力: 「192.168.0.0/16」
デフォルト: 「192.168.0.0/16」

クラスタ内の Pod に使用される IP アドレスの範囲(CIDR 形式)。

例:

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 ネットワークの名前。

例:

network:
  vCenter:
    networkName: "my-network"

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

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

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

例:

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

プレビュー

高可用性管理クラスタを作成する場合は、このセクションに入力します。 それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

高可用性管理クラスタには、コントロール プレーン コンポーネントを実行する 3 つのノードがあります。

このセクションに入力する場合は、adminMaster.replicas3 に設定する必要があります。

network.controlPlaneIPBlock.netmask

プレビュー
高可用性コントロール プレーンの場合は必須
不変
文字列

コントロール プレーン ノードを持つネットワークのネットマスク。

例:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

プレビュー
高可用性コントロール プレーンの場合は必須
不変
文字列

コントロール プレーン ノードのデフォルト ゲートウェイの IP アドレス。

例:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

プレビュー
高可用性コントロール プレーンの場合は必須
不変
3 つのオブジェクトの配列。各オブジェクトには IP アドレスとオプションのホスト名があります。

これらは、コントロール プレーン ノードに割り当てられる IP アドレスです。

例:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

loadBalancer

このセクションでは、管理クラスタのロードバランサに関する情報について説明します。

loadBalancer.vips.controlPlaneVIP

必須
不変
文字列

管理クラスタの Kubernetes API サーバー用にロードバランサで構成するために選択した IP アドレス。

例:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.addonsVIP

省略可
不変
文字列

Prometheus アドオンと Grafana アドオンのロードバランサで構成するよう選択した IP アドレス。ユーザー クラスタは、この VIP を使用して管理クラスタとのメトリクス通信を行います。

例:

loadBalancer:
  vips:
    addonsVIP: "203.0.113.4"

loadBalancer.kind

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

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

adminMaster.replicas3 に設定した場合、Seesaw ロードバランサは使用できません。

例:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

loadbalancer.kind"ManualLB" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除します。
不変

loadBalancer.manualLB.ingressHTTPNodePort

このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。

loadBalancer.manualLB.ingressHTTPSNodePort

このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。

loadBalancer.manualLB.konnectivityServerNodePort

このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。

loadBalancer.manualLB.controlPlaneNodePort

loadBalancer.kind = "ManualLB" および adminMaster.replicas = 1 の場合は必須
不変
整数
事前入力: 30968

管理クラスタ内の Kubernetes API サーバーは、Kubernetes Service によって公開されます。Service の nodePort 値を選択する必要があります。

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

次に例を示します。

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.addonsNodePort

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

管理クラスタ内のアドオン サーバーは、Kubernetes Service によって公開されます。Service の nodePort 値を選択する必要があります。

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

例:

loadBalancer:
  manualLB:
    addonsNodePort: 31405

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 ロードバランサへの接続に使用できるアカウントの、ユーザー名とパスワードを保持する認証情報構成ファイルのパス。

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

gkectl update を使用すると、既存のクラスタのこのフィールドを更新できます。

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

例:

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

loadBalancer.f5BigIP.credentialsfileRef.entry

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

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

gkectl update を使用すると、既存のクラスタのこのフィールドを更新できます。

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

例:

loadBalancer:
  f5BigIP:
    credentials:
      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 プールの名前。SNAT を使用していない場合は、このフィールドを削除します。

例:

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

loadBalancer.seesaw

loadbalancer.kind"Seesaw" に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除します。
不変

Seesaw ロードバランサの設定については、Seesaw によるバンドル型ロード バランシングをご覧ください。

loadBalancer.seesaw.ipBlockFilePath

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

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

例:

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

loadBalancer.seesaw.vrid

loadBalancer.kind = "Seesaw" の場合は必須
不変
整数
有効な値: 1~255

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" の場合は必須
変更可
整数
事前入力: 2
デフォルト:

各 Seesaw VM の CPU 数。

例:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

loadBalancer.kind = "Seesaw" の場合は必須
変更可
整数
事前入力: 3072 デフォルト: 1024

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

例:

loadBalancer:
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.vCenter.networkName

省略可
loadBalancer.kind = "Seesaw" の場合に関連
不変
文字列

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

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

例:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

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 ホストを利用できるようにすることを強くおすすめします。 これにより、管理クラスタのコントロール プレーンが失われなくなります。たとえば、ESXi ホストが 3 つだけで、管理クラスタのコントロール プレーン ノードが障害が発生した ESXi ホストにあるとします。DRS ルールにより、残りの 2 つの ESXi ホストのいずれにもコントロール プレーン ノードは配置されなくなります。

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

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

adminMaster

プレビュー
省略可
不変

次のいずれかを行う場合は、このセクションに入力します。

  • 管理クラスタのコントロール プレーン ノードの CPU を指定する
  • 管理クラスタのコントロール プレーン ノードのメモリを指定する
  • プレビュー: 高可用性管理クラスタを作成する

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

adminMaster.cpus

プレビュー
省略可
不変
整数
事前入力: 4
デフォルト: 4

管理クラスタ内の各コントロール プレーン ノードの vCPU 数。

例:

adminMaster:
  cpus: 4

adminMaster.memoryMB

プレビュー
省略可
不変
整数
事前入力: 16384
デフォルト: 16384

管理クラスタ内の各コントロール プレーン ノードのメモリ容量(メビバイト)。

例:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

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

管理クラスタ内のコントロール プレーン ノードの数。高可用性管理クラスタを作成する場合は、これを 3 に設定します。それ以外の場合は、1 に設定します。

これを 3 に設定した場合は、network.controlPlaneIPBlock セクションと network.hostConfig セクションにも入力する必要があります。

この値を 3 に設定すると、Seesaw ロードバランサは使用できません。

例:

adminMaster:
  replicas: 3

addonNode.autoResize.enabled

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

管理クラスタのアドオンノードのサイズを自動的に変更するには、これを true に設定します。それ以外の場合は false に設定します。

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

例:

addonNode:
  autoResize:
    enabled: true

proxy

ネットワークがプロキシ サーバーの背後にある場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。
不変

proxy.url

proxy セクションに値が入力されている場合は必須です。
不変
文字列

プロキシ サーバーの HTTP アドレス。スキームのデフォルト ポートと同じ場合でも、ポート番号を含めます。

例:

proxy:
  url: "http://my-proxy.example.local:80"

ここで指定するプロキシ サーバーは、GKE on VMware クラスタで使用されます。また、管理ワークステーションで HTTPS_PROXY 環境変数を設定しない限り、管理ワークステーションはこの同じプロキシ サーバーを使用するように自動的に構成されます。

proxy.url を指定する場合は、proxy.noProxy も指定する必要があります。

管理クラスタのプロキシ構成を設定した後は、クラスタを再ビルドしない限り、構成の変更や削除はできません。

proxy.noProxy

省略可
不変
文字列

プロキシ サーバーを経由しない IP アドレス、IP アドレス範囲、ホスト名、ドメイン名のカンマ区切りのリスト。GKE on VMware がこれらのアドレス、ホスト、ドメインのいずれかにリクエストを送信する場合、そのリクエストは直接送信されます。

例:

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

非公開の Container Registry がある場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。

privateRegistry.address

非公開レジストリの場合は必須
不変
文字列

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

例:

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

privateRegistry.credentials.fileRef.path

非公開レジストリの場合は必須
変更可
文字列

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

例:

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

privateRegistry.credentials.fileRef.entry

非公開レジストリの場合は必須
変更可
文字列

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

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

privateRegistry.caCertPath

非公開レジストリの場合は必須
変更可
文字列

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

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

例:

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

componentAccessServiceAccountKeyPath

必須
変更可
文字列

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

例:

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

gkeConnect

必須
変更可

gkeConnect セクションに入力すると、管理クラスタは作成後にフリートに自動的に登録されます。このセクションには、クラスタの登録に必要な Google Cloud プロジェクトとサービス アカウントに関する情報が含まれます。

クラスタの作成または更新時に、管理クラスタにいくつかの RBAC ポリシーが構成されます。これらの RBAC ポリシーは、Google Cloud コンソールでユーザー クラスタを作成するために必要です。

gkeConnect.projectID

必須
不変
文字列

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

例:

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

gkeConnect.registerServiceAccountKeyPath

必須
変更可
文字列

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

例:

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

gkeOnPremAPI

省略可
1.15.3 以降で使用できます。

GKE On-Prem API に管理クラスタを登録する場合は、このセクションを含めます。

GKE On-Prem API に管理クラスタを登録すると、Google Cloud コンソール、Google Cloud CLI、Terraform といった標準的なツールを使用して、管理クラスタが管理するユーザー クラスタをアップグレードできます。クラスタを登録すると、gcloud コマンドを実行してクラスタに関する情報を取得することもできます。

GKE On-Prem API は、クラスタの状態メタデータを Google Cloud に保存します。このメタデータにより、API はユーザー クラスタのライフサイクルを管理できます。標準ツールは、GKE On-Prem API を使用し、総称して GKE On-Prem API クライアントと呼びます。標準ツールを使用してユーザー クラスタを作成する方法については、GKE On-Prem API クライアントを使用してユーザー クラスタを作成するをご覧ください。GKE On-Prem API クライアントを使用してユーザー クラスタを作成すると、クラスタは自動的に GKE On-Prem API に登録されます。

gkeOnPremAPI.enabledtrue に設定した場合、gkectl を使用してクラスタを作成または更新する前に、GKE On-Prem API を有効にして初期化を始める前にに記載されている手順を実行してください。

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

gkeOnPremAPI.enabled

gkeOnPremAPI セクションが含まれている場合は必須です。
変更可
ブール値 事前入力: true

GKE On-Prem API にクラスタを登録する場合は、true に設定します。

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

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

不変
文字列
事前入力: 「us-central1」

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

stackdriver

デフォルトは必須
変更可

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

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

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

stackdriver.projectID

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

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

例:

stackdriver:
  projectID: "my-fleet-host-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 鍵ファイルのパス。

既存のクラスタでこのフィールドを更新する方法については、サービス アカウント キーのローテーションをご覧ください。

例:

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

stackdriver.disableVsphereResourceMetrics

省略可
変更可
Logging と Monitoring に関連
ブール値
事前入力: false
デフォルト: false

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

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

例:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

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

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

cloudAuditLogging.projectID

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

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

例:

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

cloudAuditLogging.clusterLocation

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

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

例:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

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

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

既存のクラスタでこのフィールドを更新する方法については、サービス アカウント キーのローテーションをご覧ください。

例:

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

clusterBackup.datastore

プレビュー
省略可
変更可
文字列

管理クラスタのバックアップを有効にする場合は、これをクラスタのバックアップを保存する vSphere データストアに設定します。

adminMaster.replicas3 に設定した場合、この機能を有効にすることはできません。そのため、このフィールドの値は設定しないでください。

例:

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

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

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

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

例:

autoRepair:
  enabled: true

secretsEncryption

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

secretsEncryption.mode

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

Secret の暗号化モード。

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

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

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

例:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

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

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

例:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

省略可
文字列
有効な値: 「ubuntu_containerd」または「cos」
事前入力: 「ubuntu_containerd」
デフォルト: 「ubuntu_containerd」

管理クラスタノードで実行する OS イメージのタイプ。

例:

osImageType: "cos"