Nesta página, você verá como usar o driver de armazenamento da interface de armazenamento de contêiner (CSI, na sigla em inglês) do vSphere com clusters do Anthos em clusters do VMware (GKE On-Prem).
Visão geral
A partir dos clusters do Anthos no VMware versão 1.5, o driver CSI do vSphere é implantado automaticamente nos clusters do Anthos nos clusters da VMware. Para informações sobre outros drivers CSI, consulte Como instalar um driver CSI.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
O vCenter e o ESXi hospedam a versão 6.7 atualização 3 ou posterior.
- Para expansão de volume:
- A expansão off-line requer que o vCenter e o ESXi sejam a versão 7.0 ou posterior.
- A expansão on-line requer que o vCenter e o ESXi sejam a versão 7.0 atualização 2 ou mais recente.
Privilégios de conta de usuário do vSphere
cns.searchable
.
Se você não tiver certeza de que seu cluster atende aos pré-requisitos do CSI, execute
gkectl diagnose cluster
antes de implantar as cargas de trabalho de CSI.
Confirmar disponibilidade do driver
Quando o driver CSI do vSphere é instalado no cluster do usuário, uma classe de armazenamento
chamada standard-rwo
é criada. Para verificar se o driver está disponível
em todos os nós, execute o comando a seguir:
kubectl get csinode -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"
Você verá a resposta a seguir:
NAME DRIVERS node-0 csi.vsphere.vmware.com node-1 csi.vsphere.vmware.com node-2 csi.vsphere.vmware.com
Volume de provisionamento
Para provisionar volumes com o driver CSI do vSphere, defina o campo storageClassName
de seu PersistentVolumeClaim como standard-rwo
.
Como definir a classe de armazenamento padrão
Para definir standard-rwo
como a classe de armazenamento padrão, consulte Classe de armazenamento padrão.
Como criar classes de armazenamento adicionais
É possível criar classes de armazenamento adicionais do CSI do vSphere no seu cluster usando os
parâmetros datastoreurl
ou storagepolicyname
.
No exemplo a seguir, o parâmetro storagepolicyname
é usado:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gold parameters: csi.storage.k8s.io/fstype: ext4 storagepolicyname: "Gold Policy" provisioner: csi.vsphere.vmware.com
Para encontrar o valor correto para o parâmetro datastoreurl
, execute o seguinte comando:
govc datastore.info DATASTORE_NAME
em que DATASTORE_NAME é o nome do seu armazenamento de dados do vSphere.
Use o valor de URL da saída em datastoreurl
. Veja abaixo
um exemplo de saída:
Name: DATASTORE_NAME Path: /DATACENTER_NAME/datastore/DATASTORE_NAME Type: VMFS URL: ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/ Capacity: 20479.8 GB Free: 10066.9 GB
Limpeza de volume
Os volumes provisionados pelo driver vSphere CSI não são excluídos quando você exclui um cluster de usuário. Exclua todos os PVCs e StatefulSets antes de excluir o cluster. Para excluir os volumes, execute o seguinte comando:
kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all
em que MY_NAMESPACE é o namespace do Kubernetes.
Se você excluiu um cluster de usuário sem excluir os volumes, pode encontrar os volumes no vCenter:
No vCenter, selecione um armazenamento de dados.
Navegue até Monitorar > Armazenamento nativo da nuvem > Volumes de contêiner.
O nome do cluster do Kubernetes é mostrado na seção Detalhes de cada volume.
Como desativar o driver vSphere CSI
Para remover o suporte do vSphere CSI, adicione o seguinte à configuração do seu cluster de usuário:
# (Optional) Storage specification for the cluster storage: # To disable the vSphere CSI driver, set this to true. The value is set to false by default and # the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3. vSphereCSIDisabled: true
A seguir
- Leia mais sobre os clusters do Anthos nos conceitos de armazenamento do VMware
- Defina um StorageClass padrão para o cluster