Este tópico explica como instalar um driver de armazenamento da interface de armazenamento em contêiner (CSI, na sigla em inglês) nos seus clusters.
Visão geral
Por padrão, o GKE na AWS provisiona volumes EBS da AWS usando a StorageClass padrão. Se as cargas de trabalho precisarem usar outro tipo de volume de armazenamento, instale um driver CSI compatível para conceder acesso a ele.
O Container Storage Interface
(CSI)
é uma API padrão aberta que concede às cargas de trabalho do Kubernetes acesso a sistemas de
armazenamento compatíveis. A CSI também permite o uso de recursos de armazenamento modernos, como
redimensionamento e snapshots.
Depois de instalar um driver CSI, você precisa criar um StorageClass do Kubernetes. Defina o driver da CSI como provisionador do StorageClass. Em seguida, defina o StorageClass como padrão ou configure suas cargas de trabalho para usar o StorageClass. Para ver um exemplo de como criar um StatefulSet com um StorageClass personalizado, consulte Como usar o StorageClasses com suas cargas de trabalho.
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.
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}'
Como usar um driver CSI
Para usar um driver CSI:
Crie um StorageClass personalizado que se refira 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.