Este tópico explica como instalar um driver de armazenamento CSI (Container Storage Interface) em seus clusters.
Visão geral
Por padrão, o GKE na AWS provisiona volumes do AWS EBS usando o StorageClass padrão. Se suas cargas de trabalho precisarem usar outro tipo de volume de armazenamento, você pode instalar um driver CSI compatível para fornecer acesso a ele.
A Container Storage Interface
( CSI ) é uma API de padrão aberto que fornece às cargas de trabalho do Kubernetes acesso a sistemas de armazenamento compatíveis. A CSI também permite o uso de recursos modernos de armazenamento, como redimensionamento e snapshots.
Após instalar um driver CSI, você precisa criar uma StorageClass do Kubernetes. Defina o driver CSI como o provisionador para a StorageClass. Em seguida, você pode definir a StorageClass como padrão ou configurar suas cargas de trabalho para usar a StorageClass. Para obter um exemplo de como criar um StatefulSet com uma StorageClass personalizada, consulte Usando StorageClasses com suas cargas de trabalho .
Instalar um driver CSI do fornecedor
Os fornecedores de armazenamento são responsáveis por fornecer instruções de instalação para seus drivers CSI. Consulte 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 desta página.
Verifique a instalação do driver
Depois de instalar um driver CSI, você pode verificar a instalação executando os seguintes comandos.
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 uma StorageClass personalizada que faça referência ao driver em seu campo
provisioner
.Para provisionar armazenamento, você pode:
- Faça referência à StorageClass na especificação
volumeClaimTemplates
de um StatefulSet . - Defina-o como o StorageClass padrão do cluster .
- Faça referência à StorageClass na especificação
Considerações sobre StorageClass apoiado por um driver CSI
Ao criar uma StorageClass, considere o seguinte:
Verifique a documentação do driver CSI para obter parâmetros específicos do driver que você fornece ao seu StorageClass, incluindo o nome do provisionador.
Você deve nomear a StorageClass com base em suas propriedades (como
fast
ouhighly-replicated
), em vez do nome do driver ou dispositivo específico por trás dela. Ao nomear uma StorageClass com base em suas propriedades, você pode criar StorageClasses com o mesmo nome em diferentes clusters e ambientes. Em seguida, configure suas cargas de trabalho para usar a mesma StorageClass.
O que vem a seguir
- Crie uma StorageClass que faça referência ao driver CSI.