O GKE On-Prem integra-se a sistemas de armazenamento de blocos ou arquivos externos por meio do armazenamento VMware vSphere, plug-ins de volume na árvore e drivers da Interface de armazenamento do contêiner (CSI, na sigla em inglês).
Armazenamento do vSphere
Por padrão, os clusters de administrador e de usuário do GKE On-Prem usam o armazenamento do vSphere. O cluster de administrador requer um armazenamento de dados VMware pré-provisionado para os dados etcd.
Quando você cria um cluster de usuário, o GKE On-Prem usa o plug-in de volume do vSphere para provisionar dinamicamente um novo disco de máquina virtual (VMDK, na sigla em inglês) no mesmo armazenamento de dados VMware usado pelo cluster de administração. Esse VMDK contém os dados do etcd do cluster de usuários.
O StorageClass padrão de um cluster de usuário aponta para um armazenamento de dados VMware. Por padrão, os PersistentVolumes do Kubernetes provisionados para o cluster de usuário são VMDKs. Esse não é necessariamente o mesmo armazenamento de dados usado pelo cluster de administrador.
Os armazenamentos de dados do VMware usados pelo administrador e pelos clusters de usuários podem ser respaldados por 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.
No GKE On-Prem, StatefulSets usam PersistentVolumeClaims respaldados por StorageClasss que apontam para o armazenamento vSphere.
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 árvore | Descrição | Modos de acesso compatíveis | Provisionamento dinâmico |
---|---|---|---|
Fibre Channel | Plug-in de armazenamento genérico | Leitura/gravação de pod único | Não |
iSCSI | Plug-in de armazenamento genérico | Leitura/gravação de pod único | Não |
NFS | Plug-in de armazenamento genérico | Ler/gravar vários pods | Não |
RBD do Ceph | Armazenamento definido por software de código aberto | Leitura/gravação de pod único | Sim |
CephFS | Armazenamento definido por software de código aberto | Ler/gravar vários pods | Não |
Portworx | Armazenamento proprietário definido por software | Ler/gravar vários pods | Sim |
Quobyte | Armazenamento proprietário definido por software | Leitura/gravação de pod único | Sim |
StorageOS | Armazenamento proprietário definido por software | Leitura/gravação de pod único | Sim |
Interface do Container Storage
A Container Storage Interface (CSI) é uma API padrão que permite ao Kubernetes expor sistemas de armazenamento arbitrários a cargas de trabalho em contêineres. Quando um driver de volume compatível com CSI é implantado em um cluster do Kubernetes, as cargas de trabalho podem se conectar diretamente ao armazenamento sem precisar passar pelo armazenamento do vSphere.
O GKE no local vem com o Kubernetes 1.12+ compatível com o CSI v0.3. Alguns drivers de armazenamento são compatíveis com essa versão mais antiga do CSI. Você pode usar esses drivers para fornecer armazenamento em blocos ou arquivos para suas cargas de trabalho com estado.
Planos futuros
Em uma versão futura, o GKE On-Prem será enviado com o Kubernetes 1.13+ e você poderá implantar drivers CSI v1.0. Isso permitirá a integração direta com ainda mais sistemas de armazenamento de terceiros. Forneceremos uma lista de parceiros de armazenamento recomendados pelo Google e verificados para funcionar bem com o GKE On-Prem.
Estamos trabalhando no desenvolvimento de interfaces avançadas de gerenciamento de dados que permitirão casos de uso corporativo, como instantâneos de aplicativos, backup e restauração. Fique ligado para saber mais detalhes.