Este documento está dirigido a los propietarios de aplicaciones y administradores de plataformas que ejecutan Google Distributed Cloud. En este documento, se muestra cómo crear y usar clases de almacenamiento para VMs que usan el entorno de ejecución de VM en GDC. Un StorageClass te permite definir distintas configuraciones de almacenamiento para satisfacer las diversas necesidades de tus VM.
Antes de comenzar
Para completar este documento, necesitas acceso a un clúster de la versión 1.12.0 (anthosBareMetalVersion: 1.12.0) o superior de Google Distributed Cloud. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba Google Distributed Cloud en Compute Engine o consulta la descripción general de la creación de clústeres.
Descripción general de las clases de almacenamiento
Usa una StorageClass a fin de definir el tipo de almacenamiento que estarás disponible para las VM. Las diferentes clases de almacenamiento pueden asignarse a un tipo diferente de hardware de almacenamiento, sistema de archivos o rendimiento. Puedes crear y usar clases de almacenamiento para admitir tus cargas de trabajo de procesamiento en el entorno de ejecución de VM en GDC. Para obtener más información, consulta Clases de almacenamiento.
Se puede definir una StorageClass predeterminada en el recurso personalizado para el entorno de ejecución de VM en GDC. Si no defines una clase específica cuando creas VirtualMachineDisks,, se usa esta StorageClass predeterminada. No se configuró ni se estableció como predeterminada ninguna StorageClass. En la siguiente sección, aprenderás a configurar o actualizar esta StorageClass predeterminada.
Configura o actualiza la StorageClass predeterminada
Inicialmente, Google Distributed Cloud con el entorno de ejecución de VM en GDC no tiene configurada StorageClass de forma predeterminada. Para crear un VirtualMachineDisk sin especificar una StorageClass, primero debes crear una StorageClass y, luego, configurarla como predeterminada.
Si deseas establecer o actualizar la StorageClass predeterminada que usa el entorno de ejecución de VM en GDC cuando creas un VirtualMachineDisk, actualiza el recurso personalizado VMRuntime.
- Edita el recurso personalizado - VMRuntime:- kubectl edit vmruntime
- Agrega o actualiza la sección - spec.storageque especifica la- StorageClasspredeterminada que se usará:- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...- Edita - STORAGE_CLASS_NAMEy asígnale el nombre de la- StorageClasspredeterminada que deseas usar. Si necesitas crear una- StorageClass, consulta Crea una- StorageClass.
- Guarda y cierra el recurso personalizado - VMRuntimeen el editor.- La - StorageClassque especificaste se usa cuando creas un disco de máquina virtual y no especificas una- StorageClass. En la siguiente sección, se muestra cómo crear un disco y usar una StorageClass específica.- Los recursos - VirtualMachineDiskexistentes no se actualizan para usar la- StorageClassrecién especificada.
Usa una StorageClass específica
Si no deseas usar la StorageClass predeterminada cuando creas un VirtualMachineDisk, usa el campo storageClassName para especificar una StorageClass diferente.
Para usar una StorageClass específica ya definida, cuando creas un VirtualMachineDisk, completa los siguientes pasos:
- Crea un manifiesto - VirtualMachineDisk, como- my-disk.yaml, en el editor que elijas:- nano my-disk.yaml
- Copia y pega el siguiente manifiesto YAML: - apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAME- Reemplaza los siguientes valores: - DISK_NAME: el nombre de tu disco.
- STORAGE_CLASS_NAME: la- StorageClassque se usará para el disco. Esta- StorageClassya debe existir. Si necesitas crear una- StorageClassprimero, consulta Crea una StorageClass.
 
- Guarda y cierra el manifiesto del disco en el editor. 
- Crea el disco con - kubectl:- kubectl apply -f my-disk.yaml
Configura perfiles de almacenamiento
Los perfiles de almacenamiento proporcionan opciones de configuración adicionales asociadas con cada StorageClass. En estas opciones de configuración, se incluye qué modo de acceso y modo de volumen usar para VirtualMachineDisks que usan la StorageClass.
Sin un perfil de almacenamiento configurado, los discos se establecen de forma predeterminada en el modo de acceso ReadWriteOnce. Este modo de acceso no es suficiente para las cargas de trabajo de producción, ya que las funciones como la migración en vivo no funcionan. El modo de volumen predeterminado sin un perfil de almacenamiento configurado es Filesystem.
El entorno de ejecución de VM en GDC genera automáticamente un perfil de almacenamiento para cada StorageClass en un clúster. El perfil de almacenamiento tiene el mismo nombre que la StorageClass asociada. El siguiente resultado de ejemplo muestra que el clúster tiene cuatro clases de almacenamiento y perfiles asociados:
  $ kubectl get storageprofiles
  NAME            AGE
  anthos-system   11d
  node-disk       11d
  standard        11d
  nfs             11d
Para editar un perfil de almacenamiento y cambiar el modo de acceso o el volumen, completa los siguientes pasos:
- Edita el recurso personalizado - StorageProfilepara modificar lo siguiente:- kubectl edit storageprofile STORAGE_PROFILE_NAME- Reemplaza - STORAGE_PROFILE_NAMEpor el- StorageProfileque deseas editar.
- Agrega una sola entrada a la lista - spec.claimPropertySetsde- StorageProfile:- apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE- El - accessModey el- volumeModeusan los componentes subyacentes de Kubernetes. Los valores que estableces dependen del controlador de almacenamiento que usas. Reemplaza los siguientes valores según corresponda para el almacenamiento que usas:- ACCESS_MODE: El modo de acceso que deseas usar. Si es compatible con la- StorageClassasociada, el modo de acceso preferido es- ReadWriteMany.- Los valores aceptables incluyen ReadWriteOnce,ReadOnlyMany,ReadWriteManyyReadWriteOncePod. Si no se especifica,ReadWriteOncese usa en función de los valores predeterminados del entorno de ejecución de VM en GDC. Para obtener más información, consulta Modos de acceso.
 
- Los valores aceptables incluyen 
- VOLUME_MODE: El modo de volumen que deseas usar.- Los valores aceptables incluyen FilesystemyBlock. Si no se especifica, se usaFilesystemsegún los valores predeterminados de Kubernetes. Para obtener más información, consulta Modos de volumen.
 
- Los valores aceptables incluyen 
 
- Guarda y cierra el recurso personalizado - StorageProfileen el editor.- La configuración del perfil de almacenamiento que definiste se usa ahora cuando creas cualquier disco virtual. Los recursos - VirtualMachineDiskexistentes no se actualizan para usar la configuración definida del perfil de almacenamiento.
¿Qué sigue?
- Crea y administra discos en Google Distributed Cloud.
- Crea y usa credenciales para importar imágenes desde Cloud Storage.