REST Resource: projects.locations.clusters

Risorsa: Cluster

Un cluster Kubernetes Google Distributed Cloud Edge.

Rappresentazione JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "fleet": {
    object (Fleet)
  },
  "networking": {
    object (ClusterNetworking)
  },
  "authorization": {
    object (Authorization)
  },
  "defaultMaxPodsPerNode": integer,
  "endpoint": string,
  "port": integer,
  "clusterCaCertificate": string,
  "maintenancePolicy": {
    object (MaintenancePolicy)
  },
  "controlPlaneVersion": string,
  "nodeVersion": string,
  "controlPlane": {
    object (ControlPlane)
  },
  "systemAddonsConfig": {
    object (SystemAddonsConfig)
  },
  "externalLoadBalancerIpv4AddressPools": [
    string
  ],
  "controlPlaneEncryption": {
    object (ControlPlaneEncryption)
  },
  "status": enum (Status),
  "maintenanceEvents": [
    {
      object (MaintenanceEvent)
    }
  ],
  "targetVersion": string,
  "releaseChannel": enum (ReleaseChannel),
  "survivabilityConfig": {
    object (SurvivabilityConfig)
  },
  "externalLoadBalancerIpv6AddressPools": [
    string
  ]
}
Campi
name

string

Obbligatorio. Il nome della risorsa del cluster.

createTime

string (Timestamp format)

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

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo output. L'ora dell'ultimo aggiornamento del cluster.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Etichette associate a questa risorsa.

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

fleet

object (Fleet)

Obbligatorio. Configurazione del parco risorse.

networking

object (ClusterNetworking)

Obbligatorio. Configurazione del networking a livello di cluster.

authorization

object (Authorization)

Obbligatorio. Immutabile. Criterio RBAC che verrà applicato e gestito da GEC.

defaultMaxPodsPerNode

integer

Facoltativo. Il numero massimo predefinito di pod per nodo utilizzato se non è stato specificato esplicitamente un valore massimo per un pool di nodi in questo cluster. Se non specificato, verrà utilizzato il valore predefinito di Kubernetes.

endpoint

string

Solo output. L'indirizzo IP del server API Kubernetes.

port

integer

Solo output. Il numero di porta del server API Kubernetes.

clusterCaCertificate

string

Solo output. Il certificato pubblico con codifica PEM della CA del cluster.

maintenancePolicy

object (MaintenancePolicy)

Facoltativo. Configurazione della policy di manutenzione a livello di cluster.

controlPlaneVersion

string

Solo output. La versione di rilascio del control plane

nodeVersion

string

Solo output. La versione di rilascio più bassa tra tutti i nodi worker. Questo campo può essere vuoto se il cluster non ha nodi worker.

controlPlane

object (ControlPlane)

Facoltativo. La configurazione del control plane del cluster.

systemAddonsConfig

object (SystemAddonsConfig)

Facoltativo. La configurazione dei componenti aggiuntivi di sistema.

externalLoadBalancerIpv4AddressPools[]

string

Facoltativo. Pool di indirizzi IPv4 per il bilanciamento del carico esterno del piano dati del cluster.

controlPlaneEncryption

object (ControlPlaneEncryption)

Facoltativo. Opzioni di crittografia del disco del control plane remoto. Questo campo viene utilizzato solo quando viene attivato il supporto di CMEK.

status

enum (Status)

Solo output. Lo stato attuale del cluster.

maintenanceEvents[]

object (MaintenanceEvent)

Solo output. Tutti gli eventi di manutenzione pianificati per il cluster, inclusi quelli in corso, pianificati per il futuro e completati in passato (fino a 90 giorni).

targetVersion

string

Facoltativo. La versione del cluster di destinazione. Ad esempio: "1.5.0".

releaseChannel

enum (ReleaseChannel)

Facoltativo. Il canale di rilascio a cui è iscritto un cluster.

survivabilityConfig

object (SurvivabilityConfig)

Facoltativo. Configurazione della sopravvivenza del cluster, ad esempio per il caso in cui la connettività di rete viene persa. Nota: questo vale solo per i cluster del control plane locale.

externalLoadBalancerIpv6AddressPools[]

string

Facoltativo. Pool di indirizzi IPv6 per il bilanciamento del carico esterno del piano dati del cluster.

Parco risorse

Configurazione relativa al parco risorse.

I parchi risorse sono un concetto di Google Cloud per l'organizzazione logica dei cluster; ti consentono di utilizzare e gestire le funzionalità multi-cluster e di applicare criteri coerenti in tutti i tuoi sistemi.

Rappresentazione JSON
{
  "project": string,
  "membership": string
}
Campi
project

string

Obbligatorio. Il nome del progetto host del parco risorse in cui verrà registrato questo cluster.

I nomi dei progetti sono formattati come projects/<project-number>.

membership

string

Solo output. Il nome della risorsa Hub Membership gestita associata a questo cluster.

I nomi delle iscrizioni sono formattati come projects/<project-number>/locations/global/membership/<cluster-id>.

ClusterNetworking

Configurazione del networking a livello di cluster.

Rappresentazione JSON
{
  "clusterIpv4CidrBlocks": [
    string
  ],
  "servicesIpv4CidrBlocks": [
    string
  ]
}
Campi
clusterIpv4CidrBlocks[]

string

Obbligatorio. A tutti i pod del cluster viene assegnato un indirizzo IPv4 RFC1918 in questi blocchi. È supportato un solo blocco. Questo campo non può essere modificato dopo la creazione.

servicesIpv4CidrBlocks[]

string

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

Autorizzazione

Criterio RBAC che verrà applicato e gestito da GEC.

Rappresentazione JSON
{
  "adminUsers": {
    object (ClusterUser)
  }
}
Campi
adminUsers

object (ClusterUser)

Obbligatorio. Utente a cui verrà concesso il ruolo cluster-admin, che permette di avere l'accesso completo al cluster. Al momento questo è un campo singolo, ma in futuro verrà ampliato per consentire la presenza di più amministratori.

ClusterUser

Un'entità utente per una policy RBAC.

Rappresentazione JSON
{
  "username": string
}
Campi
username

string

Obbligatorio. Un nome utente Google attivo.

MaintenancePolicy

Configurazione della policy di manutenzione.

Rappresentazione JSON
{
  "window": {
    object (MaintenanceWindow)
  }
}
Campi
window

object (MaintenanceWindow)

Specifica il periodo di manutenzione in cui può essere eseguita la manutenzione.

MaintenanceWindow

Configurazione del periodo di manutenzione

Rappresentazione JSON
{
  "recurringWindow": {
    object (RecurringTimeWindow)
  }
}
Campi
recurringWindow

object (RecurringTimeWindow)

Configurazione di un periodo di manutenzione ricorrente.

RecurringTimeWindow

Rappresenta un periodo di tempo arbitrario che si ripete.

Rappresentazione JSON
{
  "window": {
    object (TimeWindow)
  },
  "recurrence": string
}
Campi
window

object (TimeWindow)

La finestra della prima ricorrenza.

recurrence

string

Una RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) per la ricorrenza di questa finestra. Continuano per l'intervallo di tempo tra l'ora di inizio e quella di fine.

TimeWindow

Rappresenta un periodo di tempo arbitrario.

Rappresentazione JSON
{
  "startTime": string,
  "endTime": string
}
Campi
startTime

string (Timestamp format)

L'ora in cui inizia la finestra.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

L'ora in cui termina la finestra. L'ora di fine deve essere successiva all'ora di inizio.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

ControlPlane

Configurazione del control plane del cluster.

Rappresentazione JSON
{

  // Union field config can be only one of the following:
  "remote": {
    object (Remote)
  },
  "local": {
    object (Local)
  }
  // End of list of possible types for union field config.
}
Campi

Campo unione config.

config può essere solo uno dei seguenti tipi:

remote

object (Remote)

Configurazione del control plane remoto.

local

object (Local)

Configurazione del control plane locale.

Avviso: i cluster del control plane locale devono essere creati nel proprio progetto. I cluster del piano di controllo locale non possono coesistere nello stesso progetto con altri tipi di cluster, inclusi i cluster non GDCE. La combinazione di cluster GDCE del control plane locale con qualsiasi altro tipo di cluster nello stesso progetto può causare la perdita di dati.

Remoto

Questo tipo non contiene campi.

Configurazione specifica per i cluster con un control plane ospitato da remoto.

Locale

Configurazione specifica per i cluster con un control plane ospitato localmente.

Avviso: i cluster del control plane locale devono essere creati nel proprio progetto. I cluster del piano di controllo locale non possono coesistere nello stesso progetto con altri tipi di cluster, inclusi i cluster non GDCE. La combinazione di cluster GDCE del control plane locale con qualsiasi altro tipo di cluster nello stesso progetto può causare la perdita di dati.

Rappresentazione JSON
{
  "nodeLocation": string,
  "nodeCount": integer,
  "machineFilter": string,
  "sharedDeploymentPolicy": enum (SharedDeploymentPolicy)
}
Campi
nodeLocation

string

Nome delle zone Google Distributed Cloud Edge in cui verrà creato questo pool di nodi. Ad esempio: us-central1-edge-customer-a.

nodeCount

integer

Il numero di nodi che fungono da repliche del control plane.

machineFilter

string

Solo le macchine che corrispondono a questo filtro potranno ospitare i nodi del control plane. Il linguaggio di filtraggio accetta stringhe come "name=" ed è documentato qui: AIP-160.

sharedDeploymentPolicy

enum (SharedDeploymentPolicy)

Configurazione dei criteri relativi alla modalità di deployment delle applicazioni utente.

SharedDeploymentPolicy

Rappresenta la configurazione dei criteri relativi alla modalità di deployment delle applicazioni utente.

Enum
SHARED_DEPLOYMENT_POLICY_UNSPECIFIED Non specificato.
ALLOWED Le applicazioni utente possono essere implementate sia sul control plane sia sui nodi worker.
DISALLOWED Le applicazioni utente non possono essere implementate sui nodi del control plane e possono essere implementate solo sui nodi worker.

SystemAddonsConfig

Configurazione che i clienti possono definire per i componenti aggiuntivi di sistema GDCE.

Rappresentazione JSON
{
  "ingress": {
    object (Ingress)
  }
}
Campi
ingress

object (Ingress)

Facoltativo. Configurazione per Ingress.

In entrata

Configurazione del componente aggiuntivo Ingress, che consente ai clienti di creare un oggetto Ingress per gestire l'accesso esterno ai server in un cluster. Il componente aggiuntivo è costituito da istiod e istio-ingress.

Rappresentazione JSON
{
  "disabled": boolean,
  "ipv4Vip": string
}
Campi
disabled

boolean

Facoltativo. Indica se Ingress è disabilitato.

ipv4Vip

string

Facoltativo. VIP in entrata.

ControlPlaneEncryption

Configurazione per il supporto della chiave KMS gestita dal cliente per la crittografia del disco del cluster del control plane remoto.

Rappresentazione JSON
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "kmsKeyState": enum (KmsKeyState),
  "kmsStatus": {
    object (Status)
  }
}
Campi
kmsKey

string

Immutabile. La chiave di crittografia Cloud KMS, ad esempio projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}, da utilizzare per proteggere i dischi del control plane. Se non specificata, verrà utilizzata una chiave gestita da Google.

kmsKeyActiveVersion

string

Solo output. La CryptoKeyVersion di Cloud KMS attualmente in uso per proteggere i dischi del control plane. Applicabile solo se è impostata kmsKey.

kmsKeyState

enum (KmsKeyState)

Solo output. Disponibilità della chiave di crittografia Cloud KMS. In caso contrario, i nodi potrebbero andare offline perché non possono accedere ai dati locali.KEY_AVAILABLE Ciò può essere dovuto alla mancanza di autorizzazioni per utilizzare la chiave o alla disattivazione o eliminazione della chiave.

kmsStatus

object (Status)

Solo output. Stato di errore restituito da Cloud KMS quando viene utilizzata questa chiave. Questo campo può essere compilato solo se kmsKeyState non è KMS_KEY_STATE_KEY_AVAILABLE. Se compilato, questo campo contiene lo stato di errore segnalato da Cloud KMS.

Stato

Indica lo stato del cluster.

Enum
STATUS_UNSPECIFIED Stato sconosciuto.
PROVISIONING Il cluster è in fase di creazione.
RUNNING Il cluster è stato creato ed è completamente utilizzabile.
DELETING Il cluster è in fase di eliminazione.
ERROR Lo stato indica che si sono verificati alcuni errori durante la riconciliazione/l'eliminazione del cluster.
RECONCILING Il cluster è in fase di aggiornamento, ad esempio degli upgrade di versione.

MaintenanceEvent

Un evento di manutenzione è un'operazione che potrebbe causare interruzioni temporanee ai workload del cluster, inclusi gli upgrade del cluster basati su Google o avviati dall'utente, le modifiche alla configurazione del cluster avviate dall'utente che richiedono il riavvio dei nodi e così via.

Rappresentazione JSON
{
  "uuid": string,
  "targetVersion": string,
  "operation": string,
  "type": enum (Type),
  "schedule": enum (Schedule),
  "state": enum (State),
  "createTime": string,
  "startTime": string,
  "endTime": string,
  "updateTime": string
}
Campi
uuid

string

Solo output. UUID dell'evento di manutenzione.

targetVersion

string

Solo output. La versione di destinazione del cluster.

operation

string

Solo output. L'operazione per l'esecuzione dell'evento di manutenzione. Specificato nel formato projects/*/locations/*/operations/*. Se l'evento di manutenzione è suddiviso in più operazioni (ad es. a causa di finestre di manutenzione), viene registrata l'ultima.

type

enum (Type)

Solo output. Il tipo di evento di manutenzione.

schedule

enum (Schedule)

Solo output. La pianificazione dell'evento di manutenzione.

state

enum (State)

Solo output. Lo stato dell'evento di manutenzione.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata la richiesta di evento di manutenzione.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

startTime

string (Timestamp format)

Solo output. L'ora in cui è iniziato l'evento di manutenzione.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

Solo output. L'ora in cui l'evento di manutenzione è terminato, correttamente o meno. Se l'evento di manutenzione è suddiviso in più finestre di manutenzione, endTime viene aggiornato solo al termine dell'intero flusso.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo output. L'ora in cui è stato aggiornato il messaggio dell'evento di manutenzione.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Tipo

Indica il tipo di evento di manutenzione.

Enum
TYPE_UNSPECIFIED Non specificato.
USER_INITIATED_UPGRADE Upgrade avviato dagli utenti.
GOOGLE_DRIVEN_UPGRADE Upgrade gestito da Google.

Pianifica

Indica quando deve essere eseguito l'evento di manutenzione.

Enum
SCHEDULE_UNSPECIFIED Non specificato.
IMMEDIATELY Subito dopo aver ricevuto la richiesta.

Stato

Indica lo stato dell'evento di manutenzione.

Enum
STATE_UNSPECIFIED Non specificato.
RECONCILING L'evento di manutenzione è in corso. Il cluster potrebbe essere inutilizzabile.
SUCCEEDED L'evento di manutenzione è riuscito.
FAILED L'evento di manutenzione non è riuscito.

ReleaseChannel

Il canale di rilascio a cui è iscritto un cluster.

Enum
RELEASE_CHANNEL_UNSPECIFIED Canale di rilascio non specificato. Per impostazione predefinita, verrà selezionato il canale REGULAR.
NONE Nessun canale di rilascio.
REGULAR Canale di rilascio regolare.

SurvivabilityConfig

Configurazione della sopravvivenza del cluster, ad esempio per il caso in cui la connettività di rete viene persa.

Rappresentazione JSON
{
  "offlineRebootTtl": string
}
Campi
offlineRebootTtl

string (Duration format)

Facoltativo. Periodo di tempo che consente il riavvio dei nodi del cluster e il loro funzionamento senza connettività di rete a Google. Il valore predefinito 0 significa che non è consentito. Il periodo di tempo massimo è 7 giorni.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

Metodi

create

Crea un nuovo cluster in un progetto e una località specifici.

delete

Elimina un singolo cluster.

generateAccessToken

Genera un token di accesso per un cluster.

generateOfflineCredential

Genera una credenziale offline per un cluster.

get

Recupera i dettagli di un singolo cluster.

list

Elenca i cluster in un progetto e una località specifici.

patch

Aggiorna i parametri di un singolo cluster.

upgrade

Esegue l'upgrade di un singolo cluster.