Aplicación de etiquetas a nodos

Descubra cómo aplicar etiquetas a nodos de trabajador en pools de nodos que cree mediante Container Engine for Kubernetes (OKE).

Al definir un pool de nodos, puede aplicar etiquetas opcionalmente a los nodos de trabajador del pool de nodos. Estas etiquetas se denominan etiquetas de nodo. Puede especificar tanto las etiquetas definidas como las de formato libre como las de nodo.

Al definir un pool de nodos gestionados, las etiquetas de nodo que aplique se aplican a las instancias informáticas que alojan los nodos gestionados.

Los valores por defecto de etiqueta con valores por defecto especificados para el compartimento del pool de nodos correspondiente se aplican automáticamente a los nodos de trabajador. Los valores por defecto de etiquetas con valores aplicados por el usuario solo se aplican si el pool de nodos está en un compartimento diferente al cluster. Si ese es el caso, debe especificar un valor para los valores por defecto de etiquetas con valores aplicados por el usuario especificando etiquetas de nodo, como se describe en esta sección.

Tenga en cuenta lo siguiente:

  • Si utiliza el flujo de trabajo "Creación rápida" para crear un nuevo cluster, las etiquetas de formato libre "OKEclusterName": <cluster-name> y "OKEnodePoolName": <node-pool-name> también se agregan automáticamente a los nodos de trabajador del nuevo cluster. Las etiquetas no se agregan a los nodos de trabajador si utiliza el flujo de trabajo 'Creación personalizada' para crear el cluster. Tenga en cuenta que los valores de etiqueta no cambian si posteriormente cambia el nombre del cluster o el pool de nodos.
  • Si especifica etiquetas de nodo al definir un pool de nodos y el pool de nodos se amplía posteriormente, las etiquetas de nodo se aplican automáticamente a los nodos de trabajador nuevos que se creen.
  • Las etiquetas solo se aplican a los nodos de trabajador cuando se crean por primera vez los nodos de trabajador. Si actualiza las etiquetas que se aplicarán a los nodos de trabajador, los cambios solo se aplicarán a los nuevos nodos de trabajador. Las etiquetas aplicadas a los nodos de trabajador existentes no se ven afectadas.
  • Para aplicar etiquetas definidas de un espacio de nombres de etiqueta que pertenece a un compartimento a nodos de trabajador de un pool de nodos que pertenece a un compartimento diferente, debe incluir una sentencia de política para permitir que el cluster utilice el espacio de nombres de etiqueta. Consulte Política de IAM adicional cuando un cluster y un espacio de nombres de etiqueta están en diferentes compartimentos.
  • Si aplica una etiqueta definida de seguimiento de costos a los nodos de trabajador, puede incluir el uso de la instancia informática del nodo de trabajador en los presupuestos (consulte Uso de etiquetas de seguimiento de costos).

Uso de la consola para especificar etiquetas de nodo gestionado

Para agregar una etiqueta de nodo a los nodos gestionados en un nuevo pool de nodos gestionados al crear un nuevo cluster:

  1. Siga las instrucciones de Uso de la consola para crear un cluster con una configuración definida explícitamente en el flujo de trabajo "Creación personalizada" para crear un nuevo cluster.
  2. Muestre la sección Etiquetas de nodo de la página Agrupaciones de nodos.
  3. Para agregar una etiqueta de nodo definida a los nodos de trabajador en el nuevo pool de nodos:
    • Espacio de nombres de etiqueta: seleccione el espacio de nombres de etiqueta al que pertenece la etiqueta.
    • Clave de etiqueta: seleccione el nombre de la etiqueta definida que se aplicará a los nodos de trabajador.
    • Valor de etiqueta: seleccione el valor de la etiqueta de una lista de valores predefinida, introduzca un nuevo valor o déjelo en blanco (en función de cómo se haya configurado la etiqueta definida).
  4. Para agregar una etiqueta de nodo de formato libre a los nodos de trabajador en el nuevo pool de nodos:
    • Espacio de nombres de etiqueta: defínalo en Ninguno (las etiquetas de formato libre no pertenecen a un espacio de nombres de etiqueta).
    • Clave de etiqueta: introduzca un nombre para la etiqueta de formato libre que se aplicará a los nodos de trabajador.
    • Valor de etiqueta: introduzca un valor para la etiqueta que se aplicará a los nodos de trabajador.

Para actualizar las etiquetas de nodo aplicadas a los nuevos nodos gestionados creados en un pool de nodos gestionado existente:

  1. Siga las instrucciones de Modificación de las propiedades de los pools de nodos y de los nodos de trabajador para actualizar un pool de nodos existente.
  2. Muestre el separador Etiquetas de nodo de la página Detalles de pool de nodos.
  3. Haga clic en Agregar etiquetas para agregar, eliminar y cambiar el valor de las etiquetas definidas y las etiquetas de formato libre aplicadas a los nodos de trabajador en el pool de nodos.

    Tenga en cuenta que las etiquetas solo se aplican a los nodos de trabajador cuando se crean por primera vez los nodos de trabajador. Por lo tanto, si actualiza las etiquetas aplicadas a los nodos de trabajador, los cambios solo se aplican a los nuevos nodos de trabajador. Las etiquetas ya aplicadas a los nodos de trabajador existentes no se ven afectadas.

Uso de la CLI para especificar etiquetas de nodos gestionados

oci ce node-pool create \
--cluster-id <cluster-ocid> \
--compartment-id <compartment-ocid> \
--kubernetes-version <kubernetes-version> \
--name <node-pool-name> \
--node-shape <node-shape> \
--node-defined-tags <json-name-value-pairs> \
--node-freeform-tags <json-name-value-pairs>

Por ejemplo:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.20.11 \
--name Finance-Node-Pool \
--node-shape VM.Standard2.1 \
--node-defined-tags {"Operations": {"CostCenter": "42"}} \
--node-freeform-tags {"Department": "Finance"}

Uso de la CLI para especificar etiquetas de nodo virtual

oci ce virtual-node-pool create \
--cluster-id <cluster-ocid> \
--compartment-id <compartment-ocid> \
--display-name <node-pool-name> \
--kubernetes-version <kubernetes-version> \
--placement-configurations "[{\"availabilityDomain\":\"<ad-name>\",\"faultDomain\":[\"FAULT-DOMAIN-<n>\"],\"subnetId\":\"<virtualnode-subnet-ocid>\"}]" \
--nsg-ids "[\"<virtual-node-nsg-ocid>\"]" \
--pod-configuration "{\"subnetId\":\"<pod-subnet-ocid>\",\"nsgIds\":[\"<pod-nsg-ocid>\"],\"shape\":\"<shape-name>\"}" \
--size <number-of-nodes> \
--virtual-node-tags {\"defined-tags\": {<json-name-value-pairs>}, \"freeform-tags\": {<json-name-value-pairs>}}

Por ejemplo:

oci ce virtual-node-pool create \
--cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______w5q \
--compartment-id ocid1.compartment.oc1..aaaaaaaa______n5q \
--display-name sales-vnp \
--kubernetes-version v1.24.1 \
--placement-configurations "[{\"availabilityDomain\":\"GMvH:PHX-AD-1\",\"faultDomain\":[\"FAULT-DOMAIN-1\"],\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______sra\"}]" \
--nsg-ids "[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______hpa\"]" \
--pod-configuration "{\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______o7q\",\"nsgIds\":[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______osq\"],\"shape\":\"Pod.Standard.E4.Flex\"}" \
--size 1 \
--virtual-node-tags {\"defined-tags\": {\"Operations\": {\"CostCenter\": \"43\"}}, \"freeform-tags\": {\"Department\": \"Sales\"}}

Uso de la API

Para agregar y actualizar etiquetas de nodo gestionado, utilice los atributos freeformTags y definedTags de los objetos CreateNodePoolNodeConfigDetails y UpdateNodePoolNodeConfigDetails utilizados por las operaciones CreateNodePool y UpdateNodePool.

Para agregar y actualizar etiquetas de nodo virtual, utilice los atributos freeformTags y definedTags de los objetos CreateVirtualNodePoolDetails.virtualNodeTags y UpdateVirtualNodePoolDetails.virtualNodeTags utilizados por las operaciones CreateVirtualNodePool y UpdateVirtualNodePool.