Un clúster de usuarios creado con Google Distributed Cloud (solo software) para VMware tiene uno o más objetos de StorageClass, y uno de ellos se designa como la StorageClass predeterminada. En esta página, se muestra cómo establecer la StorageClass predeterminada para un clúster de usuario. Para obtener más información, consulta Almacenamiento.
Esta página está destinada a los especialistas en almacenamiento que configuran y administran el rendimiento, el uso y los gastos del almacenamiento. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud, consulta Tareas y roles comunes de los usuarios de GKE Enterprise.
Cómo encontrar la StorageClass predeterminado
Enumera todas las StorageClasses:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses
En el resultado, puedes ver qué StorageClass es la predeterminada. Por ejemplo, en
el siguiente resultado, puedes ver que una StorageClass llamada standard-rwo
es
la StorageClass predeterminada:
standard kubernetes.io/vsphere-volume standard-rwo (default) csi.vsphere.vmware.com
Cuando solicitas almacenamiento, puedes especificar una StorageClass. Si no especificas una StorageClass, se usa el predeterminado. Por ejemplo, supongamos que creas un PersistentVolumeClaim que no especifica una StorageClass. El controlador de volumen realizará la reclamación según la StorageClass predeterminada.
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 instalar un controlador CSI en el clúster.
Este paso depende del proveedor de almacenamiento que uses. En el caso de los controladores CSI, los proveedores deben proporcionar instrucciones para implementarlos en un clúster de Kubernetes. La documentación del controlador CSI debe incluir los parámetros específicos del controlador que proporcionas en tu StorageClass, incluido el nombre del aprovisionador.
Cuando creas una StorageClass para tu dispositivo nuevo, debes asignarle un nombre según sus propiedades (como “rápido” o “con alto grado de replicación”), en lugar del nombre del controlador o del dispositivo específico detrás de ella. Esto facilitará la aplicación de políticas de almacenamiento coherentes en todos los clústeres y entornos.
Quita la anotación predeterminada de StorageClass
Abre la StorageClass predeterminada en un editor de texto:
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \ DEFAULT_STORAGE_CLASS
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 [USER_CLUSTER_KUBECONFIG] get storageclass \ DEFAULT_STORAGE_CLASS --output yaml
Crea un StorageClass nuevo
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] ...
Guarda tu manifiesto como un archivo YAML y crea el StorageClass nuevo:
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.