Etichette supportate per diversi casi d'uso
Scopri le etichette utilizzate da Kubernetes Engine (OKE) durante la creazione e la gestione dei cluster.
Per ulteriori informazioni sulle etichette Kubernetes, consulta la documentazione di Kubernetes.
topology.kubernetes.io/zona
Il motore Kubernetes aggiunge automaticamente l'etichetta topology.kubernetes.io/zone
a ogni nodo di lavoro (sia i nodi gestiti che i nodi virtuali) in un cluster, in base al dominio di disponibilità in cui viene posizionato. L'etichetta topology.kubernetes.io/zone
era in precedenza l'etichetta failure-domain.beta.kubernetes.io/zone
nelle release precedenti di Kubernetes.
Un dominio di disponibilità è uno o più data center situati all'interno di un'area geografica. Un'area è costituita da uno o più domini di disponibilità. I domini di disponibilità sono isolati gli uni dagli altri, hanno funzionalità di tolleranza agli errori e scarse probabilità di subire guasti contemporaneamente. Vedere Aree e domini di disponibilità.
L'etichetta topology.kubernetes.io/zone
può essere utilizzata in modi diversi.
- È possibile utilizzare l'etichetta
topology.kubernetes.io/zone
(insieme all'etichettaoci.oraclecloud.com/fault-domain
) per vincolare i nodi di lavoro su cui eseguire un pod, nel caso di un cluster con nodi di lavoro in più domini di disponibilità. Includere l'etichettatopology.kubernetes.io/zone
nella specifica pod per specificare il dominio di disponibilità in cui devono essere stati posizionati i nodi di lavoro. - È possibile utilizzare l'etichetta
topology.kubernetes.io/zone
per specificare il dominio di disponibilità e l'area per eseguire il provisioning delle richieste di volume persistenti sul servizio per volumi a blocchi quando si utilizza il plugin del volume FlexVolume. Vedere Impostazione dello storage per i cluster Kubernetes.
Quando si specifica un valore per l'etichetta topology.kubernetes.io/zone
, è necessario utilizzare la versione abbreviata corretta del nome di dominio di disponibilità in un'area Oracle Cloud Infrastructure.
Nella maggior parte dei casi, le versioni abbreviate dei nomi di dominio di disponibilità sono nel formato <region-identifier>-1-AD-<availability-domain-number>
. Ad esempio, UK-LONDON-1-AD-1
, UK-LONDON-1-AD-2
, UK-LONDON-1-AD-3
, AP-MELBOURNE-1-AD-1
, ME-JEDDAH-1-AD-1
. Per conoscere gli identificativi delle aree e i domini di disponibilità da utilizzare, vedere Disponibilità per area.
Si noti che le versioni abbreviate dei nomi di dominio di disponibilità nelle aree Ashburn e Phoenix sono eccezioni, come mostrato di seguito:
- Per l'area Phoenix, le versioni abbreviate dei nomi di dominio di disponibilità sono nel formato
PHX-AD-<availability-domain-number>
. Ad esempio,PHX-AD-1
,PHX-AD-2
,PHX-AD-3
. - Per l'area Ashburn, le versioni abbreviate dei nomi di dominio di disponibilità sono nel formato
US-ASHBURN-AD-<availability-domain-number>
. Ad esempio,US-ASHBURN-AD-1
,US-ASHBURN-AD-2
,US-ASHBURN-AD-3
.
oci.oraclecloud.com/dominio-errore
Il motore Kubernetes aggiunge automaticamente l'etichetta oci.oraclecloud.com/fault-domain
a ogni nodo di lavoro (sia i nodi gestiti che i nodi virtuali) in un cluster, in base al dominio di errore in cui viene posizionato.
Un dominio di errore è un gruppo di hardware e infrastruttura che si distingue da altri domini di errore nello stesso dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore (nome FAULT-DOMAIN-1, FAULT-DOMAIN-2, FAULT-DOMAIN-3). Ogni istanza di computazione viene posizionata in un dominio di errore. Vedere Domini di errore.
È possibile vincolare i nodi di lavoro su cui eseguire un pod includendo l'etichetta oci.oraclecloud.com/fault-domain
nella specifica del pod. Utilizzare l'etichetta oci.oraclecloud.com/fault-domain
per specificare il dominio di errore in cui devono essere stati posizionati i nodi di lavoro.
In genere, utilizzerai l'etichetta oci.oraclecloud.com/fault-domain
per ottenere alta disponibilità quando un cluster si trova in un'area con un singolo dominio di disponibilità.
Ad esempio:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
nodeSelector:
oci.oraclecloud.com/fault-domain: FAULT-DOMAIN-3
Se si applica la specifica pod di esempio precedente a un cluster, viene creato un pod nginx solo se nel cluster sono presenti nodi di lavoro in FAULT-DOMAIN-3 nel dominio di disponibilità. Se il cluster contiene solo nodi di lavoro in FAULT-DOMAIN-1 o FAULT-DOMAIN-2, il pod non viene creato e rimane in stato in sospeso.
Se un cluster dispone di nodi di lavoro in più domini di disponibilità, includere sia l'etichetta failure-domain.beta.kubernetes.io/zone
che l'etichetta oci.oraclecloud.com/fault-domain
in una specifica pod per specificare sia il dominio di disponibilità che il dominio di errore dei nodi di lavoro su cui eseguire il pod.
node.kubernetes.io/esclude-from-external-load-balancer
Il motore Kubernetes abilita automaticamente il gate di controllo delle funzioni ServiceNodeExclusion
nei cluster creati. Con il gate di controllo delle funzioni ServiceNodeExclusion
abilitato in un cluster, è possibile aggiungere un'etichetta a nodi gestiti specifici per escluderli dalla lista di server backend in un set backend del load balancer Oracle Cloud Infrastructure. Minore è il numero di nodi di lavoro inclusi in un set backend, maggiore è la velocità con cui il load balancer può essere aggiornato.
node.kubernetes.io/exclude-from-external-load-balancers
al nodo immettendo:kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers=true
Ad esempio:
kubectl label nodes 10.0.1.2 node.kubernetes.io/exclude-from-external-load-balancers=true
Dopo aver aggiunto l'etichetta a un nodo, il nodo viene escluso dalla lista dei server backend indipendentemente dal valore dell'etichetta. Ad esempio, anche se si specifica node.kubernetes.io/exclude-from-external-load-balancers label=false
, il nodo di lavoro viene comunque escluso dalla lista dei server backend.
Per rimuovere l'etichetta dal nodo, immettere:
kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers-
Per escludere tutti i nodi di un pool di nodi dalla lista dei server backend, aggiungere node.kubernetes.io/exclude-from-external-load-balancers=true
alla proprietà Kubernetes Labels del pool di nodi quando si crea o si modifica il pool di nodi.
Tenere presente che l'etichetta node.kubernetes.io/exclude-from-external-load-balancers
non è supportata con i nodi virtuali.