Nesta página, você verá como usar o driver da interface de armazenamento de contêiner (CSI, na sigla em inglês) do vSphere com clusters no local do GKE.
Visão geral
A partir da versão 1.5 do GKE On-Prem, o driver CSI do vSphere é implantado automaticamente nos clusters locais do GKE. 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:
A versão 6.7 da API do servidor vSphere é atualizada 3 ou mais recente.
Privilégios de conta de usuário do vSphere
cns.searchable
.
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 conceitos de armazenamento do GKE On-Prem
- Defina um StorageClass padrão para o cluster