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

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

maxPodsConstraint

object (MaxPodsConstraint)

Obbligatorio. Il vincolo relativo al numero massimo di pod che possono essere eseguiti contemporaneamente su un nodo del pool di nodi.

errors[]

object (AwsNodePoolError)

Solo output. Un insieme di errori rilevati 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 di 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 del pool di nodi, verrà scelto un valore predefinito in base alla versione del pool di nodi e assegnato a questo campo.

rootVolume

object (AwsVolumeTemplate)

Facoltativo. Modello per il volume principale di cui è stato eseguito il provisioning per i nodi del pool di nodi. Il provisioning dei volumi verrà eseguito nella zona di disponibilità assegnata alla subnet del pool di nodi.

Se non specificato, il valore predefinito è 32 GB 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": "chiave", "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 nelle istanze del pool di nodi. Può essere non specificato o avere un valore ubuntu.

Se non specificato, il valore predefinito è ubuntu.

sshConfig

object (AwsSshConfig)

Facoltativo. La configurazione SSH.

securityGroupIds[]

string

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

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

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

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

Se non specificato, la raccolta delle metriche è disattivata.

spotConfig

object (SpotConfig)

Facoltativo. Configurazione per il provisioning di istanze EC2 Spot

Se specificato, il pool di nodi eseguirà il provisioning delle istanze spot dall'insieme di spotConfig.instance_types. Questo campo è mutuamente esclusivo di instanceType.

AwsAutoscalingGroupMetricsCollection

Configurazione relativa alla raccolta delle metriche CloudWatch in un gruppo AWS Auto Scaling.

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 Granularità e non specifichi alcuna metrica, tutte le metriche vengono attivate.

SpotConfig

SpotConfig contiene informazioni di configurazione per il nodo Spot.

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

string

Obbligatorio. Un elenco di tipi di istanze per la creazione di un 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 corrente 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. 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 è in uno stato non recuperabile non funzionante.
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 comprensibile.

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 o meno. Se impostato su true, i nodi di 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 per le opzioni del kubelet del pool di nodi.

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

boolean

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

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 di concedere ai pod con determinate caratteristiche delle risorse un'affinità e un'esclusività della CPU maggiori sul nodo. Se non specificato, il valore predefinito è "none".

cpuCfsQuota

boolean

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

Questa opzione è attivata per impostazione predefinita e consente a kubelet di utilizzare la quota CFS (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) per applicare i limiti della CPU del contenitore. In caso contrario, i limiti di CPU non verranno applicati.

Disattiva questa opzione per ridurre i problemi di throttling della CPU mantenendo i pod nel livello QoS garantito specificando i limiti della CPU.

Il valore predefinito è "true" se non specificato.

cpuCfsQuotaPeriod

string

Facoltativo. Imposta il valore del periodo della 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 "300 ms". 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 per i PID del pod. Consulta 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 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 principale. Per i cluster con versione secondaria 1.27 e successive, viene utilizzata una configurazione predefinita di surgeSettings con maxSurge = 1 e maxUnavailable = 0. Per i cluster con versioni precedenti, gli aggiornamenti del pool di nodi utilizzano il tradizionale meccanismo di aggiornamento incrementale che aggiorna 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 Surge 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 le dimensioni attuali del pool di nodi per il tempo dell'aggiornamento in modo da 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 di picco.

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

Crea un nuovo AwsNodePool, associato a un determinato AwsCluster.

delete

Consente di eliminare una risorsa AwsNodePool specifica.

get

Descrive una risorsa AwsNodePool specifica.

list

Elenca tutte le risorse AwsNodePool in un determinato AwsCluster.

patch

Aggiorna un AwsNodePool.

rollback

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