Este documento está dirigido a los propietarios de aplicaciones y a los administradores de plataformas que ejecutan Google Distributed Cloud. En este documento se explica cómo crear y usar clases de almacenamiento para máquinas virtuales que usan VM Runtime en GDC. Un StorageClass
te permite definir diferentes configuraciones de almacenamiento para satisfacer las distintas
necesidades de tus máquinas virtuales.
Antes de empezar
Para completar este documento, necesitas acceso a un clúster de Google Distributed Cloud versión 1.12.0
(anthosBareMetalVersion: 1.12.0) o posterior. Puedes usar cualquier tipo de clúster que pueda 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.
Información general sobre las clases de almacenamiento
Utiliza un StorageClass para definir el tipo de almacenamiento que pones a disposición de las máquinas virtuales. Las diferentes clases de almacenamiento pueden corresponder a un tipo de hardware de almacenamiento, sistema de archivos o rendimiento diferente. Puedes crear y usar clases de almacenamiento para admitir tus cargas de trabajo de computación en VM Runtime en GDC. Para obtener más información, consulta el artículo Clases de almacenamiento.
Se puede definir un StorageClass predeterminado en el recurso personalizado de VM Runtime en GDC. Si no defines una clase específica al crear un VirtualMachineDisks,, se usará este StorageClass predeterminado. No se ha configurado ningún valor inicial de StorageClass y no se ha definido como predeterminado. En la siguiente sección, aprenderá a definir o actualizar este StorageClass predeterminado.
Definir o actualizar la clase de almacenamiento predeterminada
Inicialmente, Google Distributed Cloud con VM Runtime en GDC no tiene ningún StorageClass configurado de forma predeterminada. Para crear un VirtualMachineDisk sin especificar un StorageClass, primero debes crear un StorageClass y, a continuación, definirlo como predeterminado.
Si quieres definir o actualizar inicialmente el StorageClass que
VM Runtime usa en GDC al crear un VirtualMachineDisk, actualiza
el recurso personalizado VMRuntime.
Edita el recurso personalizado
VMRuntime:kubectl edit vmruntimeAñade o actualiza la sección
spec.storageque especifica el valor predeterminadoStorageClassque se va a usar:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...Edita
STORAGE_CLASS_NAMEcon el nombre del valor predeterminadoStorageClassque quieras usar. Si primero tienes que crear unStorageClass, consulta Crear unStorageClass.Guarda y cierra el recurso personalizado
VMRuntimeen el editor.Ahora se usa el
StorageClassque has especificado cuando creas un disco de máquina virtual y no especificas ningúnStorageClass. En la siguiente sección se muestra cómo crear un disco y usar un StorageClass específico.Los recursos
VirtualMachineDiskno se actualizan para usar elStorageClassrecién especificado.
Usar un StorageClass específico
Si no quieres usar el valor predeterminado StorageClass al crear un VirtualMachineDisk, usa el campo storageClassName para especificar otro StorageClass.
Para usar un StorageClass específico que ya se haya definido al crear un VirtualMachineDisk, sigue estos pasos:
Crea un archivo de manifiesto
VirtualMachineDisk, comomy-disk.yaml, en el editor que prefieras: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_NAMESustituye los siguientes valores:
DISK_NAME: el nombre del disco.STORAGE_CLASS_NAME: elStorageClassque se va a usar en tu disco. EsteStorageClassya debe existir. Si primero tienes que crear unStorageClass, consulta Crear un StorageClass.
Guarda y cierra el manifiesto del disco en tu editor.
Crea el disco con
kubectl:kubectl apply -f my-disk.yaml
Configurar perfiles de almacenamiento
Los perfiles de almacenamiento ofrecen opciones de configuración adicionales asociadas a cada StorageClass. Entre estas opciones de configuración se incluyen el modo de acceso y el modo de volumen que se deben usar en VirtualMachineDisks que usen el StorageClass.
Si no se configura ningún perfil de almacenamiento, los discos se asignan de forma predeterminada al modo de acceso ReadWriteOnce. Este modo de acceso no es suficiente para las cargas de trabajo de producción, ya que no funcionan funciones como la migración en directo. El modo de volumen predeterminado sin un perfil de almacenamiento configurado es Filesystem.
VM Runtime en GDC genera automáticamente un perfil de almacenamiento para cada StorageClass de un clúster. El perfil de almacenamiento tiene el mismo nombre que el StorageClass asociado. En el siguiente ejemplo de salida se 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 modo de volumen, sigue estos pasos:
Edita el recurso personalizado
StorageProfile:kubectl edit storageprofile STORAGE_PROFILE_NAMESustituye
STORAGE_PROFILE_NAMEpor elStorageProfileque quieras editar.Añadir 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_MODEaccessModeyvolumeModeusan los componentes subyacentes de Kubernetes. Los valores que definas dependerán del controlador de almacenamiento que utilices. Sustituye los siguientes valores según el almacenamiento que utilices:ACCESS_MODE: el modo de acceso que quieras usar. Si laStorageClassasociada lo admite, el modo de acceso preferido esReadWriteMany.- Los valores aceptables son
ReadWriteOnce,ReadOnlyMany,ReadWriteManyyReadWriteOncePod. Si no se especifica, se usaReadWriteOnceen función de los valores predeterminados de VM Runtime en GDC. Para obtener más información, consulta Modos de acceso.
- Los valores aceptables son
VOLUME_MODE: el modo de volumen que quieras usar.- Los valores aceptados son
FilesystemyBlock. Si no se especifica ningún valor, se utilizaFilesystemde forma predeterminada según los valores predeterminados de Kubernetes. Para obtener más información, consulta Modos de volumen.
- Los valores aceptados son
Guarda y cierra el recurso personalizado
StorageProfileen el editor.La configuración del perfil de almacenamiento que hayas definido se usará cuando crees discos virtuales. Los recursos
VirtualMachineDiskno se actualizan para usar la configuración del perfil de almacenamiento definido.
Siguientes pasos
- Crea y gestiona discos en Google Distributed Cloud.
Crea y usa credenciales para importar imágenes de Cloud Storage.