Versão 1.6. Essa versão é compatível com a política de suporte da versão do Anthos, que oferece os patches e atualizações mais recentes para vulnerabilidades de segurança, exposições e problemas que afetam os clusters do Anthos no VMware (GKE On-Prem). Consulte as notas da versão para saber mais detalhes. Esta não é a versão mais recente.

Armazenamento

Nesta página, explicamos osconceitos de armazenamento dos clusters do Anthos nos VMware (GKE On-Prem).

Resumo

Os clusters do Anthos no VMware integram-se a sistemas externos de armazenamento em blocos ou arquivos por meio do armazenamento VMware vSphere, plug-ins de volume em árvore do Kubernetes (ou "drivers") e drivers do Container Storage Interface (CSI).

Os clusters do Anthos em clusters VMware usam um StorageClass padrão do Kubernetes para provisionar o armazenamento de cargas de trabalho com estado em um armazenamento de dados do vSphere. Também é possível usar um StorageClass para provisionar diferentes volumes de armazenamento.

Armazenamento do vSphere

Por padrão, os clusters do Anthos nos clusters do VMware usam o armazenamento do vSphere. O cluster de administrador requer um armazenamento de dados do vSphere pré-provisionado para os dados etcd.

Quando você cria um cluster de usuário, os clusters do Anthos no VMware usam o plug-in de volume do Kubernetes para vSphere para provisionar dinamicamente novos discos de máquina virtual (VMDKs, na sigla em inglês) em um armazenamento de dados do vSphere. Observação: antes da versão 1.2, os clusters de usuário usavam o mesmo armazenamento de dados que os clusters de administrador.

Os armazenamentos de dados do vSphere usados pelos clusters de administrador e de usuário podem receber um backup de NFS, vSAN ou VMFS em um dispositivo de bloco, como uma matriz de armazenamento externo. Em um ambiente de vários hosts, cada dispositivo de bloco precisa ser anexado a todos os hosts no ambiente, e o armazenamento de dados precisa ser configurado em cada host usando a opção Mount Datastore em outros hosts.

Armazenamento padrão

Os clusters do Anthos em clusters VMware incluem um StorageClass padrão do Kubernetes, que determina como o Kubernetes precisa provisionar o armazenamento. Depois que o Kubernetes provisiona os volumes de armazenamento, eles são representados pelos PersistentVolumes do Kubernetes.

O StorageClass padrão de um cluster de usuário aponta para um armazenamento de dados do vSphere, que é definido no campo datastore da configuração do StorageClass. Por padrão, os PersistentVolumes do Kubernetes provisionados no cluster de usuário são VMDKs desse armazenamento de dados. Esse não é necessariamente o mesmo armazenamento de dados usado pelo cluster de administrador.

Nos clusters do Anthos no VMware, os StatefulSets do Kubernetes, que são cargas de trabalho com estado que normalmente exigem armazenamento permanente, usam o PersistentVolumeClaims com suporte de StorageClasses que apontam ao armazenamento do vSphere por padrão.

Interface do Container Storage

A Container Storage Interface (CSI) é uma API aberta padrão que permite ao Kubernetes expor sistemas de armazenamento arbitrários a cargas de trabalho em contêineres. Quando você implanta um driver de volume compatível com CSI em clusters do Anthos no cluster do VMware, as cargas de trabalho podem se conectar diretamente a um dispositivo de armazenamento compatível sem precisar passar pelo armazenamento do vSphere.

Os clusters do Anthos no VMware são compatíveis com o CSI v1.0. Para usar o CSI no cluster, você precisa implantar o driver CSI fornecido pelo fornecedor de armazenamento. Em seguida, é possível configurar as cargas de trabalho para usar o StorageClass do driver ou defini-lo como o StorageClass padrão.

Fizemos parcerias com muitos fornecedores de armazenamento para qualificar os sistemas de armazenamento com clusters do Anthos no VMware. Veja a lista completa de parceiros de armazenamento qualificados.

Driver CSI do vSphere

Por padrão, os clusters do Anthos no VMware aproveitam o plug-in do volume em árvore do VMware, vSphere Cloud Provider (VCP), que ativa automaticamente o suporte a armazenamentos de dados do VMware, incluindo o vSAN. O driver CSI do vSphere é implantado automaticamente nos clusters do Anthos nos clusters do VMware e está disponível como um recurso de visualização que começa com a versão 1.5 dos clusters do Anthos no VMware.

Snapshots de volume do CSI

É possível criar snapshots de armazenamento permanente usando os recursos VolumeSnapshot e VolumeSnapshotClass. Para usar esse recurso em um volume CSI, o driver CSI precisa ser compatível com snapshots de volume, e o contêiner de arquivo secundário external-snapshotter precisa ser incluído na implantação do driver CSI.

Para mais informações sobre snapshots de volume, consulte Como usar snapshots de volume.

Os controladores de snapshot do CSI são implantados automaticamente quando você cria um cluster.

Limpeza de volume

Quando você exclui um cluster de usuário, os volumes provisionados pelo plug-in do volume em árvore da VMware podem não ser excluídos. No entanto, ao excluir um cluster de usuário, os volumes provisionados pelo driver CSI do vSphere não são excluídos. Você precisa confirmar se todos os volumes, PVCs e StatefulSets foram excluídos antes de excluir o cluster.

Plug-ins de volume do Kubernetes na árvore

O Kubernetes vem com vários plug-ins de volume na árvore. Você tem a opção de usar qualquer um deles para fornecer armazenamento em blocos ou em arquivos para suas cargas de trabalho com estado. Os plug-ins em árvore permitem que as cargas de trabalho se conectem diretamente ao armazenamento sem precisar passar pelo vSphere.

Enquanto o armazenamento do vSphere fornece automaticamente o provisionamento dinâmico de volumes dentro de um armazenamento de dados apoiado por qualquer dispositivo de armazenamento iSCSI, FC ou NFS, muitos dos plug-ins em árvore não são compatíveis com o provisionamento dinâmico. Elas exigem a criação manual de PersistentVolumes.

A tabela a seguir descreve vários plug-ins de volume na árvore:

Plug-in de volume na árvoreDescriçãoModos de acesso compatíveisProvisionamento dinâmico
Fibre ChannelPlug-in de armazenamento genéricoLeitura/gravação de pod únicoNão
iSCSIPlug-in de armazenamento genéricoLeitura/gravação de pod únicoNão
NFSPlug-in de armazenamento genéricoLer/gravar vários podsNão

Como configurar o armazenamento de cluster

Se você quiser provisionar volumes de armazenamento diferentes de armazenamentos de dados do vSphere, poderá criar um novo StorageClass em um cluster que use um driver de armazenamento diferente. Em seguida, é possível definir o StorageClass como padrão do cluster ou configurar as cargas de trabalho usando o StorageClass (exemplo de StatefulSet).

Solução de problemas

Consulte Solução de problemas do armazenamento.

Leitura adicional