Questa pagina descrive come personalizzare i componenti di sistema di proprietà di Google nei cluster GKE collegati applicando tolleranze ed etichette personalizzate. Quando personalizzi questi componenti, hai una gestione più precisa di dove e come operano all'interno del tuo ambiente.
Panoramica
Quando colleghi un cluster a Google Cloud, per impostazione predefinita, i componenti di sistema di proprietà di Google non includono campi personalizzabili come le tolleranze. Di conseguenza, potresti riscontrare problemi come la mancata pianificazione dei pod sui nodi disponibili, il che influisce sull'attestazione e sulla funzionalità complessive del cluster. Inoltre, potresti richiedere il controllo del posizionamento e della gestione dei componenti su nodi specifici, inclusa la possibilità di applicare etichette personalizzate per scopi organizzativi e operativi.
La personalizzazione dei componenti di sistema risolve questi problemi e ti consente di avere maggiore controllo e flessibilità sul modo in cui questi componenti operano nel cluster. Puoi applicare tolleranze ed etichette personalizzate ai componenti di sistema di proprietà di Google:
Le tolleranze consentono ai componenti di Google di pianificare nodi con taint Kubernetes specifici, il che ti consente di applicare la separazione dei carichi di lavoro o utilizzare pool di nodi specializzati. Le tolleranze personalizzate risolvono direttamente i problemi in cui i taint non modificabili impediscono il corretto posizionamento dei componenti.
Le etichette offrono un modo flessibile per classificare e identificare i componenti di sistema di Google in base ai tuoi standard operativi. Le etichette personalizzate consentono una migliore integrazione con gli strumenti esistenti di monitoraggio, logging e applicazione delle norme.
Limitazioni e restrizioni
Si applicano le seguenti limitazioni:
- Puoi aggiungere tolleranze ed etichette personalizzate solo quando registri il cluster.
- Puoi aggiungere fino a 10 tolleranze personalizzate e 10 etichette personalizzate al cluster.
Non puoi utilizzare le seguenti etichette:
name
component
app
- Qualsiasi etichetta che includa
k8s.io
okubernetes.io
, in quanto appartengono a etichette riservate in Kubernetes - Qualsiasi etichetta che includa
google
- Qualsiasi etichetta che includa
gke.io
Aggiungi tolleranze personalizzate
I pod dei componenti di sistema di proprietà di Google includono sempre la seguente tolleranza:
- key: components.gke.io/gke-managed-components
operator: Exists
Per specificare tolleranze personalizzate, aggiungi il flag --system-component-tolerations
al
comando gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-tolerations=COMPONENT_TOLERATION \
Sostituisci quanto segue:
- CLUSTER_NAME: il nome del tuo cluster.
- GOOGLE_CLOUD_REGION: la Google Cloud regione da cui amministrare il cluster.
COMPONENT_TOLERATION: l'elenco separato da virgole delle tolleranze che vuoi aggiungere. Puoi fornire una chiave, un valore, un operatore e un effetto nei seguenti formati:
- Per l'operatore
Equal
: utilizza il formatokey=value:operator:effect
, ad esempioworkload=hpc:Equal:NoSchedule
. Questa impostazione indica che il pod tollererà un'incompatibilità solo se questa ha la chiave e il valore esatti diworkload=hpc
. - Per l'operatore
Exists
: utilizza il formatokey:operator:effect
, ad esempioworkload:Exists:NoSchedule
. Questa impostazione indica che il pod tollererà qualsiasi incompatibilità con la chiaveworkload
sul nodo, indipendentemente dal valore. - Per la pianificazione su qualsiasi nodo: utilizza il formato
:operator:effect
, ad esempio:Exists:NoSchedule
. Questa impostazione indica che il pod tollera qualsiasi incompatibilità sul nodo con l'effettoNoSchedule
e ignora la chiave o il valore dell'incompatibilità.
Per un elenco degli operatori e degli effetti che puoi utilizzare, consulta Incompatibilità e tolleranze nella documentazione di Kubernetes.
- Per l'operatore
Aggiungere etichette personalizzate
Per specificare etichette personalizzate, aggiungi il flag --system-component-labels
al
comando gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-labels=COMPONENT_LABEL \
Sostituisci quanto segue:
- CLUSTER_NAME: il nome del tuo cluster.
- GOOGLE_CLOUD_REGION: la Google Cloud regione da cui amministrare il cluster.
- COMPONENT_LABEL: l'elenco separato da virgole di una o più
etichette che vuoi aggiungere. Fornisci un'etichetta e un valore nel formato
key=value
. Ad esempio:env=production,region=us-east-1
. Sebbene ogni etichetta debba avere una chiave, il valore associato a quella chiave può essere vuoto. Ad esempiobackend=""
.
Passaggi successivi
- Scopri di più su incompatibilità e tolleranze nella documentazione di Kubernetes.
- Scopri come collegare il tuo cluster conforme alla CNCF.