REST Resource: projects.locations.awsClusters.awsNodePools

Risorsa: AwsNodePool

Un pool di nodi Anthos in esecuzione su AWS.

Rappresentazione JSON
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
Campi
name

string

Il nome di questa risorsa.

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

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

version

string

Obbligatorio. La versione di Kubernetes da eseguire su questo pool di nodi (ad es. 1.19.10-gke.1000).

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

config

object (AwsNodeConfig)

Obbligatorio. La configurazione del pool di nodi.

autoscaling

object (AwsNodePoolAutoscaling)

Obbligatorio. Configurazione del gestore della scalabilità automatica per questo pool di nodi.

subnetId

string

Obbligatorio. La subnet in cui viene eseguito il nodo del pool di nodi.

state

enum (State)

Solo output. Lo stato del ciclo di vita del pool di nodi.

uid

string

Solo output. Un identificatore univoco globale per il pool di nodi.

reconciling

boolean

Solo output. Se impostato, al momento sono in corso modifiche al pool di nodi.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stato creato questo pool di nodi.

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 pool di nodi.

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 pool di nodi.

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" }.

maxPodsConstraint

object (MaxPodsConstraint)

Obbligatorio. Il vincolo sul numero massimo di pod che possono essere eseguiti contemporaneamente su un nodo nel pool di nodi.

errors[]

object (AwsNodePoolError)

Solo output. Un insieme di errori trovati nel pool di nodi.

management

object (AwsNodeManagement)

Facoltativo. La configurazione di gestione per questo pool di nodi.

kubeletConfig

object (NodeKubeletConfig)

Facoltativo. Configurazioni kubelet del nodo.

updateSettings

object (UpdateSettings)

Facoltativo. Le impostazioni di aggiornamento controllano la velocità e l'interruzione dell'aggiornamento.

AwsNodeConfig

Parametri che descrivono i nodi in un cluster.

Rappresentazione JSON
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
Campi
instanceType

string

Facoltativo. Il tipo di istanza EC2 durante la creazione di istanze on demand.

Se non viene specificato durante la creazione pool di nodi, verrà scelto un valore predefinito in base alla versione pool di nodi e assegnato a questo campo.

rootVolume

object (AwsVolumeTemplate)

Facoltativo. Modello per il volume radice di cui è stato eseguito il provisioning per i nodi pool di nodi. I volumi verranno sottoposti a provisioning nella zona di disponibilità assegnata alla subnet del pool di nodi.

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

taints[]

object (NodeTaint)

Facoltativo. Le incompatibilità iniziali assegnate ai nodi di questo pool di nodi.

labels

map (key: string, value: string)

Facoltativo. Le etichette iniziali assegnate ai nodi di questo pool di nodi. Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

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

tags

map (key: string, value: string)

Facoltativo. Metadati chiave/valore da assegnare a ogni risorsa AWS sottostante. 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" }.

iamInstanceProfile

string

Obbligatorio. Il nome o l'ARN del profilo dell'istanza AWS IAM da assegnare ai nodi del pool.

imageType

string

Facoltativo. Il tipo di immagine del sistema operativo da utilizzare sulle istanze pool di nodi. Può essere non specificato o avere un valore di ubuntu.

Se non specificato, il valore predefinito è ubuntu.

sshConfig

object (AwsSshConfig)

Facoltativo. La configurazione SSH.

securityGroupIds[]

string

Facoltativo. Gli ID dei gruppi di sicurezza aggiuntivi da aggiungere ai nodi di questo pool. Il gestore creerà automaticamente gruppi di sicurezza con le regole minime necessarie per un cluster funzionante.

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. Informazioni relative al posizionamento per questo nodo. Se non specificato, verrà utilizzato il tenancy predefinito del VPC.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Facoltativo. Configurazione relativa alla raccolta delle metriche CloudWatch nel gruppo di scalabilità automatica del pool di nodi.

Se non specificata, la raccolta delle metriche è disattivata.

spotConfig

object (SpotConfig)

Facoltativo. Configurazione per il provisioning delle istanze spot EC2

Se specificato, il pool di nodi eseguirà il provisioning delle istanze spot dal set di spotConfig.instance_types. Questo campo si esclude a vicenda con instanceType.

AwsAutoscalingGroupMetricsCollection

Configurazione relativa alla raccolta delle metriche CloudWatch in un gruppo di scalabilità automatica di AWS.

Rappresentazione JSON
{
  "granularity": string,
  "metrics": [
    string
  ]
}
Campi
granularity

string

Obbligatorio. La frequenza con cui EC2 Auto Scaling invia dati aggregati ad AWS CloudWatch. L'unico valore valido è "1Minute".

metrics[]

string

Facoltativo. Le metriche da attivare. Per un elenco delle metriche valide, consulta https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. Se specifichi la granularità e non specifichi alcuna metrica, tutte le metriche vengono abilitate.

SpotConfig

SpotConfig contiene le informazioni di configurazione per il nodo spot.

Rappresentazione JSON
{
  "instanceTypes": [
    string
  ]
}
Campi
instanceTypes[]

string

Obbligatorio. Un elenco di tipi di istanze per la creazione del pool di nodi spot.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling contiene le informazioni richieste da Cluster Autoscaler per regolare le dimensioni del pool di nodi in base all'utilizzo attuale del cluster.

Rappresentazione JSON
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
Campi
minNodeCount

integer

Obbligatorio. Numero minimo di nodi nel pool di nodi. Deve essere maggiore o uguale a 1 e minore o uguale a maxNodeCount.

maxNodeCount

integer

Obbligatorio. Il numero massimo di nodi nel pool di nodi. Deve essere maggiore o uguale a minNodeCount e minore o uguale a 50.

Stato

Lo stato del ciclo di vita del pool di nodi.

Enum
STATE_UNSPECIFIED Non impostato.
PROVISIONING Lo stato PROVISIONING indica che il pool di nodi è in fase di creazione.
RUNNING Lo stato RUNNING indica che il pool di nodi è stato creato ed è completamente utilizzabile.
RECONCILING Lo stato RECONCILING indica che il pool di nodi è in fase di riconciliazione.
STOPPING Lo stato STOPPING indica che il pool di nodi è in fase di eliminazione.
ERROR Lo stato ERROR indica che il pool di nodi si trova in uno stato di errore non recuperabile.
DEGRADED Lo stato DEGRADED indica che il pool di nodi richiede un'azione da parte dell'utente per ripristinare la funzionalità completa.

AwsNodePoolError

AwsNodePoolError descrive gli errori rilevati nei node pool AWS.

Rappresentazione JSON
{
  "message": string
}
Campi
message

string

Descrizione dell'errore di facile comprensione.

AwsNodeManagement

AwsNodeManagement definisce l'insieme di funzionalità di gestione dei nodi attivate per un pool di nodi AWS.

Rappresentazione JSON
{
  "autoRepair": boolean
}
Campi
autoRepair

boolean

Facoltativo. Indica se i nodi verranno riparati automaticamente. Se impostato su true, i nodi in questo pool di nodi verranno monitorati e, se non superano i controlli di integrità in modo coerente per un periodo di tempo, verrà attivata un'azione di riparazione automatica per sostituirli con nuovi nodi.

NodeKubeletConfig

Configurazione delle opzioni kubelet pool di nodi.

Rappresentazione JSON
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
Campi
insecureKubeletReadonlyPortEnabled

boolean

Facoltativo. Abilita la porta di sola lettura kubelet non sicura.

cpuManagerPolicy

string

Facoltativo. Controlla il criterio di gestione della CPU sul nodo. Consulta https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/

Sono consentiti i seguenti valori. * "none": il valore predefinito, che rappresenta il comportamento di pianificazione esistente. * "static": consente ai pod con determinate caratteristiche delle risorse di ottenere maggiore affinità e esclusività della CPU sul nodo. Se non specificato, il valore predefinito è "none".

cpuCfsQuota

boolean

Facoltativo. Attiva l'applicazione della quota CFS della CPU per i container che specificano i limiti della CPU.

Questa opzione è abilitata per impostazione predefinita, il che fa sì che kubelet utilizzi la quota CFS (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) per applicare i limiti della CPU del container. In caso contrario, i limiti di CPU non verranno applicati.

Disattiva questa opzione per ridurre i problemi di limitazione della CPU, mantenendo comunque i pod nella classe QoS garantita specificando i limiti della CPU.

Se non specificato, il valore predefinito è "true".

cpuCfsQuotaPeriod

string

Facoltativo. Imposta il valore del periodo di quota CFS della CPU "cpu.cfs_period_us".

La stringa deve essere una sequenza di numeri decimali, ciascuno con una frazione facoltativa e un suffisso di unità, ad esempio "300ms". Le unità di tempo valide sono "ns", "us" (o "µs"), "ms", "s", "m", "h". Il valore deve essere una durata positiva.

Se non specificato, il valore predefinito è "100 ms".

podPidsLimit

string (int64 format)

Facoltativo. Imposta i limiti PID del pod. Consulta la pagina https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits

Controlla il numero massimo di processi consentiti in un pod. Il valore deve essere maggiore o uguale a 1024 e minore di 4194304.

UpdateSettings

UpdateSettings controlla il livello di parallelismo e il livello di interruzione causato durante l'aggiornamento di un pool di nodi.

Queste impostazioni sono applicabili quando l'aggiornamento del pool di nodi richiede la sostituzione dei nodi pool di nodi esistenti con quelli aggiornati.

UpdateSettings sono facoltativi. Quando UpdateSettings non viene specificato durante la creazione del pool di nodi, viene scelta un'impostazione predefinita in base alla versione del cluster padre. Per i cluster con versione secondaria 1.27 e successive, viene utilizzata una configurazione surgeSettings predefinita con maxSurge = 1 e maxUnavailable = 0. Per i cluster con versioni precedenti, gli aggiornamenti pool di nodi utilizzano il meccanismo di aggiornamento in sequenza tradizionale di aggiornamento di un nodo alla volta in modalità "termina prima di creare" e updateSettings non è applicabile.

Imposta il parametro surgeSettings per utilizzare il meccanismo di aggiornamento di sovraccarico per l'aggiornamento in sequenza dei nodi del pool di nodi. 1. maxSurge controlla il numero di nodi aggiuntivi che possono essere creati temporaneamente oltre la dimensione attuale del pool di nodi per aumentare il numero di nodi disponibili. 2. maxUnavailable controlla il numero di nodi che possono non essere disponibili contemporaneamente durante l'aggiornamento. 3. (maxSurge + maxUnavailable) determina il livello di parallelismo (ovvero il numero di nodi aggiornati contemporaneamente).

Rappresentazione JSON
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
Campi
surgeSettings

object (SurgeSettings)

Facoltativo. Impostazioni per l'aggiornamento del sovraccarico.

SurgeSettings

SurgeSettings contiene i parametri per l'aggiornamento di Surge.

Rappresentazione JSON
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
Campi
maxSurge

integer

Facoltativo. Il numero massimo di nodi che possono essere creati durante il processo di aggiornamento oltre la dimensione attuale del pool di nodi.

maxUnavailable

integer

Facoltativo. Il numero massimo di nodi che possono non essere disponibili contemporaneamente durante il processo di aggiornamento. Un nodo è considerato non disponibile se il suo stato non è Pronto.

Metodi

create
(deprecated)

Crea un nuovo AwsNodePool, collegato a un determinato AwsCluster.

delete
(deprecated)

Elimina una risorsa AwsNodePool specifica.

get
(deprecated)

Descrive una risorsa AwsNodePool specifica.

list
(deprecated)

Elenca tutte le risorse AwsNodePool in un determinato AwsCluster.

patch
(deprecated)

Aggiorna un AwsNodePool.

rollback
(deprecated)

Esegue il rollback di una richiesta di aggiornamento di AwsNodePool interrotta o non riuscita in precedenza.