Etiquetas soportadas para diferentes casos de uso

Descubra las etiquetas que utiliza Container Engine for Kubernetes (OKE) al crear y gestionar clusters.

Container Engine for Kubernetes utiliza varias etiquetas diferentes al crear y gestionar clusters, incluidas:

Para obtener más información sobre las etiquetas de Kubernetes, consulte la documentación de Kubernetes.

topology.kubernetes.io/zona

Container Engine for Kubernetes agrega automáticamente la etiqueta topology.kubernetes.io/zone a cada nodo de trabajador (tanto nodos gestionados como nodos virtuales) de un cluster, según el dominio de disponibilidad en el que se coloca. (La etiqueta topology.kubernetes.io/zone era anteriormente la etiqueta failure-domain.beta.kubernetes.io/zone en versiones anteriores de Kubernetes).

Un dominio de disponibilidad es uno o más centros de datos ubicados en una región. Una región está compuesta por uno o más dominios de disponibilidad. Los dominios de disponibilidad están aislados entre sí, son tolerantes a fallos y es muy poco probable que fallen simultáneamente. Consulte Regiones y dominios de disponibilidad.

Puede utilizar la etiqueta topology.kubernetes.io/zone de diferentes maneras:

  • Puede utilizar la etiqueta topology.kubernetes.io/zone (junto con la etiqueta oci.oraclecloud.com/fault-domain) para restringir los nodos de trabajador en los que se va a ejecutar un pod, en el caso de un cluster con nodos de trabajador en varios dominios de disponibilidad. Incluya la etiqueta topology.kubernetes.io/zone en la especificación de pod para especificar el dominio de disponibilidad en el que se deben colocar los nodos de trabajador.
  • Puede utilizar la etiqueta topology.kubernetes.io/zone para especificar el dominio de disponibilidad y la región a fin de aprovisionar reclamaciones de volúmenes persistentes en el servicio Block Volume al utilizar el plugin de volumen FlexVolume. Consulte Configuración del almacenamiento para clusters de Kubernetes.

Al especificar un valor para la etiqueta topology.kubernetes.io/zone debe utilizar la versión correcta de un nombre de dominio de disponibilidad de una región de Oracle Cloud Infrastructure.

En la mayoría de los casos, las versiones abreviadas de los nombres de dominio de disponibilidad tienen el formato <region-identifier>-1-AD-<availability-domain-number>. Por ejemplo 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. Para obtener más información sobre los identificadores de región y los dominios de disponibilidad que se deben utilizar, consulte Disponibilidad por región.

Tenga en cuenta que las versiones abreviadas de los nombres de dominio de disponibilidad en las regiones Ashburn y Phoenix son excepciones, como se muestra a continuación:

  • Para la región Phoenix, las versiones abreviadas de los nombres de dominio de disponibilidad tienen el formato PHX-AD-<availability-domain-number>. Por ejemplo, PHX-AD-1, PHX-AD-2, PHX-AD-3.
  • Para la región Ashburn, las versiones abreviadas de los nombres de dominio de disponibilidad tienen el formato US-ASHBURN-AD-<availability-domain-number>. Por ejemplo, US-ASHBURN-AD-1, US-ASHBURN-AD-2, US-ASHBURN-AD-3.

oci.oraclecloud.com/fault-domain

Container Engine for Kubernetes agrega automáticamente la etiqueta oci.oraclecloud.com/fault-domain a cada nodo de trabajo (tanto nodos gestionados como nodos virtuales) en un cluster, de acuerdo con el dominio de errores en el que se coloca.

Un dominio de errores es una agrupación de hardware e infraestructura que es distinta de otros dominios de errores en el mismo dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores (denominados FAULT-DOMAIN-1, FAULT-DOMAIN-2, FAULT-DOMAIN-3). Cada instancia informática se coloca en un dominio de errores. Consulte Dominios de errores.

Puede restringir los nodos de trabajador en los que se va a ejecutar un pod incluyendo la etiqueta oci.oraclecloud.com/fault-domain en la especificación de pod. Utilice la etiqueta oci.oraclecloud.com/fault-domain para especificar el dominio de errores en el que se deben haber colocado los nodos de trabajador.

Normalmente, utilizará la etiqueta oci.oraclecloud.com/fault-domain para lograr una alta disponibilidad cuando un cluster se encuentre en una región con un único dominio de disponibilidad.

Por ejemplo:

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 aplica la especificación de pod del ejemplo anterior a un cluster, solo se crea un pod nginx si el cluster tiene nodos de trabajador en FAULT-DOMAIN-3 en el dominio de disponibilidad. Si el cluster solo tiene nodos de trabajador en FAULT-DOMAIN-1 o FAULT-DOMAIN-2, el pod no se crea y permanece en estado pendiente.

Si un cluster tiene nodos de trabajador en varios dominios de disponibilidad, incluya tanto la etiqueta failure-domain.beta.kubernetes.io/zone como la etiqueta oci.oraclecloud.com/fault-domain en una especificación de pod para especificar tanto el dominio de disponibilidad como el dominio de errores de los nodos de trabajador en los que se va a ejecutar el pod.

node.kubernetes.io/exclude-from-external-load-balancers

Container Engine for Kubernetes activa automáticamente el acceso de funciones ServiceNodeExclusion en los clusters que crea. Con el gateway de funciones ServiceNodeExclusion activado en un cluster, puede agregar una etiqueta a nodos gestionados concretos para excluirlos de la lista de servidores de backend de un juego de backends de equilibrador de carga de Oracle Cloud Infrastructure. Cuantos menos nodos de trabajador se incluyen en un juego de backends, más rápido se puede actualizar el equilibrador de carga.

Para excluir un nodo de trabajador de la lista de servidores de backend de un juego de backends, agregue la etiqueta node.kubernetes.io/exclude-from-external-load-balancers al nodo introduciendo:
kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers=true

Por ejemplo:

kubectl label nodes 10.0.1.2 node.kubernetes.io/exclude-from-external-load-balancers=true

Tenga en cuenta que al agregar la etiqueta a un nodo, el nodo se excluye de la lista de servidores de backend independientemente del valor de la etiqueta. Por ejemplo, incluso si especifica node.kubernetes.io/exclude-from-external-load-balancers label=false, el nodo de trabajador sigue excluido de la lista de servidores de backend.

Para eliminar la etiqueta del nodo, introduzca:

kubectl label nodes <node-name> node.kubernetes.io/exclude-from-external-load-balancers-

Para excluir todos los nodos de un pool de nodos de la lista de servidores backend, agregue node.kubernetes.io/exclude-from-external-load-balancers=true a la propiedad Etiquetas de Kubernetes del pool de nodos al crear o modificar el pool de nodos.

Tenga en cuenta que la etiqueta node.kubernetes.io/exclude-from-external-load-balancers no está soportada con nodos virtuales.