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 inicial
StorageClass está configurada nem definida. 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
tempo de execução da VM no GDC usa quando cria um VirtualMachineDisk, atualize
o recurso personalizado VMRuntime.
Edite o recurso personalizado
VMRuntime:kubectl edit vmruntimeAdicione ou atualize a secção
spec.storageque especifica o valor predefinidoStorageClassa usar:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...Edite
STORAGE_CLASS_NAMEcom o nome do valor predefinidoStorageClassque quer usar. Se precisar de criar primeiro umaStorageClass, consulte Crie umaStorageClass.Guarde e feche o recurso personalizado
VMRuntimeno editor.O
StorageClassespecificado é 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
VirtualMachineDiskexistentes não são atualizados para usar oStorageClassespecificado 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.yamlCopie e cole o seguinte manifesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAMESubstitua os seguintes valores:
DISK_NAME: o nome do disco.STORAGE_CLASS_NAME: oStorageClassa usar para o seu disco. EsteStorageClassjá 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 VM Runtime 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
StorageProfilepara edição:kubectl edit storageprofile STORAGE_PROFILE_NAMESubstitua
STORAGE_PROFILE_NAMEpeloStorageProfileque quer editar.Adicione uma única entrada à lista
spec.claimPropertySetsdoStorageProfile:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODEOs componentes
accessModeevolumeModeusam 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 peloStorageClassassociado, o modo de acesso preferencial éReadWriteMany.- Os valores aceitáveis incluem
ReadWriteOnce,ReadOnlyMany,ReadWriteManyeReadWriteOncePod. Se não for especificado, é usadoReadWriteOncecom 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
FilesystemeBlock. Se não for especificado, é usado o valorFilesystemcom 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
StorageProfileno editor.As definições do perfil de armazenamento que definiu são usadas quando cria discos virtuais. Os recursos
VirtualMachineDiskexistentes 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.