REST Resource: projects.locations.awsClusters

Risorsa: AwsCluster

Un cluster Anthos in esecuzione su AWS.

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
Campi
name

string

Il nome di questa risorsa.

I nomi dei cluster sono formattati come projects/<project-number>/locations/<region>/awsClusters/<cluster-id>.

Per ulteriori dettagli sui nomi delle risorse Google Cloud, vedi Nomi delle risorse.

description

string

Facoltativo. Una descrizione leggibile di questo cluster. Non può superare i 255 byte codificati in UTF-8.

networking

object (AwsClusterNetworking)

Obbligatorio. Configurazione del networking a livello di cluster.

awsRegion

string

Obbligatorio. La regione AWS in cui viene eseguito il cluster.

Ogni area geografica Google Cloud supporta un sottoinsieme di aree geografiche AWS nelle vicinanze. Puoi chiamare locations.getAwsServerConfig per elencare tutte le regioni AWS supportate all'interno di una determinata regione Google Cloud.

controlPlane

object (AwsControlPlane)

Obbligatorio. Configurazione relativa al control plane del cluster.

authorization

object (AwsAuthorization)

Obbligatorio. Configurazione relativa alle impostazioni RBAC del cluster.

state

enum (State)

Solo output. Lo stato attuale del cluster.

endpoint

string

Solo output. L'endpoint del server API del cluster.

uid

string

Solo output. Un identificatore univoco globale per il cluster.

reconciling

boolean

Solo output. Se impostato, al momento sono in corso modifiche al cluster.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stato creato questo cluster.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. L'ora dell'ultimo aggiornamento di questo cluster.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Consente ai client di eseguire operazioni di lettura-modifica-scrittura coerenti tramite controllo della contemporaneità ottimistico.

Può essere inviato nelle richieste di aggiornamento ed eliminazione per garantire che il client disponga di un valore aggiornato prima di procedere.

annotations

map (key: string, value: string)

Facoltativo. Annotazioni sul cluster.

Questo campo ha le stesse limitazioni delle annotazioni Kubernetes. La dimensione totale di tutte le chiavi e i valori combinati è limitata a 256 kB. La chiave può avere due segmenti: prefisso (facoltativo) e nome (obbligatorio), separati da una barra (/). Il prefisso deve essere un sottodominio DNS. Il nome deve avere una lunghezza massima di 63 caratteri, deve iniziare e terminare con caratteri alfanumerici e può comprendere trattini (-), trattini bassi (_), punti (.) e caratteri alfanumerici.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Solo output. Impostazioni di Workload Identity.

clusterCaCertificate

string

Solo output. Certificato x509 con codifica PEM della radice di attendibilità del cluster.

fleet

object (Fleet)

Obbligatorio. Configurazione del parco risorse.

loggingConfig

object (LoggingConfig)

Facoltativo. Configurazione della registrazione per questo cluster.

errors[]

object (AwsClusterError)

Solo output. Un insieme di errori trovati nel cluster.

monitoringConfig

object (MonitoringConfig)

Facoltativo. Configurazione del monitoraggio per questo cluster.

binaryAuthorization

object (BinaryAuthorization)

Facoltativo. Configurazione di Autorizzazione binaria per questo cluster.

AwsClusterNetworking

ClusterNetworking definisce la configurazione di rete a livello di cluster.

I cluster Anthos su AWS vengono eseguiti su un singolo VPC. Sono inclusi le repliche del control plane e i nodi del pool di nodi.

Rappresentazione JSON
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
Campi
vpcId

string

Obbligatorio. Il VPC associato al cluster. Tutti i cluster dei componenti (ovvero il control plane e i pool di nodi) vengono eseguiti su un singolo VPC.

Questo campo non può essere modificato dopo la creazione.

podAddressCidrBlocks[]

string

Obbligatorio. A tutti i pod del cluster viene assegnato un indirizzo IPv4 da questi intervalli. È supportato un solo intervallo. Questo campo non può essere modificato dopo la creazione.

serviceAddressCidrBlocks[]

string

Obbligatorio. A tutti i servizi del cluster viene assegnato un indirizzo IPv4 in questi intervalli. È supportato un solo intervallo. Questo campo non può essere modificato dopo la creazione.

perNodePoolSgRulesDisabled

boolean

Facoltativo. Disattiva le regole del gruppo di sicurezza della subnet per pool di nodi nel gruppo di sicurezza del control plane. Se impostato su true, devi fornire anche uno o più gruppi di sicurezza che garantiscano che i pool di nodi siano in grado di inviare richieste al control plane su TCP/443 e TCP/8132. In caso contrario, i node pool potrebbero non essere disponibili.

AwsControlPlane

ControlPlane definisce i parametri comuni tra i nodi del control plane.

Rappresentazione JSON
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
Campi
version

string

Obbligatorio. La versione di Kubernetes da eseguire sulle repliche del control plane (ad es. 1.19.10-gke.1000).

Puoi elencare tutte le versioni supportate in una determinata regione Google Cloud chiamando locations.getAwsServerConfig.

instanceType

string

Facoltativo. Il tipo di istanza AWS.

Se non specificato, viene utilizzato un valore predefinito in base alla versione del cluster.

sshConfig

object (AwsSshConfig)

Facoltativo. Configurazione SSH per l'accesso alle macchine del control plane sottostanti.

subnetIds[]

string

Obbligatorio. L'elenco delle subnet in cui verranno eseguite le repliche del control plane. Verrà eseguito il provisioning di una replica su ogni subnet e possono essere forniti fino a tre valori. Ogni subnet deve trovarsi in una zona di disponibilità (AZ) AWS diversa.

securityGroupIds[]

string

Facoltativo. Gli ID dei gruppi di sicurezza aggiuntivi da aggiungere alle repliche del control plane. L'API Anthos Multi-Cloud creerà e gestirà automaticamente i gruppi di sicurezza con le regole minime necessarie per un cluster funzionante.

iamInstanceProfile

string

Obbligatorio. Il nome o l'ARN del profilo dell'istanza AWS IAM da assegnare a ogni replica del control plane.

rootVolume

object (AwsVolumeTemplate)

Facoltativo. Configurazione relativa al volume radice di cui è stato eseguito il provisioning per ogni replica del control plane.

I volumi verranno sottoposti a provisioning nella zona di disponibilità associata alla subnet corrispondente.

Se non specificato, il valore predefinito è 32 GiB con il tipo di volume GP2.

mainVolume

object (AwsVolumeTemplate)

Facoltativo. Configurazione relativa al volume principale di cui è stato eseguito il provisioning per ogni replica del control plane. Il volume principale è responsabile dell'archiviazione di tutto lo stato etcd del cluster.

I volumi verranno sottoposti a provisioning nella zona di disponibilità associata alla subnet corrispondente.

Se non specificato, il valore predefinito è 8 GiB con il tipo di volume GP2.

databaseEncryption

object (AwsDatabaseEncryption)

Obbligatorio. L'ARN della chiave AWS KMS utilizzata per criptare i secret del cluster.

tags

map (key: string, value: string)

Facoltativo. Un insieme di tag delle risorse AWS da propagare a tutte le risorse AWS gestite sottostanti.

Specifica al massimo 50 coppie contenenti caratteri alfanumerici, spazi e simboli (.+-=_:@/). Le chiavi possono contenere fino a 127 caratteri Unicode. I valori possono contenere fino a 255 caratteri Unicode.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

awsServicesAuthentication

object (AwsServicesAuthentication)

Obbligatorio. Configurazione dell'autenticazione per la gestione delle risorse AWS.

proxyConfig

object (AwsProxyConfig)

Facoltativo. Configurazione del proxy per il traffico HTTP(S) in uscita.

configEncryption

object (AwsConfigEncryption)

Obbligatorio. Crittografia della configurazione per i dati utente.

instancePlacement

object (AwsInstancePlacement)

Facoltativo. Il posizionamento da utilizzare sulle istanze del control plane. Se non specificato, verrà utilizzato il tenancy predefinito del VPC.

AwsDatabaseEncryption

Configurazione relativa alla crittografia dei secret a livello di applicazione.

Rappresentazione JSON
{
  "kmsKeyArn": string
}
Campi
kmsKeyArn

string

Obbligatorio. L'ARN della chiave AWS KMS utilizzata per criptare i secret del cluster.

AwsServicesAuthentication

Configurazione dell'autenticazione per la gestione delle risorse AWS.

Rappresentazione JSON
{
  "roleArn": string,
  "roleSessionName": string
}
Campi
roleArn

string

Obbligatorio. Nome risorsa Amazon (ARN) del ruolo che l'API multi-cloud Anthos assumerà durante la gestione delle risorse AWS nel tuo account.

roleSessionName

string

Facoltativo. Un identificatore per la sessione di ruolo assunta.

Se non specificato, il valore predefinito è multicloud-service-agent.

AwsAuthorization

Configurazione relativa alle impostazioni RBAC del cluster.

Rappresentazione JSON
{
  "adminUsers": [
    {
      object (AwsClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AwsClusterGroup)
    }
  ]
}
Campi
adminUsers[]

object (AwsClusterUser)

Facoltativo. Utenti che possono eseguire operazioni come amministratore del cluster. Verrà creato un ClusterRoleBinding gestito per concedere il ClusterRole cluster-admin agli utenti. È possibile fornire fino a dieci utenti amministratori.

Per saperne di più su RBAC, visita la pagina https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

adminGroups[]

object (AwsClusterGroup)

Facoltativo. Gruppi di utenti che possono eseguire operazioni come amministratore del cluster. Verrà creato un ClusterRoleBinding gestito per concedere il ClusterRole cluster-admin ai gruppi. Puoi fornire fino a 10 gruppi di amministratori.

Per saperne di più su RBAC, visita la pagina https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

AwsClusterUser

Identità di un soggetto di tipo utente per i cluster AWS.

Rappresentazione JSON
{
  "username": string
}
Campi
username

string

Obbligatorio. Il nome dell'utente, ad es. my-gcp-id@gmail.com.

AwsClusterGroup

Identità di un soggetto di tipo gruppo per i cluster AWS.

Rappresentazione JSON
{
  "group": string
}
Campi
group

string

Obbligatorio. Il nome del gruppo, ad es. my-group@domain.com.

Stato

Lo stato del ciclo di vita del cluster.

Enum
STATE_UNSPECIFIED Non impostato.
PROVISIONING Lo stato PROVISIONING indica che il cluster è in fase di creazione.
RUNNING Lo stato RUNNING indica che il cluster è stato creato ed è completamente utilizzabile.
RECONCILING Lo stato RECONCILING indica che sul cluster è in corso un'attività, ad esempio l'upgrade delle repliche del control plane.
STOPPING Lo stato STOPPING indica che il cluster è in fase di eliminazione.
ERROR Lo stato ERROR indica che il cluster è in uno stato non funzionante e non recuperabile.
DEGRADED Lo stato DEGRADED indica che il cluster richiede un'azione da parte dell'utente per ripristinare la funzionalità completa.

AwsClusterError

AwsClusterError descrive gli errori rilevati nei cluster AWS.

Rappresentazione JSON
{
  "message": string
}
Campi
message

string

Descrizione dell'errore di facile comprensione.

Metodi

create
(deprecated)

Crea una nuova risorsa AwsCluster in un determinato progetto e regione Google Cloud Platform.

delete
(deprecated)

Elimina una risorsa AwsCluster specifica.

generateAwsAccessToken
(deprecated)

Genera un token di accesso di breve durata per l'autenticazione a una determinata risorsa AwsCluster.

generateAwsClusterAgentToken
(deprecated)

Genera un token di accesso per un agente del cluster.

get
(deprecated)

Descrive una risorsa AwsCluster specifica.

getJwks
(deprecated)

Recupera il componente pubblico delle chiavi di firma del cluster in formato JSON Web Key.

list
(deprecated)

Elenca tutte le risorse AwsCluster in un determinato progetto Google Cloud e in una determinata regione.

patch
(deprecated)

Aggiorna un AwsCluster.