このドキュメントでは、Google Distributed Cloud のバージョン 1.29 の管理クラスタ構成ファイル内のフィールドについて説明します。
構成ファイルのテンプレートの生成
gkeadm
を使用して管理ワークステーションを作成した場合、gkeadm
により管理クラスタの構成ファイル用のテンプレートが生成されます。また、gkeadm
によって一部のフィールドに入力されます。
管理ワークステーションの作成に gkeadm
を使用していない場合、gkectl
を使用して管理クラスタの構成ファイルのテンプレートを生成できます。
管理クラスタの構成ファイルのテンプレートを生成するには:
gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
OUTPUT_FILENAME
は、生成されたテンプレートの任意のパスに置き換えます。このフラグを省略すると、gkectl
はファイルに admin-cluster.yaml
という名前を付け、現在のディレクトリに配置します。
VERSION
は、1.29 パッチリリースのフルバージョンに置き換えます。(例: gkectl create-config admin --gke-on-prem-version=1.29.800-gke.108
)。このバージョンは、gkectl
バージョン以下にする必要があります。このフラグを省略すると、生成された Config テンプレートには、最新の 1.29 パッチに基づく値が入力されます。
テンプレート
構成ファイルの入力
次のセクションで説明するように、構成ファイルでフィールド値を入力します。
name
省略可
文字列
デフォルト: 接頭辞「gke-admin-」が付いたランダムな名前
クラスタに付ける名前。
例:
name: "my-admin-cluster"
bundlePath
必須
変更可
文字列
Google Distributed Cloud バンドル ファイルのパス。
Google Distributed Cloud のフルバンドル ファイルには、Google Distributed Cloud の特定のリリースのすべてのコンポーネントが含まれています。管理ワークステーションを作成すると、フルバンドルが次の場所に追加されます。
/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"
preparedSecrets.enabled
プレビュー
省略可
不変
ブール値
事前入力: false
デフォルト: false
管理クラスタの準備済みの認証情報を使用する場合は、これを true
に設定します。それ以外の場合は、false
に設定します。
例:
preparedSecrets: enabled: true
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"
それ以外の場合、値は 2 つ以上のリソースプールを含む相対パスになります。
例:
vCenter: resourcePool: "resource-pool-1/resource-pool-2"
vCenter.datastore
vCenter.storagePolicyName
が指定されていない場合は必須
変更不可
文字列
管理クラスタの vSphere データストアの名前。
指定する値は、パスではなく、名前にする必要があります。値にはフォルダを含めないでください。
例:
vCenter: datastore: "my-datastore"
vCenter.datastore
または vCenter.storagePolicyName
のいずれかの値を指定する必要があります。両方を指定することはできません。このフィールドの値を指定する場合は、vCenter.storagePolicyName
の値を指定しないでください。vCenter.datastore
フィールドは、データストアをストレージ ポリシー ベース管理(SPBM)に移行する際にフィールドを空の文字列に設定する場合を除き、変更できません。
vCenter.storagePolicyName
vCenter.datastore
が指定されていない場合は必須
変更不可
文字列
クラスタノードの VM ストレージ ポリシーの名前。
ストレージ ポリシーを使用するには、管理クラスタが高可用性(HA)である必要があります。
詳細については、ストレージ ポリシーを構成するをご覧ください。
vCenter.datastore
または vCenter.storagePolicyName
のいずれかの値を指定する必要があります。両方を指定することはできません。このフィールドの値を指定する場合は、vCenter.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"
複数のフォルダを含む相対パスを値に指定することもできます。
例:
vCenter: folder: "folders/folder-1"
vCenter.dataDisk
このフィールドに値を指定しないでください。フィールドを削除するか、コメントアウトしたままにします。
network
必須
不変
このセクションには、管理クラスタ ネットワークに関する情報が含まれます。
network.hostConfig
必須
不変
このセクションには、クラスタノードである VM で使用される NTP サーバー、DNS サーバー、DNS 検索ドメインに関する情報を掲載しています。
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
必須
不変
文字列
事前入力: 「static」
デフォルト: 「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
必須
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.kind
1.30 以降
必須
変更不可
文字列
事前入力: MetalLB
文字列。"ManualLB"
または "MetalLB"
に設定します
新しい機能や高度な機能を有効にするため、サードパーティのロードバランサ(F5 BIG-IP や Citrix など)を使用している場合は "ManualLB"
を使用し、バンドルされたソリューションの場合は "MetalLB"
を使用します。
以前のバージョンとの違いは次のとおりです。
1.30 以降では、新しい管理クラスタで値
"F5BigIP"
は使用できません。1.28 以降では、新しい管理クラスタで値
"Seesaw"
は使用できません。
これらのロードバランサを使用している既存のクラスタがある場合は、次の移行ガイドをご覧ください。
例:
loadBalancer:
kind: "MetalLB"
1.28、1.29
必須
変更不可
文字列
事前入力: MetalLB
文字列。これを "ManualLB"
、"F5BigIP"
、"MetalLB"
のいずれかに設定します。
新しい機能や高度な機能を有効にするため、サードパーティのロードバランサ(F5 BIG-IP や Citrix など)を使用している場合は "ManualLB"
を使用し、バンドルされたソリューションの場合は "MetalLB"
を使用することをおすすめします。
1.28 以降では、新しい管理クラスタで値 "Seesaw"
は使用できません。Seesaw ロードバランサを使用する既存のクラスタがある場合は、Seesaw ロードバランサから MetalLB に移行するをご覧ください。
例:
loadBalancer:
kind: "MetalLB"
1.16 以前
必須
変更不可
文字列
事前入力: MetalLB
文字列。"ManualLB"
、"F5BigIP"
、"Seesaw"
、"MetalLB"
のいずれかに設定します
adminMaster.replicas
を 3
に設定すると、Seesaw ロードバランサを使用できません。
例:
loadBalancer:
kind: "MetalLB"
loadBalancer.manualLB
loadbalancer.kind
を "ManualLB"
に設定した場合は、このセクションに入力します。それ以外の場合は、このセクションを削除します。
不変
loadBalancer.manualLB.ingressHTTPNodePort
このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。
loadBalancer.manualLB.ingressHTTPSNodePort
このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。
loadBalancer.manualLB.konnectivityServerNodePort
このフィールドを構成ファイルから削除します。管理クラスタでは使用されません。
loadBalancer.f5BigIP
1.30 以降
1.30 以降では、新しい管理クラスタの loadbalancer.kind
に値 "F5BigIP"
を指定できません。構成ファイルに loadBalancer.f5BigIP
セクションがある場合は、削除するかコメントアウトします。
新しい管理クラスタで F5 BIG-IP ロードバランサを引き続き使用できますが、構成は異なります。構成の詳細については、手動ロード バランシング モードの有効化をご覧ください。
既存の F5-BIG-IP ロードバランサがあり、クラスタ構成でこのセクションが使用されている場合は、1.29 以降にアップグレードした後に、手動ロード バランシングに移行することをおすすめします。
1.29
loadbalancer.kind
を "f5BigIP"
に設定した場合は、このセクションに値を設定します。それ以外の場合は、このセクションを削除します。
新しい機能や高度な機能を有効にするには、F5 BIG-IP ロードバランサの手動ロード バランシングを構成することをおすすめします。手動ロード バランシングを有効にするには、loadbalancer.kind
を "ManualLB"
に設定し、loadBalancer.manualLB
セクションに入力します。詳細については、手動ロード バランシング モードを有効にするをご覧ください。
既存の F5-BIG-IP ロードバランサがあり、クラスタ構成でこのセクションが使用されている場合は、1.29 以降にアップグレードした後に、手動ロード バランシングに移行することをおすすめします。
1.28 以前
loadbalancer.kind
を "f5BigIP"
に設定した場合は、このセクションに値を設定します。それ以外の場合は、このセクションを削除します。
新しい機能や高度な機能を有効にするには、F5 BIG-IP ロードバランサの手動ロード バランシングを構成することをおすすめします。手動ロード バランシングを有効にするには、loadbalancer.kind
を "ManualLB"
に設定し、loadBalancer.manualLB
セクションに入力します。詳細については、手動ロード バランシング モードを有効にするをご覧ください。
loadBalancer.f5BigIP.address
1.30 以降
新しいクラスタでは使用不可
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更不可
文字列
F5 BIG-IP ロードバランサのアドレス。例:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
1.29 以前
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更不可
文字列
F5 BIG-IP ロードバランサのアドレス。例:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
1.30 以降
新しいクラスタでは使用不可
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更可
文字列
Google Distributed Cloud が F5 BIG-IP ロードバランサへの接続に使用できるアカウントのユーザー名とパスワードを含む認証情報構成ファイルのパス。
ユーザー アカウントには、ロードバランサの設定と管理を行うために十分な権限を持つユーザーロールが必要です。管理者ロールまたはリソース管理者ロールのどちらかで十分です。
gkectl update
を使用すると、既存のクラスタのこのフィールドを更新できます。
F5 BIG-IP 認証情報を更新する方法については、クラスタ認証情報の更新をご覧ください。
例:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
1.29 以前
loadBalancer.kind
の場合は必須 = "f5BigIp"
変更可
文字列
Google Distributed Cloud が F5 BIG-IP ロードバランサへの接続に使用できるアカウントのユーザー名とパスワードを保持する認証情報構成ファイルのパス。
ユーザー アカウントには、ロードバランサの設定と管理を行うために十分な権限を持つユーザーロールが必要です。管理者ロールまたはリソース管理者ロールのどちらかで十分です。
gkectl update
を使用すると、既存のクラスタのこのフィールドを更新できます。
F5 BIG-IP 認証情報を更新する方法については、クラスタ認証情報の更新をご覧ください。
例:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.credentialsfileRef.entry
1.30 以降
新しいクラスタでは使用不可
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更可
文字列
F5 BIG-IP アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。
gkectl update
を使用すると、既存のクラスタのこのフィールドを更新できます。
F5 BIG-IP 認証情報を更新する方法については、クラスタ認証情報の更新をご覧ください。
例:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
1.29 以前
loadBalancer.kind
の場合は必須 = "f5BigIp"
変更可
文字列
F5 BIG-IP アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。
gkectl update
を使用すると、既存のクラスタのこのフィールドを更新できます。
F5 BIG-IP 認証情報を更新する方法については、クラスタ認証情報の更新をご覧ください。
例:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
loadBalancer.f5BigIP.partition
1.30 以降
新しいクラスタでは使用不可
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更不可
文字列
管理クラスタ用に作成した BIG-IP パーティションの名前。
例:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
1.29 以前
loadBalancer.kind
= "f5BigIp"
の場合は必須
変更不可
文字列
管理クラスタ用に作成した BIG-IP パーティションの名前。
例:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
1.30 以降
新しいクラスタでは使用不可
省略可
loadBalancer.kind
= "f5BigIp"
の場合に関連
不変
文字列
SNAT を使用している場合は、SNAT プールの名前。SNAT を使用していない場合は、このフィールドを削除します。
例:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
1.29 以前
省略可
loadBalancer.kind
= "f5BigIp"
の場合に関連
変更不可
文字列
SNAT を使用している場合は、SNAT プールの名前。SNAT を使用していない場合は、このフィールドを削除します。
例:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
loadBalancer.seesaw
このセクションは使用しないでください。Seesaw ロードバランサは、バージョン 1.28 以降の新しい管理クラスタではサポートされていません。代わりに、MetalLB ロードバランサを新しい管理クラスタ用に構成することをおすすめします。MetalLB の構成の詳細については、Metal LB によるバンドルされたロード バランシングをご覧ください。
アップグレードされた非 HA 管理クラスタの Seesaw は引き続きサポートされますが、MetalLB に移行することをおすすめします。
antiAffinityGroups.enabled
省略可
変更可
ブール値
事前入力: true
DRS ルールの作成を有効にするには、この値を true
に設定します。それ以外の場合は false
に設定します。
例:
antiAffinityGroups: enabled: true
このフィールドが true
の場合、Google Distributed Cloud は管理クラスタのノードに対して 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.enabled
を false
に設定します。
adminMaster
不変
管理クラスタ内のコントロール プレーン ノードの構成設定。
adminMaster.cpus
プレビュー
省略可
不変
整数
事前入力: 4
デフォルト: 4
管理クラスタの各コントロール プレーン ノードの vCPU 数。
例:
adminMaster: cpus: 4
adminMaster.memoryMB
プレビュー
省略可
不変
整数
事前入力: 16384
デフォルト: 16384
管理クラスタの各コントロール プレーン ノードのメモリ容量(メビバイト)。
例:
adminMaster: memoryMB: 16384
adminMaster.replicas
1.28 以降
新しいクラスタの場合は必須
変更不可
整数
有効な値: 3
管理クラスタ内のコントロール プレーン ノードの数。1.28 以降では、新しい管理クラスタは高可用性(HA)である必要があります。3 つのコントロール プレーン ノードを持つ HA 管理クラスタを作成するには、このフィールドを 3
に設定します。
例:
adminMaster:
replicas: 3
1.16 以前
省略可
変更不可
整数
有効な値: 1 または 3
事前入力: 1
デフォルト: 1
管理クラスタ内のコントロール プレーン ノードの数。高可用性管理クラスタを作成する場合は、これを 3
に設定します。それ以外の場合は、1
に設定します。
これを 3
に設定した場合は、network.controlPlaneIPBlock
セクションと network.hostConfig
セクションにも入力する必要があります。
この値を 3
に設定すると、Seesaw ロードバランサは使用できません。
例:
adminMaster:
replicas: 3
proxy
ネットワークがプロキシ サーバーの背後にある場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。 ここで指定するプロキシ サーバーは、この管理クラスタが管理するユーザー クラスタで使用されます。
不変
proxy.url
proxy
セクションに値が入力されている場合は必須です。
不変
文字列
プロキシ サーバーの HTTP アドレス。スキームのデフォルト ポートと同じ場合でも、ポート番号を含めます。
例:
proxy: url: "http://my-proxy.example.local:80"
ここで指定するプロキシ サーバーは、Google Distributed Cloud クラスタで使用されます。また、管理ワークステーションで HTTPS_PROXY
環境変数を設定しない限り、管理ワークステーションはこの同じプロキシ サーバーを使用するように自動的に構成されます。
proxy.url
を指定する場合は、proxy.noProxy
も指定する必要があります。
管理クラスタのプロキシ構成を設定した後は、クラスタを再ビルドしない限り、構成の変更や削除はできません。
proxy.noProxy
省略可
不変
文字列
プロキシ サーバーを経由しない IP アドレス、IP アドレス範囲、ホスト名、ドメイン名のカンマ区切りのリスト。Google Distributed Cloud がこれらのアドレス、ホスト、ドメインのいずれかにリクエストを送信する場合、そのリクエストは直接送信されます。
例:
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
非公開レジストリの場合は必須
変更可
文字列
Google Distributed Cloud が非公開レジストリへのアクセスに使用できるアカウントのユーザー名とパスワードを保持する認証情報構成ファイルのパス。
例:
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。
新規クラスタの場合、このプロジェクト ID は stackdriver.projectID
と cloudAuditLogging.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 より前に作成された管理クラスタは、グローバルの Fleet と Connect サービスによって管理されます。
新しいクラスタの場合、このフィールドを指定する場合、指定するリージョンは
cloudAuditLogging.clusterLocation
、stackdriver.clusterLocation
、gkeOnPremAPI.location
に構成されたリージョンと同じでなければなりません。リージョンが同じでない場合、クラスタの作成は失敗します。
例:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
必須
変更可
文字列
接続登録サービス アカウントの JSON 鍵ファイルのパス。
例:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
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.enabled
をfalse
に設定します。プロジェクトにクラスタを登録しない場合は、プロジェクトでgkeonprem.googleapis.com
(GKE On-Prem API のサービス名)を無効にします。手順については、サービスの無効化をご覧ください。
GKE On-Prem API に管理クラスタを登録すると、Google Cloud コンソール、Google Cloud CLI、Terraform といった標準的なツールを使用して、管理クラスタが管理するユーザー クラスタをアップグレードできます。クラスタを登録すると、gcloud
コマンドを実行してクラスタに関する情報を取得することもできます。
このセクションを追加して管理クラスタを作成または更新した後、セクションを削除してクラスタを更新すると、更新が失敗します。
gkeOnPremAPI.enabled
gkeOnPremAPI
セクションが含まれている場合は必須です。
変更可
ブール値
デフォルト: true
デフォルトでは、プロジェクトで GKE On-Prem API が有効になっている場合、クラスタは Anthos On-Prem API に登録されます。クラスタを登録しない場合は false
に設定します。
クラスタを GKE On-Prem API に登録した後、クラスタの登録を解除する必要がある場合は、次の変更を行い、クラスタを更新します。
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
不変
文字列
デフォルト: stackdriver.clusterLocation
GKE On-Prem API が実行され、クラスタ メタデータが保存される Google Cloud リージョン。サポートされているリージョンのいずれかを選択します。cloudAuditLogging.clusterLocation
、gkeConnect.location
、stackdriver.clusterLocation
で構成されているリージョンと同じリージョンを使用する必要があります。gkeOnPremAPI.enabled
が false
の場合、このフィールドを含めないでください。
stackdriver
デフォルトは必須
変更可
クラスタに対して Cloud Logging と Cloud Monitoring を有効にする場合は、このセクションに入力します。それ以外の場合は、このセクションを削除します。
デフォルトでは、このセクションは必須です。つまり、このセクションを含めない場合は、gkectl create admin
を実行する際に --skip-validation-stackdriver
フラグを含める必要があります。
このセクションは、GKE On-Prem API クライアントを使用するユーザー クラスタのライフサイクルを管理する場合に管理クラスタで必要です。
stackdriver.projectID
Logging と Monitoring の場合は必須
不変
文字列
フリート ホスト プロジェクトの ID。
新規クラスタの場合、このプロジェクト ID は gkeConnect.projectID
と cloudAuditLogging.projectID
で設定した ID と同じでなければなりません。プロジェクト ID が同じでない場合、クラスタの作成は失敗します。この要件は、既存のクラスタには適用されません。
必要に応じて、このプロジェクトのログルーターを構成して、別のプロジェクトのログバケットにログを転送できます。ログルーターの構成方法については、サポートされる宛先をご覧ください。
例:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Logging と Monitoring の場合は必須
不変
文字列
事前入力: 「us-central1」
ログを保存する Google Cloud リージョン。お使いのオンプレミス データセンターの近くのリージョンを選択することをおすすめします。
新しいクラスタの場合、構成ファイルで gkeOnPremAPI
セクションと cloudAuditLogging
セクションを設定すれば、ここで設定するリージョンは、cloudAuditLogging.clusterLocation
、gkeConnect.location
、gkeOnPremAPI.location
で設定したリージョンと同じにする必要があります。リージョンが同じでない場合、クラスタの作成は失敗します。
例:
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 と統合する場合は、このセクションに入力します。それ以外の場合は、このセクションを削除するか、コメントアウトしたままにします。
変更可
このセクションは、GKE On-Prem API クライアントを使用するユーザー クラスタのライフサイクルを管理する場合に管理クラスタで必要です。
cloudAuditLogging.projectID
Cloud Audit Logs の場合は必須
不変
文字列
フリート ホスト プロジェクトの ID。新規クラスタの場合、このプロジェクト ID は gkeConnect.projecID
と stackdriver.projectID
で設定した ID と同じでなければなりません。プロジェクト ID が同じでない場合、クラスタの作成は失敗します。この要件は、既存のクラスタには適用されません。
必要に応じて、このプロジェクトのログルーターを構成して、別のプロジェクトのログバケットにログを転送できます。ログルーターの構成方法については、サポートされる宛先をご覧ください。
例:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Cloud Audit Logs の場合は必須
不変
文字列
監査ログを保存する Google Cloud のリージョン。お使いのオンプレミス データセンターの近くのリージョンを選択することをおすすめします。
新しいクラスタの場合、構成ファイルで gkeOnPremAPI
セクションと stackdriver
セクションを設定すれば、ここで設定するリージョンは、gkeConnect.location
、gkeOnPremAPI.location
、stackdriver.clusterLocation
で設定したリージョンと同じにする必要があります。リージョンが同じでない場合、クラスタの作成は失敗します。
例:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Cloud Audit Logs の場合は必須
変更可
文字列
監査ログ サービス アカウントの JSON 鍵ファイルのパス。
既存のクラスタでこのフィールドを更新する方法については、サービス アカウント キーのローテーションをご覧ください。
例:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
clusterBackup.datastore
プレビュー
省略可
変更可
文字列
管理クラスタのバックアップを有効にする場合は、これをクラスタのバックアップを保存する vSphere データストアに設定します。
例:
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_cgv2」、「cos_cgv2」
事前入力: : 「ubuntu_cgv2」
デフォルト:「ubuntu_containerd」
管理クラスタノードで実行する OS イメージのタイプ。
例:
osImageType: "cos"