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 della Google Cloud Platform, consulta Nomi delle risorse.

description

string

Facoltativo. Una descrizione leggibile di questo cluster. Non può essere più lungo di 255 byte codificati in UTF-8.

networking

object (AwsClusterNetworking)

Obbligatorio. Configurazione di rete 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 piano di controllo 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 sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. 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 sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. 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 letture, modifiche e scritture coerenti tramite controllo della contemporaneità ottimistico.

Può essere inviato per le richieste di aggiornamento ed eliminazione per assicurarsi che il cliente abbia 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: un prefisso (facoltativo) e un 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 del logging per questo cluster.

errors[]

object (AwsClusterError)

Solo output. Un insieme di errori rilevati 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'unica VPC. Sono incluse le repliche del piano di controllo 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 di componenti (ad es. il piano di controllo e i pool di nodi) vengono eseguiti su un unico 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 di 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 sottorete per pool di nodi nel gruppo di sicurezza del piano di controllo. Se impostato su true, devi anche fornire 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 pool di nodi 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 piano di controllo (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 accedere alle macchine del control plane sottostanti.

subnetIds[]

string

Obbligatorio. L'elenco delle subnet in cui verranno eseguite le repliche del piano di controllo. Verrà eseguito il provisioning di una replica in ogni sottorete 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 di gruppi di sicurezza aggiuntivi da aggiungere alle repliche del piano di controllo. L'API Anthos Multi-Cloud crea e gestisce automaticamente i gruppi di sicurezza con le regole minime necessarie per il funzionamento di un cluster.

iamInstanceProfile

string

Obbligatorio. Il nome o l'ARN del profilo dell'istanza AWS IAM da assegnare a ogni replica del piano di controllo.

rootVolume

object (AwsVolumeTemplate)

Facoltativo. Configurazione relativa al volume principale eseguito il provisioning per ogni replica del piano di controllo.

Il provisioning dei volumi verrà eseguito nella zona di disponibilità associata alla subnet corrispondente.

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

mainVolume

object (AwsVolumeTemplate)

Facoltativo. Configurazione relativa al volume principale eseguito il provisioning per ogni replica del piano di controllo. Il volume principale è responsabile della memorizzazione di tutto lo stato etcd del cluster.

Il provisioning dei volumi verrà eseguito nella zona di disponibilità associata alla subnet corrispondente.

Se non specificato, il valore predefinito è 8 GB 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. Configura la crittografia per i dati utente.

instancePlacement

object (AwsInstancePlacement)

Facoltativo. Il posizionamento da utilizzare nelle istanze del piano di controllo. Se non specificato, verrà utilizzato il tenant predefinito della 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. Il 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 agli utenti il ruolo cluster-admin ClusterRole. È possibile fornire fino a dieci utenti amministratori.

Per ulteriori informazioni su RBAC, consulta 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 specificare fino a dieci gruppi di amministrazione.

Per ulteriori informazioni su RBAC, consulta 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 esempio 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 esempio 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 nel cluster è in corso un'attività, ad esempio l'upgrade delle repliche del piano di controllo.
STOPPING Lo stato STOPPING indica che il cluster è in fase di eliminazione.
ERROR Lo stato ERROR indica che il cluster è in uno stato non recuperabile non funzionante.
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 comprensibile.

Metodi

create

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

delete

Consente di eliminare una risorsa AwsCluster specifica.

generateAwsAccessToken

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

generateAwsClusterAgentToken

Genera un token di accesso per un agente del cluster.

get

Descrive una risorsa AwsCluster specifica.

getJwks

Recupera il componente pubblico delle chiavi di firma del cluster in formato chiave web JSON.

list

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

patch

Aggiorna un AwsCluster.