Configura la clase de almacenamiento predeterminada

En esta página, se muestra cómo establecer la StorageClass predeterminada para un clúster de GKE On-Prem. También consulta Almacenamiento.

Descripción general

GKE On-Prem puede integrarse en el almacenamiento en bloque o de archivos mediante cualquiera de los siguientes mecanismos:

Cuando creas un clúster, GKE On-Prem crea un objeto StorageClass llamado standard. Este es el StorageClass predeterminado para el clúster.

Para ver información detallada sobre el StorageClass standard, ingresa el siguiente comando:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] get storageclass standard --output yaml

En el ejemplo anterior, [CLUSTER_KUBECONFIG] es la ruta de acceso al archivo kubeconfig del clúster.

En el resultado, puedes ver que el nombre del StorageClass es standard. También puedes ver la anotación storageclass.kubernetes.io/is-default-class: "true". Esta anotación identifica al StorageClass standard como el predeterminado.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  ...
  name: standard
  ...
parameters:
  datastore: HOST2-DATASTORE2
  diskformat: thin
  fstype: ext4
provisioner: kubernetes.io/vsphere-volume
reclaimPolicy: Delete
volumeBindingMode: Immediate

Tu clúster puede tener varios objetos StorageClass, pero solo uno de ellos puede tener la anotación storageclass.kubernetes.io/is-default-class: "true" y, por lo tanto, ser el predeterminado.

En el resultado anterior, también puedes ver que el aprovisionador es kubernetes.io/vsphere-volume. Este es el aprovisionador que realiza una acción cuando un cliente solicita un almacenamiento de la clase standard.

StorageClass predeterminado

Cuando solicitas almacenamiento, puedes especificar un StorageClass. Si no especificas un StorageClass, se usa el predeterminado. Por ejemplo, supongamos que creas un PersistentVolumeClaim que no especifica un StorageClass. El controlador de volumen realizará la reclamación según el StorageClass predeterminado.

Cambia el StorageClass predeterminado

Como administrador del clúster, recomendamos cambiar la clase de almacenamiento predeterminada. Luego, todas las solicitudes de almacenamiento que no especifiquen un StorageClass se entregarán según el StorageClass que elijas. En esta sección, se proporcionan los pasos para cambiar la configuración predeterminada.

Implementa un sistema de almacenamiento nuevo

Implementa un sistema de almacenamiento nuevo y cualquier componente de software para integrar el mecanismo de almacenamiento nuevo a un clúster de Kubernetes. Por ejemplo, es posible que debas implementar un controlador de CSI en el clúster.

Este paso depende del proveedor de almacenamiento que uses. Los proveedores deben proporcionar instrucciones de implementación. Para CSI, los proveedores deben proporcionar instrucciones a fin de implementar su controlador de CSI en un clúster de Kubernetes.

Quita la anotación predeterminada de StorageClass standard

Para abrir el manifiesto de StorageClass standard en un editor de texto, ingresa el siguiente comando:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] edit storageclass standard

En el editor de texto, quita la anotación storageclass.kubernetes.io/is-default-class: "true". Cierra el editor de texto.

Para verificar que se haya quitado la anotación, ingresa este comando:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] get storageclass standard --output yaml

Crea un nuevo objeto StorageClass

Crea un manifiesto para un StorageClass nuevo. Incluye la anotación storageclass.kubernetes.io/is-default-class: "true". Por ejemplo:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  ...
  name: my-storage-class
  ...
parameters:
  ...
provisioner: [MY_PROVISIONER]
...

Guarde el manifiesto como un archivo y cree el nuevo objeto StorageClass:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply -f [MANIFEST_FILE]
 

En el ejemplo anterior, [MANIFEST_FILE] es la ruta de acceso al archivo de manifiesto nuevo de StorageClass.

¿Qué sigue?