提供意見
AWSCluster
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本主題說明 AWSCluster 自訂資源定義的設定選項。
定義 AWSCluster
AWSCluster
是 GKE on AWS 定義的 Kubernetes 自訂資源。這項資源代表 GKE on AWS 控制層 。
如要使用這個範本建立叢集,請複製下列 YAML,並完成 spec.networking
和 spec.controlPlane
欄位定義中醒目顯示的值。然後將資源資訊清單套用至管理服務。
apiVersion : multicloud.cluster.gke.io/v1
kind : AWSCluster
metadata :
name : CLUSTER_NAME
spec :
region : AWS_REGION
networking :
vpcID : VPC_ID
podAddressCIDRBlocks : POD_ADDRESS_CIDR_BLOCKS
serviceAddressCIDRBlocks : SERVICE_ADDRESS_CIDR_BLOCKS
serviceLoadBalancerSubnetIDs : SERVICE_LOAD_BALANCER_SUBNETS
controlPlane :
version : GKE_VERSION # Latest version is 1.25.5-gke.2100
instanceType : AWS_INSTANCE_TYPE
keyName : SSH_KEY_NAME
subnetIDs :
- CONTROL_PLANE_SUBNET_IDS
securityGroupIDs :
- CONTROL_PLANE_SECURITY_GROUPS
iamInstanceProfile : CONTROL_PLANE_IAM_ROLE
databaseEncryption :
kmsKeyARN : ARN_OF_KMS_KEY
hub :
membershipName : ANTHOS_CONNECT_NAME
cloudOperations : # Optional
projectID : YOUR_PROJECT
location : GCP_LOCATION
enableLogging : ENABLE_LOGGING
enableMonitoring : ENABLE_MONITORING
tags :
TAG_KEY : TAG_VALUE
proxySecretName : PROXY_SECRET_NAME
workloadIdentity :
oidcDiscoveryGCSBucket : WORKLOAD_IDENTITY_BUCKET
rootVolume : # Optional
sizeGiB : ROOT_VOLUME_SIZE
volumeType : ROOT_VOLUME_TYPE
iops : ROOT_VOLUME_IOPS
kmsKeyARN : ROOT_VOLUME_KEY
etcd : # Optional
mainVolume :
sizeGiB : ETCD_VOLUME_SIZE
volumeType : ETCD_VOLUME_TYPE
iops : ETCD_VOLUME_IOPS
kmsKeyARN : ETCD_VOLUME_KEY
authentication :
awsIAM :
adminIdentityARNs : ADMIN_IAM_ARN
oidc : # Optional
- certificateAuthorityData : CERTIFICATE_STRING
clientID : CLIENT_ID
clientSecret : CLIENT_SECRET
extraParams : EXTRA_PARAMS
groupsClaim : GROUPS_CLAIM
groupPrefix : GROUP_PREFIX
issuerURI : ISSUER_URL
kubectlRedirectURI : KUBECTL_REDIRECT_URL
scopes : SCOPES
userClaim : USER_CLAIM
userPrefix : USER_PREFIX
以下各節將說明 spec
底下的子欄位。
spec.networking
這個物件會定義全叢集的網路設定。
名稱
說明
類型
範例
必填
vpcID
叢集執行的 VPC ID。使用者叢集的控制層和節點集區會在單一 VPC 中執行。
string
vpc-0814934042d983118
是
podAddressCIDRBlocks
叢集 Pod 使用的 IPv4 位址範圍。目前僅支援單一範圍。這個範圍不得與可從網路連線的任何子網路重疊。在多個不同的 AWSCluster 物件中使用相同範圍是安全的。
list(string)
[10.1.0.0/16]
是
serviceAddressCIDRBlocks
叢集服務使用的 IPv4 位址範圍。目前僅支援單一範圍。這個範圍不得與可從網路連線的任何子網路重疊。在多個不同的 AWSCluster 物件中使用相同範圍是安全的。
list(string)
[10.2.0.0/16]
是
serviceLoadBalancerSubnetIDs
GKE on AWS 可在這些子網路 ID 中建立公開或私人的負載平衡器。GKE on AWS 會將標記套用至每個子網路,以支援負載平衡。ALB 支援功能需要指定多個子網路。
list(string)
[subnet-abcdefg, subnet-12345678]
spec.controlPlane
這個物件包含叢集控制層的常見參數。
名稱
說明
類型
範例
必填
version
控制層的 GKE 版本。詳情請參閱「版本管理與升級 」和「升級使用者叢集 」。
string
1.25.5-gke.2100
是
instanceType
每個控制層副本的 AWS EC2 執行個體類型。請參閱「支援的執行個體類型 」。
string
m5.large
是
keyName
指派給每個控制層副本的 AWS EC2 金鑰組。
string
my-key-pair
是
subnetIDs
控制層副本的虛擬私有雲子網路清單。
list(string)
[subnet-06a004869a1eae947]
是
securityGroupIDs
AWS 上的 GKE 會自動建立安全群組 ,其中包含叢集運作所需的最低規則。如要新增可存取控制層副本的其他安全性群組,請將這些群組的 ID 新增至 securityGroupIDs
。
list(string)
[sg-0ec06559d997a796f]
否
iamInstanceProfile
指派給控制層副本的 AWS EC2 執行個體設定檔 名稱。
string
my-control-plane-profile
是
databaseEncryption.kmsKeyARN
GKE on AWS 用來加密叢集中應用程式層級密鑰的 AWS KMS 金鑰 Amazon 資源名稱 (ARN)。
字串
arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
hub.membershipName
用於註冊 叢集的 Connect 會員方案名稱。
字串
projects/YOUR_PROJECT /locations/global/memberships/CLUSTER_NAME
cloudOperations
控制層節點的 Cloud Logging 和 Cloud Monitoring 設定。
object
{projectID: YOUR_PROJECT , location: us-central1, enableLogging: true, enableMonitoring: true}
否
標記
指派給支援 AWSCluster 的每個 AWS 資源的鍵/值中繼資料。詳情請參閱「處理代碼的最佳做法 」。
map(string)
{Environment: Production, Team: Analytics}
否
proxySecretName
使用者選擇的密鑰名稱 ,用於定義叢集專屬的網路 Proxy
字串
proxy-secret-0
否
workloadIdentity
用於工作負載身分 設定的 Cloud Storage bucket。包含單一欄位:oidcDiscoveryGCSBucket
。
object
{oidcDiscoveryGCSBucket: my-bucket}
否
rootVolume
控制層副本根磁碟區的參數。包含下列章節中定義的物件。
object
{sizeGiB: 10}
是
etcd
etcd 磁碟區的參數。包含下列章節中定義的物件。
object
{sizeGiB: 10}
是
spec.controlPlane.rootVolume 和 spec.etcd.rootVolume
這些欄位同時適用於 spec.controlPlane.rootVolume
和 spec.etcd.mainVolume
。
名稱
說明
類型
範例
必填
sizeGiB
根磁碟區大小 (以 GB 為單位)。
integer
10
是
volumeType
控制層節點的 AWS EBS 磁碟區類型 。可以是 gp2
(預設) 或 gp3
。
string
gp2
否
iops
磁碟區每秒佈建的 IO 作業數 (IOPS)。只有在 volumeType
為 GP3
時才有效。詳情請參閱「通用 SSD 磁碟區 (gp3) 」。
integer
5000
否
kmsKeyARN
用來加密 EBS 磁碟區的 AWS KMS 金鑰 ARN。詳情請參閱「使用客戶管理的 CMK 加密磁碟區 」。
string
arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
否
spec.authentication.awsIAM
這個物件會指定透過 AWS IAM 授予叢集管理員存取權的角色。
名稱
說明
類型
範例
必填
adminIdentityARNs
獲得叢集管理員存取權的 AWS IAM 使用者或角色 ARN。
字串
arn:aws:iam::123456789012:user/admin
只有在使用 AWS IAM 驗證時才需要。
spec.authentication.oidc
您可以指定多個 oidc
物件。oidc
物件的定義如下。
詳情請參閱「使用 OIDC 進行驗證 」。
欄位
必填
說明
格式
certificateAuthorityData
否
OIDC 供應商的
PEM 編碼憑證 (採用 Base64 編碼)。如要建立字串,請將憑證 (包含標頭) 的編碼方式改為 Base64 格式,並把產生的字串另列一行加入 certificateAuthorityData
。示例:
certificateAuthorityData: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
字串
clientID
是
向 OpenID 供應商提出驗證要求時使用的用戶端應用程式 ID。
字串
clientSecret
否
OIDC 用戶端應用程式與 OIDC 供應商之間共用的密鑰。
字串
extraParams
否
要傳送給 OpenID 供應商的其他鍵/值參數。如要授權群組,請傳遞 resource=token-groups-claim
。
如果授權伺服器提示您同意,請將 extraParams
設為 prompt=consent
,以便透過 Microsoft Azure 和 Okta 進行驗證。如果是 Google Cloud Identity,請將 extraParams
設為 prompt=consent,access_type=offline
。
以半形逗號分隔的清單
groupsClaim
否
供應商用來傳回安全性群組的 JWT 憑證附加資訊。
字串
groupPrefix
否
在群組憑證附加資訊的前方加上此字串,即可避免與現有的名稱衝突。
舉例來說,如果群組是「foobar」,前置字串是「gid-」,則群組名稱會變成「gid-foobar」。
字串
issuerURI
是
會將授權要求傳送給 OpenID 的網址,例如 https://example.com/adfs
。Kubernetes API 伺服器會使用這個網址,探索用於驗證權杖的公開金鑰。URI 必須使用 HTTPS。
網址字串
kubectlRedirectURI
是
用於授權的重新導向網址「kubectl」。
網址字串
範圍
是
要傳送給 OpenID 供應商的其他範圍。Microsoft Azure 和 Okta
需要 offline_access
範圍。
以半形逗號分隔的清單
userClaim
否
用來當做使用者名稱的 JWT 憑證附加資訊。預設值為 `sub`,這應該是終端使用者的專屬 ID。視 OpenID 供應商而定,您可以選擇其他憑證附加資訊,例如電子郵件地址或姓名。不過,電子郵件地址以外的憑證附加資訊都必須在前方加上核發者網址,以免發生命名衝突。
字串
userPrefix
否
在使用者名稱憑證附加資訊的前方加上此字串,可避免與現有的名稱衝突。
如未提供這個欄位,且使用者名稱不是電子郵件地址,前置字元預設為 issuerurl#
。將 userPrefix
設為 -
時,前置字元會停用。 字串
提供意見
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-31 (世界標準時間)。
想進一步說明嗎?
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-31 (世界標準時間)。"],[],[],null,["# AWSCluster\n\nThis topic describes the configuration options of the AWSCluster\nCustom Resource Definition.\n\nDefining an AWSCluster\n----------------------\n\n`AWSCluster` is a Kubernetes custom resource defined by\nGKE on AWS. This resource represents a GKE on AWS\n[control plane](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/concepts/architecture#management_service).\n\nTo create a cluster from this template, copy the following YAML and complete the\nhighlighted values defined in the [`spec.networking`](#specnetworking) and\n[`spec.controlPlane`](#speccontrolplane) field definitions. Then, apply\nthe resource manifest to your management service. \n\n apiVersion: multicloud.cluster.gke.io/v1\n kind: AWSCluster\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCLUSTER_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n region: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eAWS_REGION\u003c/span\u003e\u003c/var\u003e\n networking:\n vpcID: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVPC_ID\u003c/span\u003e\u003c/var\u003e\n podAddressCIDRBlocks: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePOD_ADDRESS_CIDR_BLOCKS\u003c/span\u003e\u003c/var\u003e\n serviceAddressCIDRBlocks: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSERVICE_ADDRESS_CIDR_BLOCKS\u003c/span\u003e\u003c/var\u003e\n serviceLoadBalancerSubnetIDs: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSERVICE_LOAD_BALANCER_SUBNETS\u003c/span\u003e\u003c/var\u003e\n controlPlane:\n version: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eGKE_VERSION\u003c/span\u003e\u003c/var\u003e # Latest version is 1.25.5-gke.2100\n instanceType: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eAWS_INSTANCE_TYPE\u003c/span\u003e\u003c/var\u003e\n keyName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSSH_KEY_NAME\u003c/span\u003e\u003c/var\u003e\n subnetIDs:\n - \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCONTROL_PLANE_SUBNET_IDS\u003c/span\u003e\u003c/var\u003e\n securityGroupIDs:\n - \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCONTROL_PLANE_SECURITY_GROUPS\u003c/span\u003e\u003c/var\u003e\n iamInstanceProfile: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCONTROL_PLANE_IAM_ROLE\u003c/span\u003e\u003c/var\u003e\n databaseEncryption:\n kmsKeyARN: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eARN_OF_KMS_KEY\u003c/span\u003e\u003c/var\u003e\n hub:\n membershipName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eANTHOS_CONNECT_NAME\u003c/span\u003e\u003c/var\u003e\n cloudOperations: # Optional\n projectID: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eYOUR_PROJECT\u003c/span\u003e\u003c/var\u003e\n location: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eGCP_LOCATION\u003c/span\u003e\u003c/var\u003e\n enableLogging: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eENABLE_LOGGING\u003c/span\u003e\u003c/var\u003e\n enableMonitoring: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eENABLE_MONITORING\u003c/span\u003e\u003c/var\u003e\n tags:\n \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eTAG_KEY\u003c/span\u003e\u003c/var\u003e: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eTAG_VALUE\u003c/span\u003e\u003c/var\u003e\n proxySecretName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROXY_SECRET_NAME\u003c/span\u003e\u003c/var\u003e\n workloadIdentity:\n oidcDiscoveryGCSBucket: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eWORKLOAD_IDENTITY_BUCKET\u003c/span\u003e\u003c/var\u003e\n rootVolume: # Optional\n sizeGiB: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eROOT_VOLUME_SIZE\u003c/span\u003e\u003c/var\u003e\n volumeType: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eROOT_VOLUME_TYPE\u003c/span\u003e\u003c/var\u003e\n iops: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eROOT_VOLUME_IOPS\u003c/span\u003e\u003c/var\u003e\n kmsKeyARN: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eROOT_VOLUME_KEY\u003c/span\u003e\u003c/var\u003e\n etcd: # Optional\n mainVolume:\n sizeGiB: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eETCD_VOLUME_SIZE\u003c/span\u003e\u003c/var\u003e\n volumeType: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eETCD_VOLUME_TYPE\u003c/span\u003e\u003c/var\u003e\n iops: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eETCD_VOLUME_IOPS\u003c/span\u003e\u003c/var\u003e\n kmsKeyARN: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eETCD_VOLUME_KEY\u003c/span\u003e\u003c/var\u003e\n authentication:\n awsIAM:\n adminIdentityARNs: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eADMIN_IAM_ARN\u003c/span\u003e\u003c/var\u003e\n oidc: # Optional\n - certificateAuthorityData: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCERTIFICATE_STRING\u003c/span\u003e\u003c/var\u003e\n clientID: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCLIENT_ID\u003c/span\u003e\u003c/var\u003e\n clientSecret: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCLIENT_SECRET\u003c/span\u003e\u003c/var\u003e\n extraParams: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eEXTRA_PARAMS\u003c/span\u003e\u003c/var\u003e\n groupsClaim: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eGROUPS_CLAIM\u003c/span\u003e\u003c/var\u003e\n groupPrefix: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eGROUP_PREFIX\u003c/span\u003e\u003c/var\u003e\n issuerURI: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eISSUER_URL\u003c/span\u003e\u003c/var\u003e\n kubectlRedirectURI: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eKUBECTL_REDIRECT_URL\u003c/span\u003e\u003c/var\u003e\n scopes: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSCOPES\u003c/span\u003e\u003c/var\u003e\n userClaim: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eUSER_CLAIM\u003c/span\u003e\u003c/var\u003e\n userPrefix: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eUSER_PREFIX\u003c/span\u003e\u003c/var\u003e\n\nThe subfields under `spec` are described in the following sections.\n\n### spec.networking\n\nThis object defines cluster-wide networking configuration.\n\n### spec.controlPlane\n\nThis object includes common parameters for the cluster's control plane.\n\n### spec.controlPlane.rootVolume and spec.etcd.rootVolume\n\nThese fields apply to both `spec.controlPlane.rootVolume` and\n`spec.etcd.mainVolume`.\n\n### spec.authentication.awsIAM\n\nThis object specifies roles granted cluster administrator access with AWS IAM.\n\n### spec.authentication.oidc\n\nYou can specify more than one `oidc` object. The `oidc` object is defined below.\nFor more information, see [Authenticating with OIDC](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/oidc)."]]