Best practice per Config Connector
Questa pagina illustra le best practice da tenere presenti quando utilizzi Config Connector.
Gestire i limiti di quota dell'API
Se hai riscontrato errori che indicano che hai superato il limite di quota API, potrebbe essere che tu abbia creato troppe risorse Config Connector lo stesso tipo nello stesso progetto di quota. Le risorse create possono generare troppe risorse richieste allo stesso endpoint API a causa strategia di riconciliazione usati da Config Connector.
Un modo per risolvere il problema è richiedere un aumento della quota. Oltre a un aumento della quota, se hai confermato che l'errore di quota è causato da richieste GET rivolte alle risorse Google Cloud gestite dalle risorse Config Connector, puoi prendere in considerazione una delle seguenti opzioni:
- Aumenta l'intervallo di riconciliazione per le risorse Config Connector
- Suddividi le risorse in più progetti
- Passare a Config Connector in modalità con nome spazio dei nomi
Aumentare l'intervallo di riconciliazione
Puoi aumentare il tempo che intercorre tra la riconciliazione di una risorsa in Config Connector evitare di raggiungere le quote API. È consigliabile impostare la riconciliazione su 1 ora.
Per aumentare l'intervallo di riconciliazione, segui la procedura descritta in Configurare l'intervallo di riconciliazione.
Suddividere le risorse in più progetti
Questo approccio distribuisce le risorse di Config Connector su diversi progetti. Questo approccio funziona bene quando aggiungi nuove risorse, ma può essere rischioso suddividere le risorse esistenti perché devi eliminarle e ricrearle in progetti diversi. L'eliminazione delle risorse
causare la perdita di dati con alcuni tipi di risorse, come SpannerInstance
o
BigtableTable
risorse. Ti consigliamo di eseguire il backup dei dati prima di eliminarli.
Per suddividere le risorse Config Connector esistenti in progetti diversi, completa i seguenti passaggi:
- Decidi quali risorse di Config Connector vuoi spostare in progetti diversi.
- Elimina le risorse di Config Connector.
Assicurati che l'annotazione
cnrm.cloud.google.com/deletion-policy
non sia impostata aabandon
. - Aggiorna il campo
spec.projectRef
o l'annotazionecnrm.cloud.google.com/project-id
nella configurazione YAML delle risorse del connettore di configurazione che prevedi di spostare nei nuovi progetti. - Concedi all'account di servizio IAM utilizzato da Config Connector le autorizzazioni appropriate per i nuovi progetti.
- Applica la configurazione YAML aggiornata a crea le risorse di Config Connector.
Passare alla modalità con nome di spazio
Puoi associare diversi account di servizio IAM di proprietà di diversi progetti Google Cloud a diversi spazi dei nomi in cui Config Connector è installato in modalità con spazi dei nomi e suddividere le risorse in diversi spazi dei nomi. Per farlo, segui questa procedura:
Configura il connettore di configurazione in modo che venga eseguito in modalità con spazio dei nomi. Crea nuovi account di servizio IAM da progetti diversi e li associa a diversi spazi dei nomi seguendo le istruzioni per configurare Config Connector per ogni progetto.
Concedi ai nuovi account di servizio IAM le autorizzazioni appropriate a il progetto che contiene le risorse.
Decidi quali risorse di Config Connector vuoi spostare in diversi spazi dei nomi.
Aggiorna la configurazione YAML delle risorse Config Connector e imposta Annotazione
cnrm.cloud.google.com/deletion-policy
abandon
.Applica la configurazione YAML aggiornata per aggiornare Config Connector risorse i criteri di cancellazione.
Aggiorna il campo
metadata.namespace
nella configurazione YAML delle risorse Config Connector che prevedi di spostare nei diversi spazi dei nomi.Applica la configurazione YAML aggiornata a acquisire le risorse abbandonate.
Gestire i pool di nodi nei cluster GKE
Potresti riscontrare errori quando crei un cluster applicando una risorsa ContainerCluster
in Config Connector e poi provi ad aggiornare ContainerCluster
o altri campi relativi ai nodi applicando una configurazione ContainerCluster
aggiornata. Questi errori sono dovuti a campi immutabili quali
come nodeConfig
, nodeConfig.labels
, nodeConfig.taint
, che è una tecnica
limitazione dei sottostanti
API Google Cloud.
Se devi aggiornare questi campi, puoi utilizzare la risorsa
ContainerNodePool
per gestire i pool di nodi in cui questi campi non sono immutabili. Per gestire i pool di nodi utilizzando la risorsa ContainerNodePool
, devi specificare un'annotazione cnrm.cloud.google.com/remove-default-node-pool: "true"
. Questa annotazione rimuove il pool di nodi predefinito creato durante la creazione del cluster. Quindi, per creare pool di nodi separati, specifica i campi nodeConfig
in
ContainerNodePool
invece che in ContainerCluster
. Consulta le
Esempio di risorsa ContainerNodePool
come riferimento.
Devi impostare l'annotazione
cnrm.cloud.google.com/state-into-spec: absent
per le risorse ContainerCluster
e ContainerNodePool
. Questa annotazione evita potenziali errori di riconciliazione durante l'interazione tra il controller Config Connector e le API sottostanti.
Gli esempi riportati di seguito mostrano una configurazione ContainerCluster
e ContainerNodePool
con queste annotazioni impostate:
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerCluster metadata: name: containercluster-sample annotations: cnrm.cloud.google.com/remove-default-node-pool: "true" cnrm.cloud.google.com/state-into-spec: absent spec: description: A sample cluster. location: us-west1 initialNodeCount: 1
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerNodePool metadata: labels: label-one: "value-one" name: containernodepool-sample annotations: cnrm.cloud.google.com/state-into-spec: absent spec: location: us-west1 autoscaling: minNodeCount: 1 maxNodeCount: 3 nodeConfig: machineType: n1-standard-1 preemptible: false oauthScopes: - "https://www.googleapis.com/auth/logging.write" - "https://www.googleapis.com/auth/monitoring" clusterRef: name: containercluster-sample