Aplicación de etiquetas a volúmenes en bloque

Descubra cómo aplicar etiquetas a recursos de volumen en bloque y cómo sustituir etiquetas de volumen en bloque iniciales al utilizar Container Engine for Kubernetes (OKE).

Al crear un cluster, puede definir etiquetas para aplicarlas a los volúmenes en bloque creados cuando se definen reclamaciones de volúmenes persistentes (PVC). Estas etiquetas se denominan etiquetas de volumen en bloque inicial. Puede especificar tanto etiquetas definidas como etiquetas de formato libre como etiquetas de volumen en bloque iniciales.

Puede sustituir las etiquetas de volumen en bloque iniciales definiendo una nueva clase de almacenamiento de Kubernetes que incluya parámetros de etiqueta y, a continuación, utilizando esta clase de almacenamiento para crear PVC (consulte Sustitución de etiquetas de volumen en bloque iniciales). Si utiliza una clase de almacenamiento que incluye parámetros de etiqueta, ninguna de las etiquetas de volumen en bloque iniciales especificadas en la definición del cluster se aplica a los volúmenes en bloque. En su lugar, las etiquetas definidas en la clase de almacenamiento se aplican a los recursos de volúmenes en bloque.

Los valores por defecto de etiqueta con los valores por defecto especificados para el compartimento también se aplican automáticamente a los recursos de volumen en bloque. Tenga en cuenta que Container Engine for Kubernetes no soporta actualmente valores por defecto de etiquetas con valores aplicados por el usuario.

Tenga en cuenta lo siguiente:

  • Las etiquetas solo se aplican a los volúmenes en bloque cuando se crean por primera vez los volúmenes en bloque. Si actualiza las etiquetas de volumen en bloque iniciales aplicadas a los recursos de volumen en bloque, los cambios solo se aplican a los nuevos volúmenes en bloque (suponiendo que los parámetros de la definición de clase de almacenamiento no sustituyan las etiquetas). Las etiquetas aplicadas a volúmenes en bloque existentes no se ven afectadas.
  • Si aplica una etiqueta definida de seguimiento de costos a los volúmenes en bloque, puede incluir el uso de volúmenes en bloque en los presupuestos (consulte Uso de etiquetas de seguimiento de costos).
  • Para aplicar etiquetas definidas de un espacio de nombres de etiqueta que pertenece a un compartimento a un recurso de volumen en bloque 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.

Uso de la consola para especificar etiquetas de volumen en bloque inicial

Para especificar una etiqueta de volumen en bloque inicial que aplicar a los recursos de volumen en bloque creados para 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 volumen en bloque iniciales de la página Crear cluster.
  3. Para agregar una etiqueta definida a los recursos de volúmenes en bloque:
    • 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 recursos de volumen en bloque.
    • 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 formato libre a los recursos de volúmenes en bloque:
    • 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 recursos de volúmenes en bloque.
    • Valor de etiqueta: introduzca un valor para la etiqueta que se aplicará a los recursos de volumen en bloque.

Para actualizar las etiquetas de volumen en bloque iniciales para aplicarlas a los nuevos recursos de volumen en bloque creados para un cluster:

  1. Siga las instrucciones de Actualización de un cluster para actualizar un cluster existente.
  2. Muestre el separador Etiquetas de volumen en bloque iniciales de la página Detalles de cluster.
  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 nuevos recursos de volumen en bloque.

    Tenga en cuenta que las etiquetas solo se aplican a los recursos de volúmenes en bloque cuando estos se crean por primera vez. Por lo tanto, si actualiza las etiquetas de volumen en bloque iniciales, los cambios solo se aplican a los nuevos recursos de volumen en bloque. Las etiquetas ya aplicadas a los recursos de volúmenes en bloque existentes no se ven afectadas.

Uso de la CLI para especificar etiquetas de volumen en bloque inicial

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>  \
--persistent-volume-defined-tags <json-name-value-pairs> \
--persistent-volume-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 \
--persistent-volume-defined-tags {"Operations": {"CostCenter": "42"}} \
--persistent-volume-freeform-tags {"Department": "Finance"}

Uso de la API para especificar etiquetas de volumen en bloque inicial

Utilice los atributos freeformTags y definedTags del objeto PersistentVolumeConfigDetails utilizado por las operaciones CreateCluster y Actualizar cluster para agregar y actualizar etiquetas de volumen en bloque iniciales.

Sustitución de etiquetas de volumen en bloque inicial

Puede sustituir las etiquetas de volumen en bloque iniciales aplicadas a un recurso de volumen en bloque mediante parámetros en un archivo de manifiesto de clase de almacenamiento de la siguiente manera:

  • Para sustituir las etiquetas de volumen en bloque iniciales definidas, incluya el siguiente parámetro en la sección de parámetros de la definición StorageClass:

    oci.oraclecloud.com/initial-defined-tags-override: '{"<tag-namespace>": {"<tag-key>": "<tag-value>"}}'
  • Para sustituir las etiquetas de volumen en bloque iniciales de formato libre, incluya el siguiente parámetro en la sección de parámetros de la definición StorageClass:

    oci.oraclecloud.com/initial-freeform-tags-override: '{"<tag-key>": "<tag-value>"}'

Por ejemplo:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: oci-bv-specifictags
provisioner: blockvolume.csi.oraclecloud.com
parameters:
  attachment-type: "paravirtualized"
  oci.oraclecloud.com/initial-freeform-tags-override: '{"Department": "Finance"}'
  oci.oraclecloud.com/initial-defined-tags-override: '{"Operations": {"CostCenter": "42"}}'
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

Tenga en cuenta lo siguiente:

  • Si especifica los parámetros anteriores, ninguna de las etiquetas de volumen en bloque iniciales definidas para el cluster se aplica al recurso de volumen en bloque. Solo se aplican al recurso de volumen en bloque las etiquetas especificadas por los parámetros, junto con los valores por defecto de las etiquetas.
  • Una vez aplicado un archivo de manifiesto que contiene una definición StorageClass para crear la clase de almacenamiento, no puede cambiar posteriormente los valores del parámetro de etiqueta actualizando la definición y volviendo a aplicar el archivo de manifiesto. Una vez que se ha creado una clase de almacenamiento, es inmutable. Para especificar valores de parámetros de etiqueta diferentes a los especificados anteriormente, debe crear una nueva definición StorageClass que incluya los nuevos valores para los parámetros de etiqueta. A continuación, especifique la nueva clase de almacenamiento en la definición de PVC.

¿Qué etiquetas se aplican a los volúmenes en bloque?

En esta imagen se muestra un diagrama de flujo que proporciona una representación gráfica de cómo Container Engine for Kubernetes aplica etiquetas a los recursos de volúmenes en bloque. En el texto adyacente se proporciona la misma información.