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
O driver CSI do vSphere é implantado automaticamente nos clusters do Anthos no VMware. Para informações sobre o uso de outros drivers CSI, consulte Como instalar um driver CSI.
Requisitos do vSphere
Para usar o driver CSI do vSphere, você precisa ter:
uma versão compatível do vCenter Server com base em Linux;
Expansão de volume
A expansão de volume off-line exige que o vCenter Server e o ESXi estejam na versão 7.0 da atualização 1 ou mais recente.
A expansão de volume on-line exige que o vCenter Server e o ESXi usem a versão 7.0 Update 2 ou mais recente.
Cns.Searchable
Sua conta de usuário do vCenter precisa ter o privilégio Cns.Searchable no objeto raiz do vCenter.
Verificar os pré-requisitos da CSI
Se você não tiver certeza de que sua conta 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