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 vmruntime
- Adicione ou atualize a secção - spec.storageque especifica o valor predefinido- StorageClassa 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 predefinido- StorageClassque quer usar. Se precisar de criar primeiro uma- StorageClass, consulte Crie uma- StorageClass.
- Guarde e feche o recurso personalizado - VMRuntimeno editor.- O - StorageClassespecificado é agora usado quando cria um disco de máquina virtual e não especifica um- StorageClass. 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 o- StorageClassespecificado 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, como- my-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: o- StorageClassa usar para o seu disco. Este- StorageClassjá tem de existir. Se precisar de criar primeiro um- StorageClass, 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_NAME- Substitua - STORAGE_PROFILE_NAMEpelo- StorageProfileque quer editar.
- Adicione uma única entrada à lista - spec.claimPropertySetsdo- StorageProfile:- apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE- Os componentes - accessModee- volumeModeusam 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 pelo- StorageClassassociado, 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.