Esta página explica como instalar um driver de armazenamento CSI (Container Storage Interface) em seus clusters do GKE.
CSI é uma API de padrão aberto que permite ao Kubernetes expor sistemas de armazenamento arbitrários a cargas de trabalho em contêineres. Além disso, o CSI permite o uso de recursos de armazenamento modernos, como redimensionamento e snapshots.
Por padrão, o GKE na AWS provisiona volumes EBS com oebs-csi-driver
. Você também pode provisionar volumes EFS com o efs-csi-driver
. Se quiser usar outro tipo de volume de armazenamento, você pode instalar um driver CSI.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.
Antes de começar
Conecte-se e autentique-se no seu cluster
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.
O Google não oferece suporte nem instruções para drivers de terceiros. Entre em contato com seu fornecedor de armazenamento para obter suporte.
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}'
Use um driver CSI
Para usar um driver CSI, faça o seguinte:
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.