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 vmruntimeAgrega o actualiza la sección
spec.storageque especifica laStorageClasspredeterminada 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 laStorageClasspredeterminada que deseas usar. Si necesitas crear unaStorageClass, consulta Crea unaStorageClass.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 unaStorageClass. 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 laStorageClassrecié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, comomy-disk.yaml, en el editor que elijas:nano my-disk.yamlCopia y pega el siguiente manifiesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAMEReemplaza los siguientes valores:
DISK_NAME: el nombre de tu disco.STORAGE_CLASS_NAME: laStorageClassque se usará para el disco. EstaStorageClassya debe existir. Si necesitas crear unaStorageClassprimero, 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_NAMEReemplaza
STORAGE_PROFILE_NAMEpor elStorageProfileque deseas editar.Agrega una sola entrada a la lista
spec.claimPropertySetsdeStorageProfile:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODEEl
accessModey elvolumeModeusan 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 laStorageClassasociada, el modo de acceso preferido esReadWriteMany.- 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.