Este documento está dirigido a propietarios de aplicaciones y administradores de plataformas que ejecutan GKE en Bare Metal. En este documento, se muestra cómo crear y usar las clases de almacenamiento para las VM 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 la versión 1.12.0 (anthosBareMetalVersion: 1.12.0
) o superior de GKE en Bare Metal. Puedes usar cualquier tipo de clúster capaz de ejecutar cargas de trabajo. Si es necesario, prueba GKE en Bare Metal 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 un StorageClass
predeterminado 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, GKE en Bare Metal con el entorno de ejecución de VM en GDC no tiene un StorageClass
predeterminado configurado. Para crear un VirtualMachineDisk
sin especificar una StorageClass
, primero debes crear una StorageClass
y, luego, configurarla como predeterminada.
Si primero deseas configurar o actualizar el StorageClass
predeterminado 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.storage
que especifica laStorageClass
predeterminada 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_NAME
y asígnale el nombre de laStorageClass
predeterminada que deseas usar. Si necesitas crear unaStorageClass
, consulta Crea unaStorageClass
.Guarda y cierra el recurso personalizado
VMRuntime
en el editor.La
StorageClass
que 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
VirtualMachineDisk
existentes no se actualizan para usar laStorageClass
recié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.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
: laStorageClass
que se usará para el disco. EstaStorageClass
ya debe existir. Si necesitas crear unaStorageClass
primero, 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
StorageProfile
para modificar lo siguiente:kubectl edit storageprofile STORAGE_PROFILE_NAME
Reemplaza
STORAGE_PROFILE_NAME
por elStorageProfile
que deseas editar.Agrega una sola entrada a la lista
spec.claimPropertySets
deStorageProfile
:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE
El
accessMode
y elvolumeMode
usan 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 laStorageClass
asociada, el modo de acceso preferido esReadWriteMany
.- Los valores aceptables incluyen
ReadWriteOnce
,ReadOnlyMany
,ReadWriteMany
yReadWriteOncePod
. Si no se especifica,ReadWriteOnce
se usa en función de los valores predeterminados del entorno de ejecución de la 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
Filesystem
yBlock
. Si no se especifica, se usaFilesystem
segú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
StorageProfile
en el editor.La configuración del perfil de almacenamiento que definiste se usa ahora cuando creas cualquier disco virtual. Los recursos
VirtualMachineDisk
existentes no se actualizan para usar la configuración definida del perfil de almacenamiento.
¿Qué sigue?
- Crea y administra discos en GKE en Bare Metal.
Crea y usa credenciales para importar imágenes desde Cloud Storage.