Gestione dei cluster GKE con Config Controller e i progetti KRM
Questo tutorial mostra come scrivere i progetti KRM con Config Controller per il provisioning di un cluster Google Kubernetes Engine (GKE) e dell'infrastruttura di rete richiesta, come un Virtual Private Cloud (VPC) e una subnet per ospitare il cluster GKE, e intervalli IP denominati per pod e servizi. Segui la procedura se sei un operatore di cluster GKE e vuoi gestire in modo dichiarativo la configurazione del cluster e l'infrastruttura di networking.
Config Controller è un servizio ospitato per eseguire il provisioning e l'orchestrazione delle risorse Anthos e Google Cloud. Offre un endpoint API in grado di eseguire il provisioning, attivare e orchestrare le risorse Google Cloud come parte di Anthos Config Management.
I progetti KRM sono un modo per pacchettizzare le risorse comunemente utilizzate insieme durante la codifica delle best practice che possono essere implementate in tutta l'organizzazione.
Il progetto base del cluster GKE è un progetto base di KRM che include tutte le risorse necessarie per gestire un cluster GKE oltre a un VPC, a una subnet e a intervalli IP Google Cloud esistenti. Puoi ispirare più volte il progetto base per configurare più cluster.
I progetti di rete sono un insieme di progetti di KRM che ti aiutano a creare i componenti di networking necessari, come VPC, subnet e intervalli IP alias, necessari per creare un cluster GKE. Puoi creare un'istanza di questi progetti più volte per configurare più subnet e intervalli IP alias come richiesto per più cluster.
Obiettivi
- Crea in modo dichiarativo l'infrastruttura di networking necessaria per ospitare un cluster GKE.
- Configura un cluster GKE in modo dichiarativo in questa infrastruttura di rete.
- Applicare la configurazione utilizzando Config Controller.
Costi
Questo tutorial utilizza i seguenti componenti fatturabili di Google Cloud:
Per un elenco completo delle risorse incluse nel progetto base del cluster GKE, consulta la sezione Risorse del pacchetto GKE e i relativi sottopacchetti.
Per generare una stima dei costi basata sull'utilizzo previsto, utilizza il Calcolatore prezzi.
Al termine di questo tutorial, puoi evitare di continuare la fatturazione eliminando le risorse create. Per ulteriori informazioni, consulta la sezione Pulizia.
Requisiti
Devi disporre di un'istanza di Config Controller.
Devi avere un progetto Google Cloud. Questo è il progetto in cui verrà creato il tuo cluster GKE. Puoi utilizzare il progetto in cui si trova il cluster di Config Controller o uno diverso.
La fatturazione per il tuo progetto Google Cloud deve essere abilitata.
Scopri come confermare che la fatturazione è abilitata per il tuo progetto.
Devi avere uno spazio dei nomi Config Controller configurato per gestire le risorse nel progetto.
Per impostazione predefinita, Config Controller include lo spazio dei nomi
config-control
preconfigurato per l'utilizzo con Config Connector e le istruzioni per configurare Config Controller spiegano come autorizzare Config Connector a gestire il tuo progetto.Tuttavia, puoi anche utilizzare un altro spazio dei nomi configurato in modo simile. In base alla convenzione, questi spazi dei nomi sono solitamente denominati in base all'ID progetto del progetto che gestiscono.
Scopri come configurare Config Connector per visualizzare lo spazio dei nomi.
Per impostazione predefinita, il progetto base del cluster GKE abilita Google Gruppi per RBAC per GKE. È consigliato perché consente di autorizzare i gruppi anziché singoli utenti. Se preferisci, puoi disattivare Google Gruppi per RBAC.
Google Gruppi per RBAC richiede quanto segue:
Devi avere un abbonamento a Google Workspace o Cloud Identity.
L'organizzazione deve avere un dominio verificato.
Devi avere un gruppo denominato
gke-security-groups
nella tua organizzazione.Per ulteriori informazioni su questo gruppo di sicurezza, vedi Gruppi per GKE.
Modi per creare un gruppo:
- Console di amministrazione Google Workspace
- App Gruppi (richiede Groups for Business)
- Gruppi in Google Cloud Console (richiede Groups for Business)
Ulteriori informazioni su come attivare o disattivare Groups for Business.
Prima di iniziare
-
In Cloud Console, attiva Cloud Shell.
Nella parte inferiore di Cloud Console, viene avviata una sessione Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con l'interfaccia a riga di comando di Google Cloud già installata e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui tutti i comandi in questo tutorial da Cloud Shell.
Configura l'ambiente
In Cloud Shell, esegui questi comandi:
Installa
kubectl
, l'interfaccia a riga di comando principale per Kubernetes:gcloud components install kubectl
Installa
kpt
, l'interfaccia a riga di comando principale per i progetti KRM:gcloud components install kpt
Configura
kubectl
ekpt
per connetterti a Config Controller:gcloud anthos config controller get-credentials CONFIG_CONTROLLER_NAME \ --location COMPUTE_REGION \ --project CONFIG_CONTROLLER_PROJECT_ID
Sostituisci quanto segue:
CONFIG_CONTROLLER_NAME
: il nome del cluster di Config Controller.COMPUTE_REGION
: l'area geografica del cluster di Config Controller (ad esempious-central1
).CONFIG_CONTROLLER_PROJECT_ID
: l'ID progetto del cluster di Config Controller.
Abilita l'API Resource Manager:
gcloud services enable cloudresourcemanager.googleapis.com \ --project PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID del progetto.Verifica che Config Connector sia configurato e in stato integro nello spazio dei nomi del progetto:
kubectl get ConfigConnectorContext -n PROJECT_NAMESPACE \ -o "custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,HEALTHY:.status.healthy"
Sostituisci
PROJECT_NAMESPACE
con lo spazio dei nomi che vuoi utilizzare per gestire le risorse del progetto (ad esempioconfig-control
).Output di esempio:
NAMESPACE NAME HEALTHY config-control configconnectorcontext.core.cnrm.cloud.google.com true
Configura gli intervalli IP VPC, di una subnet e di un alias per il cluster
Configura il VPC
Per impostare e configurare il VPC con i progetti base di networking, esegui i comandi seguenti.
Recupera i progetti di rete con
kpt
dall'interno della directory di lavoro desiderata:kpt pkg get \ https://github.com/GoogleCloudPlatform/blueprints.git/catalog/networking/network/vpc@networking-blueprint-v0.4.0 \ VPC_NAME
Sostituisci
VPC_NAME
con il nome da utilizzare per il VPC (ad esempio,my-vpc
).Passa alla directory appena creata:
cd VPC_NAME
Configura il pacchetto modificando il file
setters.yaml
:Aggiorna i seguenti campi nel file. Assicurati di specificare il tuo ID progetto:
namespace: PROJECT_NAMESPACE network-name: VPC_NAME project-id: PROJECT_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.Per questo tutorial, viene eseguito il deployment del cluster e della rete nello stesso progetto.
PROJECT_NAMESPACE
: lo spazio dei nomi da utilizzare per la gestione delle risorse del progetto (ad esempioconfig-control
).Per questo tutorial, l'abilitazione del cluster, della rete e del servizio viene gestita nello stesso spazio dei nomi.
Aggiungi un nuovo campo chiamato prefisso alla fine del file. Assicurati che il rientro sia corretto:
prefix: NAT-PREFIX
Sostituisci NAT-PREFIX con un prefisso (ad esempio
nat
).Viene usato come prefisso per il nome NAT durante la configurazione del VPC.
Il file sarà simile al seguente:
apiVersion: v1 kind: ConfigMap metadata: # kpt-merge: /setters name: setters data: namespace: PROJECT_NAMESPACE network-name: VPC_NAME project-id: PROJECT_ID prefix: NAT-PREFIX
Utilizza la funzione
set-namespace
dikpt
per modificare lo spazio dei nomi nel progetto base come segue:kpt fn eval --image set-namespace:v0.1 -- namespace=PROJECT_NAMESPACE
Sostituisci
PROJECT_NAMESPACE
con lo spazio dei nomi utilizzato per gestire le risorse del progetto (ad esempioconfig-control
).
Configura la subnet
Recupera il progetto base della subnet con
kpt
dalla directoryVPC_NAME
:kpt pkg get \ https://github.com/GoogleCloudPlatform/blueprints.git/catalog/networking/network/subnet@networking-blueprint-v0.4.0 \ SUBNET_NAME
Sostituisci
SUBNET_NAME
con lo spazio dei nomi utilizzato per gestire le risorse del progetto (ad esempiogke-subnet
).Passa alla directory della subnet:
cd SUBNET_NAME
Modifica il file
subnet.yaml
e aggiungi il seguente snippet alla fine del file, nella sezionespec
. Definisce i due intervalli denominati che verranno utilizzati per allocare gli indirizzi IP per i pod e i servizi del cluster GKE:secondaryIpRange: - ipCidrRange: 172.17.0.0/16 rangeName: pods - ipCidrRange: 172.18.0.0/16 rangeName: services
Il file
subnet.yaml
dovrebbe essere simile al seguente:apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeSubnetwork metadata: # kpt-merge: networking/network-name-subnetwork name: network-name-subnetwork # kpt-set: ${prefix}${network-name}-subnetwork namespace: networking # kpt-set: ${namespace} annotations: cnrm.cloud.google.com/project-id: project-id # kpt-set: ${project-id} cnrm.cloud.google.com/blueprint: cnrm/landing-zone:networking/v0.4.0 spec: description: Subnetwork ipCidrRange: 10.2.0.0/16 # kpt-set: ${ip-cidr-range} logConfig: metadata: INCLUDE_ALL_METADATA aggregationInterval: INTERVAL_10_MIN flowSampling: 0.5 networkRef: name: network-name # kpt-set: ${network-name} privateIpGoogleAccess: false region: us-central1 # kpt-set: ${region} secondaryIpRange: - ipCidrRange: 172.17.0.0/16 rangeName: pods - ipCidrRange: 172.18.0.0/16 rangeName: services
Visualizza il progetto base
Prima di poter essere applicato, il progetto base deve essere visualizzato prima. Questo passaggio
esegue la pipeline delle funzioni, come definito nel Kptfile
, sulle
risorse nel progetto base. Un esempio tipico di una funzione che può essere eseguita è apply-setters
, che applica i setter modificati in precedenza.
Ora torna alla directory VPC_NAME e utilizza
kpt
per visualizzare i valori del setter nelle risorse basate su modelli:cd .. kpt fn render
L'output dovrebbe essere simile al seguente:
[RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1" [PASS] "gcr.io/kpt-fn/apply-setters:v0.1" in 5.4s Results: [INFO] set field value to "ALL_SUBNETWORKS_ALL_IP_RANGES" in file "nat.yaml" in field "spec.sourceSubnetworkIpRangesToNat" [INFO] set field value to "10.2.0.0/16" in file "subnet.yaml" in field "spec.ipCidrRange" Package "my-vpc": [RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1" [PASS] "gcr.io/kpt-fn/apply-setters:v0.1" in 2.3s Results: [INFO] set field value to "00-my-vpc-router-nat" in file "nat.yaml" in field "metadata.name" [INFO] set field value to "config-control" in file "nat.yaml" in field "metadata.namespace" [INFO] set field value to "krm-playground-00" in file "nat.yaml" in field "metadata.annotations.cnrm.cloud.google.com/project-id" [INFO] set field value to "00-my-vpc-router" in file "nat.yaml" in field "spec.routerRef.name" ...(13 line(s) truncated, use '--truncate-output=false' to disable) Successfully executed 2 function(s) in 2 package(s).
Applica modifiche alla configurazione
Le modifiche locali apportate ai passaggi precedenti non hanno effetto sul cloud finché non viene applicato.
Per applicare le modifiche alla configurazione, esegui i comandi seguenti.
Inizializza la directory di lavoro con kpt, che crea una risorsa per monitorare le modifiche:
kpt live init --namespace PROJECT_NAMESPACE
Sostituisci
PROJECT_NAMESPACE
con lo spazio dei nomi utilizzato per gestire le risorse del progetto (ad esempioconfig-control
).initializing Kptfile inventory info (namespace: config-control)...success
Visualizza l'anteprima delle risorse che verranno create:
kpt live apply --dry-run
Tutte le risorse devono essere indicate come "create" (esecuzione a secco).
Output di esempio:
computerouter.compute.cnrm.cloud.google.com/my-vpc-router created (dry-run) computerouternat.compute.cnrm.cloud.google.com/my-vpc-router-nat created (dry-run) computesubnetwork.compute.cnrm.cloud.google.com/my-vpc-subnetwork created (dry-run) service.serviceusage.cnrm.cloud.google.com/proj-id-00-compute created (dry-run) computenetwork.compute.cnrm.cloud.google.com/my-vpc created (dry-run) 5 resource(s) applied. 5 created, 0 unchanged, 0 configured, 0 failed (dry-run)
Applica le risorse con kpt:
kpt live apply
Tutte le risorse devono essere indicate in "Riconciliazione".
Output di esempio:
computenetwork.compute.cnrm.cloud.google.com/my-vpc created computerouter.compute.cnrm.cloud.google.com/my-vpc-router created computerouternat.compute.cnrm.cloud.google.com/my-vpc-router-nat created computesubnetwork.compute.cnrm.cloud.google.com/my-vpc-subnetwork created service.serviceusage.cnrm.cloud.google.com/proj-id-00-compute created 5 resource(s) applied. 5 created, 0 unchanged, 0 configured, 0 failed
Verifica che le risorse di networking siano state create correttamente
Per verificare che le modifiche vengano applicate e che sia stato eseguito il provisioning delle risorse specificate, esegui i comandi seguenti.
Attendi che le risorse siano pronte:
kpt live status --output table --poll-until current
Questo comando eseguirà il polling finché tutte le risorse non avranno uno stato
Current
e una condizioneReady
.Usa
ctrl-c
per interrompere, se necessario.Output di esempio:
NAMESPACE RESOURCE STATUS CONDITIONS AGE MESSAGE config-con ComputeNetwork/my-vpc Current Ready 2m Resource is Ready config-con ComputeRouter/my-vpc-router Current Ready 2m Resource is Ready config-con ComputeRouterNAT/my-vpc-router-nat Current Ready 2m Resource is Ready config-con ComputeSubnetwork/my-vpc-subnetwork Current Ready 2m Resource is Ready config-con Service/proj-id-00-compute Current Ready 2m Resource is Ready
In caso di errore, utilizza l'output dell'evento predefinito per visualizzare i messaggi di errore completi:
kpt live status
La creazione e la preparazione di tutte le risorse richiede alcuni minuti.
Una volta create le risorse di networking, sposta una directory verso l'alto per iniziare a configurare il cluster GKE.
cd ..
Configura un cluster GKE
Per configurare un cluster GKE con il progetto base del cluster GKE, esegui i comandi seguenti.
Recupera il progetto base del cluster GKE con
kpt
, dalla directory di lavoro desiderata:kpt pkg get \ https://github.com/GoogleCloudPlatform/blueprints.git/catalog/gke@gke-blueprint-v0.4.0 \ CLUSTER_NAME
Sostituisci
CLUSTER_NAME
con il nome da utilizzare per il cluster GKE (ad esempio,hello-cluster
).Passa alla directory del cluster:
cd ./CLUSTER_NAME/
Configura il pacchetto modificando il file
setters.yaml
:cat > setters.yaml << EOF apiVersion: v1 kind: ConfigMap metadata: # kpt-merge: /setters name: setters data: # The name of this cluster cluster-name: CLUSTER_NAME # The compute location (region for a regional cluster or zone for a zonal cluster) location: us-central1 # The private IP range for masters to use when peering to the VPC master-ip-range: 10.254.0.0/28 # The reference to the network network-ref: projects/PROJECT_ID/global/networks/VPC_NAME # The reference to the subnet subnet-ref: projects/PROJECT_ID/regions/us-central1/subnetworks/subnetwork # The namespace in which to manage cluster resources platform-namespace: PROJECT_NAMESPACE # The project in which to manage cluster resources project-id: PROJECT_ID # The namespace in which to manage service enablement resources projects-namespace: PROJECT_NAMESPACE # The private IP range name for Pods to use, this range must already exist pods-range-name: pods # The private IP range name for services to use, this range must already exist services-range-name: services # The group in which to manage the list of groups that can be used for RBAC. # Must be named exactly 'gke-security-groups'. security-group: gke-security-groups@YOUR_DOMAIN EOF
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.Per questo tutorial, viene eseguito il deployment del cluster e della rete nello stesso progetto.
PROJECT_NAMESPACE
: lo spazio dei nomi da utilizzare per la gestione delle risorse del progetto (ad esempioconfig-control
).Per questo tutorial, l'abilitazione del cluster, della rete e del servizio viene gestita nello stesso spazio dei nomi.
YOUR_DOMAIN
: il dominio utilizzato dai tuoi gruppi (ad esempioexample.com
).network-ref
: il riferimento selfLink alla rete in cui deve essere creato il cluster.Nel formato:
projects/{network-project-id}/global/networks/{vpc-name}
subnet-ref
il riferimento selfLink alla subnet in cui deve essere creato il cluster.Nel formato:
projects/{network-project-id}/regions/{region}/subnetworks/{subnet-name}
Tutti gli altri campi di dati possono essere riconfigurati come previsto.
I valori predefiniti forniti dovrebbero funzionare in un progetto vuoto con la rete predefinita.
Disattivazione di Google Gruppi per RBAC
Se non vuoi configurare RBAC in modo da poter usare Google Gruppi per l'autorizzazione, oltre alle singole persone, puoi modificare la configurazione del cluster in modo da disattivare Google Gruppi per la funzionalità RBAC. Questo potrebbe essere necessario, ad esempio,se non hai creato gke-security-groups
e non hai le autorizzazioni per crearlo. Per scoprire di più, vedi Impostazione del gruppo
Per disabilitare Google Gruppi per RBAC, è sufficiente modificare il file
cluster/cluster.yaml
direttamente.Individua la sezione con il campo
authenticatorGroupsConfig
e rimuovi le seguenti tre righe:# Enable Groups for GKE, to allow role binding to Google Groups. authenticatorGroupsConfig: securityGroup: gke-security-group@example.com # kpt-set: ${security-group}
Salva il file.
Questa operazione disattiva la funzionalità RBAC per Google Gruppi.
Visualizza il progetto base
Questo passaggio esegue la pipeline di funzioni, come definito nel Kptfile
, sulle risorse nel progetto base. In genere esegue apply-setters
, che
applica i setter modificati in precedenza.
Esegui il rendering dei valori del setter nelle risorse basate su modelli:
kpt fn render
Output di esempio:
Package "example/cluster": [RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1" [PASS] "gcr.io/kpt-fn/apply-setters:v0.1" in 3.3s Results: [INFO] set field value to "example-us-west4" in file "cluster.yaml" in field "metadata.name" [INFO] set field value to "config-control" in file "cluster.yaml" in field "metadata.namespace" [INFO] set field value to "project-id" in file "cluster.yaml" in field "metadata.annotations.cnrm.cloud.google.com/project-id" ...(9 line(s) truncated, use '--truncate-output=false' to disable) Package "test-00/nodepools/primary": [RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1" [PASS] "gcr.io/kpt-fn/apply-setters:v0.1" in 2.2s Results: [INFO] set field value to "gke-example-us-east4-primary" in file "node-iam.yaml" in field "metadata.name" [INFO] set field value to "config-control" in file "node-iam.yaml" in field "metadata.namespace" [INFO] set field value to "project-id" in file "node-iam.yaml" in field "metadata.annotations.cnrm.cloud.google.com/project-id" [INFO] set field value to "gke-example-us-east4-primary" in file "node-iam.yaml" in field "spec.displayName" ...(23 line(s) truncated, use '--truncate-output=false' to disable) Package "test-00": [RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1" [PASS] "gcr.io/kpt-fn/apply-setters:v0.1" in 2.3s Results: [INFO] set field value to "test-00" in file "cluster.yaml" in field "metadata.name" [INFO] set field value to "config-control" in file "cluster.yaml" in field "metadata.namespace" [INFO] set field value to "krm-playground-00" in file "cluster.yaml" in field "metadata.annotations.cnrm.cloud.google.com/project-id" ...(36 line(s) truncated, use '--truncate-output=false' to disable) Successfully executed 3 function(s) in 3 package(s).
Applica modifiche alla configurazione
Le modifiche locali apportate ai passaggi precedenti non hanno effetto sul cloud finché non viene applicato.
Per applicare le modifiche alla configurazione, esegui i comandi seguenti.
Inizializza la directory di lavoro con kpt, che crea una risorsa per monitorare le modifiche:
kpt live init --namespace PROJECT_NAMESPACE
Sostituisci
PROJECT_NAMESPACE
con lo spazio dei nomi utilizzato per gestire le risorse del progetto (ad esempioconfig-control
).Visualizza l'anteprima delle risorse che verranno create:
kpt live apply --dry-run
Tutte le risorse devono essere indicate come "create" (esecuzione a secco).
Output di esempio:
service.serviceusage.cnrm.cloud.google.com/proj-id-00-test-00-container created (dry-run) containercluster.container.cnrm.cloud.google.com/test-00 created (dry-run) containernodepool.container.cnrm.cloud.google.com/test-00-primary created (dry-run) iampolicymember.iam.cnrm.cloud.google.com/artifactreader-gke-test-00-primary created (dry-run) iampolicymember.iam.cnrm.cloud.google.com/logwriter-gke-test-00-primary created (dry-run) iampolicymember.iam.cnrm.cloud.google.com/metricwriter-gke-test-00-primary created (dry-run) iamserviceaccount.iam.cnrm.cloud.google.com/gke-test-00-primary created (dry-run) 7 resource(s) applied. 7 created, 0 unchanged, 0 configured, 0 failed (dry-run)
Applica le risorse con kpt:
kpt live apply
Tutte le risorse devono essere indicate come "create".
Output di esempio:
iamserviceaccount.iam.cnrm.cloud.google.com/gke-test-00-primary created service.serviceusage.cnrm.cloud.google.com/proj-id-00-test-00-container created containercluster.container.cnrm.cloud.google.com/test-00 created containernodepool.container.cnrm.cloud.google.com/test-00-primary created iampolicymember.iam.cnrm.cloud.google.com/artifactreader-gke-test-00-primary created iampolicymember.iam.cnrm.cloud.google.com/logwriter-gke-test-00-primary created iampolicymember.iam.cnrm.cloud.google.com/metricwriter-gke-test-00-primary created 7 resource(s) applied. 7 created, 0 unchanged, 0 configured, 0 failed
Verifica che le risorse del cluster GKE siano create correttamente
Per verificare che le modifiche vengano applicate e che sia stato eseguito il provisioning delle risorse specificate, esegui i comandi seguenti.
Attendi che le risorse siano pronte:
kpt live status --output table --poll-until current
Questo comando eseguirà il polling finché tutte le risorse non avranno uno stato
Current
e una condizioneReady
.Usa
ctrl-c
per interrompere, se necessario.Output di esempio:
NAMESPACE RESOURCE STATUS CONDITIONS AGE MESSAGE config-con ContainerCluster/test-00 Current Ready 12m Resource is Ready config-con ContainerNodePool/test-00-primary Current Ready 12m Resource is Ready config-con IAMPolicyMember/artifactreader-gke-test- Current Ready 12m Resource is Ready config-con IAMPolicyMember/logwriter-gke-test-00-pr Current Ready 12m Resource is Ready config-con IAMPolicyMember/metricwriter-gke-test-00 Current Ready 12m Resource is Ready config-con IAMServiceAccount/gke-test-00-primary Current Ready 12m Resource is Ready config-con Service/proj-id-00-test-00-contai Current Ready 12m Resource is Ready
In caso di errore, utilizza l'output dell'evento predefinito per visualizzare i messaggi di errore completi:
kpt live status
Domande frequenti
Pulizia
Se decidi di interrompere l'utilizzo di Config Controller, devi prima pulire tutte le risorse create con Config Controller ed eliminare successivamente Config Controller stesso.
Elimina prima le risorse del cluster con
kpt
, dalla directory di lavoro del progetto base del cluster GKE:kpt live destroy
Attendi che tutte le risorse vengano eliminate:
until [ -z "$(kubectl get -R -f . --ignore-not-found | tee /dev/fd/2)" ]; \ do sleep 1; done
Questo comando eseguirà il polling finché tutte le risorse non avranno lo stato
Deleted
.Usa
ctrl-c
per interrompere, se necessario.Elimina le risorse di networking se le hai create come parte di questo tutorial. Utilizza
kpt
dalla directory VPC che hai creato per il progetto base:kpt live destroy
Attendi che tutte le risorse vengano eliminate:
until [ -z "$(kubectl get -R -f . --ignore-not-found | tee /dev/fd/2)" ]; \ do sleep 1; done
Questo comando eseguirà il polling finché tutte le risorse non avranno lo stato
Deleted
.Usa
ctrl-c
per interrompere, se necessario.
Passaggi successivi
- Scopri di più sui progetti.
- Sfoglia il catalogo dei progetti KRM.
- Sfoglia il catalogo dei progetti Terraform.
- Per maggiori dettagli su come creare un cluster GKE Autopilot, consulta Progetto GKE Autopilot.
- Consulta il progetto del cluster Anthos per i dettagli su come creare un cluster Anthos.