Étiquettes prises en charge pour différents cas d'utilisation
Découvrez les étiquettes utilisées par Kubernetes Engine (OKE) lors de la création et de la gestion des grappes.
Pour plus d'informations sur les étiquettes Kubernetes, voir la documentation sur Kubernetes.
topology.kubernetes.io/zone
Le moteur Kubernetes ajoute automatiquement l'étiquette topology.kubernetes.io/zone
à chaque noeud de travail (noeuds gérés et noeuds virtuels) d'une grappe, en fonction du domaine de disponibilité dans lequel il est placé. (L'étiquette topology.kubernetes.io/zone
était auparavant l'étiquette failure-domain.beta.kubernetes.io/zone
dans les versions antérieures de Kubernetes.)
Un domaine de disponibilité est constitué d'un ou plusieurs centres de données à l'intérieur d'une région. Une région est composée d'un ou plusieurs domaines de disponibilité. Les domaines de disponibilité sont isolés les uns des autres, tolérants aux pannes et prémunis contre les pannes simultanées. Voir Régions et domaines de disponibilité.
Vous pouvez utiliser l'étiquette topology.kubernetes.io/zone
de différentes façons :
- Vous pouvez utiliser l'étiquette
topology.kubernetes.io/zone
(avec l'étiquetteoci.oraclecloud.com/fault-domain
) pour limiter les noeuds de travail sur lesquels exécuter un pod, dans le cas d'une grappe ayant des noeuds de travail dans plusieurs domaines de disponibilité. Ajoutez l'étiquettetopology.kubernetes.io/zone
dans la spécification du module de réseautage pour spécifier le domaine de disponibilité dans lequel les noeuds de travail doivent avoir été placés. - Vous pouvez utiliser l'étiquette
topology.kubernetes.io/zone
pour spécifier le domaine de disponibilité et la région afin de provisionner des revendications de volume persistant pour le service de volumes par blocs lors de l'utilisation du plugiciel de volume FlexVolume. Voir Configuration du stockage pour les grappes Kubernetes.
Lorsque vous spécifiez une valeur pour l'étiquette topology.kubernetes.io/zone
, vous devez utiliser la version courte correcte du nom de domaine de disponibilité dans une région Oracle Cloud Infrastructure.
Dans la plupart des cas, les versions abrégées des noms de domaine de disponibilité sont dans le format <region-identifier>-1-AD-<availability-domain-number>
. Par exemple : 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
. Pour connaître les identificateurs de région et les domaines de disponibilité à utiliser, voir Disponibilité par région.
Notez que les versions abrégées des noms de domaine de disponibilité dans les régions Ashburn et Phoenix sont des exceptions, comme on peut le voir ci-dessous :
- Pour la région de Phoenix, les versions abrégées des noms de domaine de disponibilité sont dans le format
PHX-AD-<availability-domain-number>
. Par exemple,PHX-AD-1
,PHX-AD-2
,PHX-AD-3
. - Pour la région d'Ashburn, les versions abrégées des noms de domaine de disponibilité sont dans le format
US-ASHBURN-AD-<availability-domain-number>
. Par exemple,US-ASHBURN-AD-1
,US-ASHBURN-AD-2
,US-ASHBURN-AD-3
.
oci.oraclecloud.com/fault-domain
Kubernetes Engine ajoute automatiquement l'étiquette oci.oraclecloud.com/fault-domain
à chaque noeud de travail (noeuds gérés et noeuds virtuels) d'une grappe, selon le domaine d'erreur dans lequel il se trouve.
Un domaine d'erreur est un regroupement d'équipements matériels et d'infrastructure qui est distinct des autres domaines d'erreur appartenant au même domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur (FAULT-DOMAIN-1, FAULT-DOMAIN-2, FAULT-DOMAIN-3). Chaque instance de calcul est placée dans un domaine d'erreur. Voir Domaines d'erreur.
Vous pouvez limiter les noeuds de travail sur lesquels exécuter un pod en ajoutant l'étiquette oci.oraclecloud.com/fault-domain
dans la spécification du pod. Utilisez l'étiquette oci.oraclecloud.com/fault-domain
pour spécifier le domaine d'erreur dans lequel les noeuds de travail doivent avoir été placés.
L'étiquette oci.oraclecloud.com/fault-domain
est généralement utilisée pour garantir la haute disponibilité lorsqu'une grappe se trouve dans une région comportant un seul domaine de disponibilité.
Par exemple :
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
Si vous appliquez l'exemple de spécification de pod ci-dessus à une grappe, un pod nginx n'est créé que si la grappe a des noeuds de travail dans FAULT-DOMAIN-3 dans le domaine de disponibilité. Si les noeuds de travail de la grappe se trouvent uniquement dans FAULT-DOMAIN-1 ou FAULT-DOMAIN-2, le pod n'est pas créé et reste en attente.
Si une grappe a des noeuds de travail dans plusieurs domaines de disponibilité, ajoutez les étiquettes failure-domain.beta.kubernetes.io/zone
et oci.oraclecloud.com/fault-domain
dans une spécification de pod pour spécifier à la fois le domaine de disponibilité et le domaine d'erreur des noeuds de travail sur lesquels exécuter le pod.
node.kubernetes.io/exclude-from-external-load-balancers
Kubernetes Engine active automatiquement le point de contrôle de la fonction ServiceNodeExclusion
sur les grappes qu'il crée. Lorsque le point de contrôle de la fonction ServiceNodeExclusion
est activé sur une grappe, vous pouvez ajouter une étiquette à des noeuds gérés particuliers pour les exclure de la liste des serveurs dorsaux d'un jeu dorsal d'équilibreur de charge Oracle Cloud Infrastructure. Moins les noeuds de travail inclus dans un jeu dorsal sont nombreux, plus vite l'équilibreur de charge peut être mis à jour.
node.kubernetes.io/exclude-from-external-load-balancers
au noeud en entrant :kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers=true
Par exemple :
kubectl label nodes 10.0.1.2 node.kubernetes.io/exclude-from-external-load-balancers=true
Notez qu'après que vous avez ajouté l'étiquette à un noeud, celui-ci est exclu de la liste des serveurs dorsaux, quelle que soit la valeur de l'étiquette. Par exemple, même si vous spécifiez node.kubernetes.io/exclude-from-external-load-balancers label=false
, le noeud de travail reste exclu de la liste des serveurs dorsaux.
Pour supprimer l'étiquette du noeud, entrez :
kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers-
Pour exclure tous les noeuds d'un groupe de noeuds de la liste des serveurs dorsaux, ajoutez node.kubernetes.io/exclude-from-external-load-balancers=true
à la propriété Étiquettes Kubernetes du groupe de noeuds lorsque vous créez ou modifiez le groupe de noeuds.
Notez que l'étiquette node.kubernetes.io/exclude-from-external-load-balancers
n'est pas prise en charge avec les noeuds virtuels.