Este documento destina-se a proprietários de aplicações e administradores de plataformas
que executam o Google Distributed Cloud. Este documento mostra-lhe como criar e usar
classes de armazenamento para VMs que usam o tempo de execução de VMs no GDC. Um StorageClass
permite-lhe definir diferentes configurações de armazenamento para satisfazer as várias
necessidades das suas VMs.
Antes de começar
Para concluir este documento, precisa de aceder ao cluster da versão 1.12.0 (anthosBareMetalVersion: 1.12.0
) ou superior do Google Distributed Cloud. Pode usar qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário,
experimente o Google Distributed Cloud no Compute Engine
ou consulte a
vista geral da criação de clusters.
Vista geral das classes de armazenamento
Usa um StorageClass
para definir o tipo de armazenamento que disponibiliza às VMs. As diferentes classes de armazenamento podem ser mapeadas para um tipo diferente de hardware de armazenamento, sistema de ficheiros ou desempenho. Pode criar e usar classes de armazenamento para
suportar as suas cargas de trabalho de computação no VM Runtime no GDC. Para mais
informações, consulte
Classes de armazenamento.
É possível definir um StorageClass
predefinido no recurso personalizado para o tempo de execução da VM no GDC. Se não definir uma classe específica quando
criar um VirtualMachineDisks,
, é usado este StorageClass
predefinido. Nenhuma predefinição
StorageClass
está configurada nem definida como predefinição. Na secção seguinte, vai
saber como
definir ou atualizar esta StorageClass predefinida.
Defina ou atualize a StorageClass predefinida
Inicialmente, o Google Distributed Cloud com o VM Runtime no GDC não tem nenhum valor predefinido
StorageClass
configurado. Para criar um VirtualMachineDisk
sem especificar um
StorageClass
, primeiro tem de
criar um StorageClass
e, em seguida, defini-lo como predefinição.
Se quiser definir ou atualizar inicialmente o StorageClass
que o
VM Runtime no GDC usa quando cria um VirtualMachineDisk
, atualize
o recurso personalizado VMRuntime
.
Edite o recurso personalizado
VMRuntime
:kubectl edit vmruntime
Adicione ou atualize a secção
spec.storage
que especifica o valor predefinidoStorageClass
a usar:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...
Edite
STORAGE_CLASS_NAME
com o nome do valor predefinidoStorageClass
que quer usar. Se precisar de criar primeiro umaStorageClass
, consulte Crie umaStorageClass
.Guarde e feche o recurso personalizado
VMRuntime
no editor.O
StorageClass
especificado é agora usado quando cria um disco de máquina virtual e não especifica umStorageClass
. A secção seguinte mostra-lhe como criar um disco e usar uma StorageClass específica.Os recursos
VirtualMachineDisk
existentes não são atualizados para usar oStorageClass
especificado recentemente.
Use uma StorageClass específica
Se não quiser usar o valor predefinido StorageClass
quando criar um
VirtualMachineDisk
, use o campo storageClassName
para especificar um
StorageClass
diferente.
Para usar um StorageClass
específico já definido quando cria um VirtualMachineDisk
, conclua os seguintes passos:
Crie um manifesto
VirtualMachineDisk
, comomy-disk.yaml
, no editor à sua escolha:nano my-disk.yaml
Copie e cole o seguinte manifesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAME
Substitua os seguintes valores:
DISK_NAME
: o nome do disco.STORAGE_CLASS_NAME
: oStorageClass
a usar para o seu disco. EsteStorageClass
já tem de existir. Se precisar de criar primeiro umStorageClass
, consulte o artigo Crie uma StorageClass.
Guarde e feche o manifesto do disco no editor.
Crie o disco com
kubectl
:kubectl apply -f my-disk.yaml
Configure perfis de armazenamento
Os perfis de armazenamento oferecem opções de configuração adicionais associadas a cada
StorageClass
. Estas opções de configuração incluem o modo de acesso e o modo de volume a usar para VirtualMachineDisks
que usam o StorageClass
.
Sem um perfil de armazenamento configurado, os discos usam o ReadWriteOnce
modo de acesso por predefinição. Este modo de acesso não é suficiente para cargas de trabalho de produção, uma vez que as funcionalidades como a migração em direto não funcionam. O modo de volume predefinido sem um perfil de armazenamento configurado é Filesystem
.
O tempo de execução da VM no GDC gera automaticamente um perfil de armazenamento para cada StorageClass
num cluster. O perfil de armazenamento tem o mesmo nome que o StorageClass
associado. O exemplo de saída seguinte mostra que o cluster tem quatro classes de armazenamento e perfis associados:
$ kubectl get storageprofiles
NAME AGE
anthos-system 11d
node-disk 11d
standard 11d
nfs 11d
Para editar um perfil de armazenamento e alterar o modo de acesso ou o modo de volume, conclua os seguintes passos:
Edite o recurso personalizado
StorageProfile
para edição:kubectl edit storageprofile STORAGE_PROFILE_NAME
Substitua
STORAGE_PROFILE_NAME
peloStorageProfile
que quer editar.Adicione uma única entrada à lista
spec.claimPropertySets
doStorageProfile
:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE
Os componentes
accessMode
evolumeMode
usam os componentes Kubernetes subjacentes. Os valores que define dependem do controlador de armazenamento que usa. Substitua os seguintes valores conforme adequado para o armazenamento que usa:ACCESS_MODE
: o modo de acesso que quer usar. Se for suportado peloStorageClass
associado, o modo de acesso preferencial éReadWriteMany
.- Os valores aceitáveis incluem
ReadWriteOnce
,ReadOnlyMany
,ReadWriteMany
eReadWriteOncePod
. Se não for especificado, é usadoReadWriteOnce
com base nas predefinições do tempo de execução da VM no GDC. Para mais informações, consulte Modos de acesso.
- Os valores aceitáveis incluem
VOLUME_MODE
: o modo de volume que quer usar.- Os valores aceitáveis incluem
Filesystem
eBlock
. Se não for especificado, é usado o valorFilesystem
com base nas predefinições do Kubernetes. Para mais informações, consulte Modos de volume.
- Os valores aceitáveis incluem
Guarde e feche o recurso personalizado
StorageProfile
no editor.As definições do perfil de armazenamento que definiu são usadas quando cria discos virtuais. Os recursos
VirtualMachineDisk
existentes não são atualizados para usar as definições do perfil de armazenamento definidas.
O que se segue?
- Crie e faça a gestão de discos no Google Distributed Cloud.
Crie e use credenciais para importar imagens do Cloud Storage.