Il prodotto descritto in questa documentazione, Anthos Clusters on AWS (generazione precedente), è ora in modalità di manutenzione. Tutte le nuove installazioni devono utilizzare l'attuale prodotto di generazione, Cluster Anthos on AWS.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo argomento descrive le opzioni di configurazione della definizione della risorsa personalizzata AWSCluster.
Definizione di un AWSCluster
AWSCluster è una risorsa personalizzata Kubernetes definita da GKE su AWS. Questa risorsa rappresenta un piano di controllo GKE su AWS.
Per creare un cluster da questo modello, copia il seguente codice YAML e completa i valori evidenziati definiti nelle definizioni dei campi spec.networking e spec.controlPlane. Quindi, applica il manifest delle risorse al tuo servizio di gestione.
apiVersion:multicloud.cluster.gke.io/v1kind:AWSClustermetadata:name:CLUSTER_NAMEspec:region:AWS_REGIONnetworking:vpcID:VPC_IDpodAddressCIDRBlocks:POD_ADDRESS_CIDR_BLOCKSserviceAddressCIDRBlocks:SERVICE_ADDRESS_CIDR_BLOCKSserviceLoadBalancerSubnetIDs:SERVICE_LOAD_BALANCER_SUBNETScontrolPlane:version:GKE_VERSION# Latest version is 1.25.5-gke.2100instanceType:AWS_INSTANCE_TYPEkeyName:SSH_KEY_NAMEsubnetIDs:-CONTROL_PLANE_SUBNET_IDSsecurityGroupIDs:-CONTROL_PLANE_SECURITY_GROUPSiamInstanceProfile:CONTROL_PLANE_IAM_ROLEdatabaseEncryption:kmsKeyARN:ARN_OF_KMS_KEYhub:membershipName:ANTHOS_CONNECT_NAMEcloudOperations:# OptionalprojectID:YOUR_PROJECTlocation:GCP_LOCATIONenableLogging:ENABLE_LOGGINGenableMonitoring:ENABLE_MONITORINGtags:TAG_KEY:TAG_VALUEproxySecretName:PROXY_SECRET_NAMEworkloadIdentity:oidcDiscoveryGCSBucket:WORKLOAD_IDENTITY_BUCKETrootVolume:# OptionalsizeGiB:ROOT_VOLUME_SIZEvolumeType:ROOT_VOLUME_TYPEiops:ROOT_VOLUME_IOPSkmsKeyARN:ROOT_VOLUME_KEYetcd:# OptionalmainVolume:sizeGiB:ETCD_VOLUME_SIZEvolumeType:ETCD_VOLUME_TYPEiops:ETCD_VOLUME_IOPSkmsKeyARN:ETCD_VOLUME_KEYauthentication:awsIAM:adminIdentityARNs:ADMIN_IAM_ARNoidc:# Optional-certificateAuthorityData:CERTIFICATE_STRINGclientID:CLIENT_IDclientSecret:CLIENT_SECRETextraParams:EXTRA_PARAMSgroupsClaim:GROUPS_CLAIMgroupPrefix:GROUP_PREFIXissuerURI:ISSUER_URLkubectlRedirectURI:KUBECTL_REDIRECT_URLscopes:SCOPESuserClaim:USER_CLAIMuserPrefix:USER_PREFIX
I campi secondari in spec sono descritti nelle sezioni seguenti.
spec.networking
Questo oggetto definisce la configurazione di rete a livello di cluster.
Nome
Descrizione
Tipo
Esempio
Obbligatorio
vpcID
L'ID del VPC in cui viene eseguito il cluster. Il piano di controllo e i pool di nodi di un cluster utente vengono eseguiti in un'unica VPC.
string
vpc-0814934042d983118
sì
podAddressCIDRBlocks
Intervallo di indirizzi IPv4 utilizzati dai pod del cluster. Al momento è supportato un solo intervallo. L'intervallo non deve sovrapporsi ad alcuna subnet raggiungibile dalla tua rete. È possibile utilizzare lo stesso intervallo in più oggetti AWSCluster diversi.
list(string)
[10.1.0.0/16]
sì
serviceAddressCIDRBlocks
Intervallo di indirizzi IPv4 utilizzati dai servizi del cluster. Al momento è supportato un solo intervallo. L'intervallo non deve sovrapporsi ad alcuna subnet raggiungibile dalla tua rete. È possibile utilizzare lo stesso intervallo in più oggetti AWSCluster diversi.
list(string)
[10.2.0.0/16]
sì
serviceLoadBalancerSubnetIDs
ID subnet in cui GKE su AWS può creare bilanciatori del carico pubblici o privati. GKE su AWS applica tag a ciascuna di queste sottoreti per supportare il bilanciamento del carico. Il supporto di ALB richiede più di una subnet specificata.
list(string)
[subnet-abcdefg, subnet-12345678]
spec.controlPlane
Questo oggetto include i parametri comuni per il piano di controllo del cluster.
Un tipo di istanza AWS EC2 per ogni replica del piano di controllo. Consulta la sezione Tipi di istanze supportati.
string
m5.large
sì
keyName
La coppia di chiavi AWS EC2 assegnata a ogni replica del piano di controllo.
string
my-key-pair
sì
subnetIDs
Un elenco di subnet VPC per le repliche del piano di controllo.
list(string)
[subnet-06a004869a1eae947]
sì
securityGroupIDs
GKE su AWS crea automaticamente gruppi di sicurezza con le regole minime necessarie per il funzionamento di un cluster. Se vuoi aggiungere altri gruppi di sicurezza con accesso alle repliche del piano di controllo, aggiungi i relativi ID a securityGroupIDs.
Metadati chiave/valore assegnati a ogni risorsa AWS che supporta AWSCluster. Per saperne di più, consulta le best practice per il tagging.
map(string)
{Environment: Production, Team: Analytics}
no
proxySecretName
Nome scelto dall'utente di un secret utilizzato per definire i proxy di rete specifici del cluster
string
proxy-secret-0
no
workloadIdentity
Bucket Cloud Storage per la configurazione di Workload Identity. Contiene un singolo campo: oidcDiscoveryGCSBucket.
object
{oidcDiscoveryGCSBucket: my-bucket}
no
rootVolume
Parametri per i volumi principali delle repliche del control plane. Contiene un oggetto definito nella sezione seguente.
object
{sizeGiB: 10}
sì
etcd
Parametri per i volumi etcd. Contiene un oggetto definito nella sezione seguente.
object
{sizeGiB: 10}
sì
spec.controlPlane.rootVolume e spec.etcd.rootVolume
Questi campi si applicano sia a spec.controlPlane.rootVolume sia a
spec.etcd.mainVolume.
Nome
Descrizione
Tipo
Esempio
Obbligatorio
sizeGiB
Dimensioni del volume principale in gigabyte.
integer
10
sì
volumeType
Il tipo di volume EBS AWS del nodo del control plane. Può essere gp2 (predefinito) o gp3.
string
gp2
no
IOPS
La quantità di operazioni di I/O sottoposte a provisioning al secondo (IOPS) per i volumi. Valido solo quando volumeType è GP3. Per ulteriori informazioni, consulta Volumi SSD general purpose (gp3).
Questo oggetto specifica i ruoli a cui è stato concesso l'accesso come amministratore del cluster con AWS IAM.
Nome
Descrizione
Tipo
Esempio
Obbligatorio
adminIdentityARNs
ARN degli utenti o dei ruoli AWS IAM a cui è stato concesso l'accesso come amministratore del cluster.
string
arn:aws:iam::123456789012:user/admin
Obbligatorio solo se utilizzi l'autenticazione AWS IAM.
spec.authentication.oidc
Puoi specificare più di un oggetto oidc. L'oggetto oidc è definito di seguito.
Per ulteriori informazioni, consulta la sezione Autenticazione con OIDC.
Campo
Obbligatorio
Descrizione
Formato
certificateAuthorityData
No
Un
certificato con codifica PEM con codifica Base64 per il provider OIDC. Per creare la stringa, codifica il certificato, incluse le intestazioni, in base64. Includi la stringa risultante in certificateAuthorityData come singola riga. Esempio:
certificateAuthorityData: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
Stringa
clientID
Sì
ID per l'applicazione client che effettua richieste di autenticazione al
provider OpenID.
Stringa
clientSecret
No
Secret condiviso tra applicazione client OIDC e provider OIDC.
Stringa
extraParams
No
Parametri coppia chiave-valore aggiuntivi da inviare al provider OpenID. Se stai
autorizzando un gruppo, passa resource=token-groups-claim.
Se il server di autorizzazione richiede il consenso, per l'autenticazione con
Microsoft Azure e Okta, imposta extraParams su
prompt=consent. Per Google Cloud Identity, imposta
extraParams su
prompt=consent,access_type=offline.
Elenco separato da virgole
groupsClaim
No
Attestazione JWT utilizzata dal provider per restituire i tuoi gruppi di sicurezza.
Stringa
groupPrefix
No
Prefisso anteposto alle attestazioni dei gruppi per evitare conflitti con i nomi esistenti.
Ad esempio, dato un gruppo foobar e un prefisso gid-, gid-foobar.
Stringa
issuerURI
Sì
URL a cui vengono inviate le richieste di autorizzazione al tuo OpenID, ad esempio
https://example.com/adfs. Il server API Kubernetes utilizza questo URL
per rilevare le chiavi pubbliche per la verifica dei token. L'URI deve utilizzare HTTPS.
Stringa URL
kubectlRedirectURI
Sì
L'URL di reindirizzamento utilizzato da "kubectl" per l'autorizzazione.
Stringa URL
ambiti
Sì
Ambiti aggiuntivi da inviare al provider OpenID. Microsoft Azure e Okta
richiedono l'ambito offline_access.
Elenco separato da virgole
userClaim
No
Attestazione JWT da utilizzare come nome utente. Il valore predefinito è "sub", che dovrebbe essere un identificatore univoco dell'utente finale. Puoi scegliere altre attestazioni, ad esempio email o nome, a seconda del provider OpenID. Tuttavia, alle attestazioni diverse dall'indirizzo email viene aggiunto come prefisso l'URL dell'emittente per evitare conflitti di denominazione.
Stringa
userPrefix
No
Prefisso anteposto alle attestazioni dei nomi utente per evitare conflitti con i nomi esistenti.
Se non fornisci questo campo e il nome utente è un valore diverso da un indirizzo email, il prefisso predefinito è issuerurl#. Quando imposti userPrefix su -, il prefisso viene disattivato.