Este documento é destinado a proprietários de aplicativos e administradores de plataforma
que executam o Google Distributed Cloud. Neste documento, mostramos como criar e usar
classes de armazenamento para VMs que usam o ambiente de execução da VM no GDC. Um StorageClass
permite definir diferentes configurações de armazenamento para atender às várias
necessidades das VMs.
Antes de começar
Para concluir este documento, você precisa acessar o Google Distributed Cloud versão 1.12.0
(anthosBareMetalVersion: 1.12.0) ou um cluster superior. Use qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário,
teste o Google Distributed Cloud no Compute Engine
ou consulte a
visão geral de criação do cluster.
Visão geral das classes de armazenamento
Use um StorageClass para definir o tipo de armazenamento que disponibiliza para as VMs. Diferentes classes de armazenamento podem ser mapeadas para um tipo diferente de hardware
de armazenamento, sistema de arquivos ou desempenho. É possível criar e usar classes de armazenamento para
oferecer suporte às cargas de trabalho de computação no ambiente de execução de VMs no GDC. Para mais informações, consulte Classes de armazenamento.
Um StorageClass padrão pode ser definido no recurso personalizado do
ambiente de execução de VMs no GDC. Se você não definir uma classe específica ao
criar um VirtualMachineDisks,, este StorageClass padrão será usado. Nenhuma StorageClass inicial é configurada e definida como padrão. Na seção a seguir, você
saberá como
definir ou atualizar esse StorageClass padrão.
Definir ou atualizar o StorageClass padrão
Inicialmente, o Google Distributed Cloud com o ambiente de execução de VMs no GDC não tem o StorageClass
padrão configurado. Para criar um VirtualMachineDisk sem especificar um
StorageClass, primeiro é necessário
criar um StorageClass
e, em seguida, defini-lo como padrão.
Se você quiser definir ou atualizar inicialmente o StorageClass padrão que o
ambiente de execução de VM no GDC usa ao criar um VirtualMachineDisk, atualize
o recurso personalizado VMRuntime.
- Edite o recurso personalizado - VMRuntime:- kubectl edit vmruntime
- Adicione ou atualize a seção - spec.storageque especifica o- StorageClasspadrão a ser usado:- 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- StorageClasspadrão que você quer usar. Se você precisar criar um- StorageClassprimeiro, consulte Criar um- StorageClass.
- Salve e feche o recurso personalizado - VMRuntimeno editor.- O - StorageClassque você especificou agora é usado quando você cria um disco de máquina virtual e não especifica um- StorageClass. A seção a seguir mostra como criar um disco e usar um StorageClass específico.- Os recursos - VirtualMachineDiskexistentes não são atualizados para usar o- StorageClassrecém-especificado.
Usar um StorageClass específico
Se você não quiser usar o StorageClass padrão ao criar uma
VirtualMachineDisk, use o campo storageClassName para especificar um
StorageClass diferente.
Para usar uma StorageClass específica já definida ao criar uma
VirtualMachineDisk, siga estas etapas:
- Crie um manifesto de - VirtualMachineDisk, como- my-disk.yaml, no editor de 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 ser usado no disco. Esse- StorageClassjá precisa existir. Se você precisar criar um- StorageClassprimeiro, consulte Criar um StorageClass.
 
- Salve e feche o manifesto do disco no editor. 
- Crie o disco usando - kubectl:- kubectl apply -f my-disk.yaml
Configurar perfis de armazenamento
Os perfis de armazenamento oferecem opções de configuração adicionais associadas a cada
StorageClass. Essas opções de configuração incluem os modos de acesso e volume
que serão usados para VirtualMachineDisks que usam StorageClass.
Sem um perfil de armazenamento configurado, os discos serão definidos como o modo de acesso ReadWriteOnce
por padrão. Esse modo de acesso não é suficiente para as cargas de trabalho de produção, já que
recursos como a migração em tempo real não funcionam. O modo de volume padrão sem um
perfil de armazenamento configurado é Filesystem.
O ambiente de execução de VM no GDC gera automaticamente um perfil de armazenamento para
cada StorageClass em um cluster. O perfil de armazenamento tem o mesmo nome do
StorageClass associado. O exemplo de saída a seguir 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 mudar o modo de acesso ou de volume, siga estas etapas:
- Edite o recurso personalizado - StorageProfilepara edição:- kubectl edit storageprofile STORAGE_PROFILE_NAME- Substitua - STORAGE_PROFILE_NAMEpela- StorageProfileque você 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- accessModee- volumeModeusam os componentes do Kubernetes subjacentes. Os valores definidos dependem do driver de armazenamento que você usa. Substitua os valores a seguir conforme apropriado para o armazenamento que você usa:- ACCESS_MODE: o modo de acesso que você quer usar. Se compatível com o- StorageClassassociado, o modo de acesso preferencial é- ReadWriteMany.- Os valores aceitáveis incluem ReadWriteOnce,ReadOnlyMany,ReadWriteMany, eReadWriteOncePod. Se não for especificado,ReadWriteOnceserá usado com base no ambiente de execução de VMs nos padrões do GDC. Para mais informações, consulte Modos de acesso.
 
- Os valores aceitáveis incluem 
- VOLUME_MODE: o modo de volume que você quer usar.- Os valores aceitáveis incluem FilesystemeBlock. Se não for especificado,Filesystemserá usado com base nos padrões do Kubernetes. Para mais informações, consulte Modos de volume.
 
- Os valores aceitáveis incluem 
 
- Salve e feche o recurso personalizado - StorageProfileno editor.- As configurações do perfil de armazenamento definidas são usadas quando você cria qualquer disco virtual. Os recursos atuais do - VirtualMachineDisknão são atualizados para usar as configurações do perfil de armazenamento definido.
A seguir
- Crie e gerencie discos no Google Distributed Cloud.
- Crie e use credenciais para importar imagens do Cloud Storage.