Nesta página, explicamos como instalar um driver de armazenamento da interface de armazenamento do contêiner (CSI, na sigla em inglês) nos clusters do GKE.
A CSI é uma API aberta padrão que permite ao Kubernetes expor sistemas de armazenamento arbitrários a cargas de trabalho conteinerizadas. Além disso, o CSI permite usar recursos de armazenamento modernos, como redimensionamento e snapshots.
Por padrão, o GKE na AWS provisiona volumes EBS com oebs-csi-driver
.
Também é possível
provisionar volumes de EFS com o
efs-csi-driver
.
Se quiser usar outro tipo de volume de armazenamento, instale um driver CSI.
Depois de instalar um driver CSI, você precisa criar um StorageClass do Kubernetes. Defina o driver do CSI como provisionador do StorageClass. Em seguida, defina o StorageClass como padrão ou configure suas cargas de trabalho para usar o StorageClass.
Antes de começar
Conectar-se e autenticar-se no cluster
Instale o driver CSI de um fornecedor
Os fornecedores de armazenamento são responsáveis por fornecer instruções de instalação para os drivers CSI. Confira a lista de drivers CSI na documentação do CSI.
Siga as instruções de instalação do seu driver CSI e continue com as próximas etapas nesta página.
O Google não fornece suporte nem instruções para drivers de terceiros. Entre em contato com seu fornecedor de armazenamento para receber suporte.
Verificar a instalação do driver
Depois de instalar um driver CSI, é possível verificar a instalação executando os comandos a seguir.
kubectl get csinodes \
-o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'
Usar um driver CSI
Para usar um driver CSI, faça o seguinte:
Crie um StorageClass personalizado que faça referência ao driver no campo
provisioner
.Para provisionar armazenamento, é possível:
- Faça referência ao StorageClass em uma
especificação
volumeClaimTemplates
do StatefulSet. - Defini-lo como o StorageClass padrão do cluster.
- Faça referência ao StorageClass em uma
especificação
Considerações sobre o StorageClass apoiado por um driver CSI
Ao criar um StorageClass, considere o seguinte:
Verifique a documentação do driver CSI para parâmetros específicos do driver que você fornece à StorageClass, incluindo o nome do provisionador.
Nomeie o StorageClass após as propriedades dele (como
fast
ouhighly-replicated
) em vez de depois do nome do driver ou dispositivo específico. Ao nomear um StorageClass depois de suas propriedades, é possível criar StorageClasses com o mesmo nome em clusters e ambientes diferentes. Em seguida, configure as cargas de trabalho para usar o mesmo StorageClass.
A seguir
- Crie um StorageClass que faça referência ao driver CSI.