Esta página explica como instalar um controlador de armazenamento da interface de armazenamento de contentores (CSI) nos seus clusters do GKE.
CSI é uma API de norma aberta que permite ao Kubernetes expor sistemas de armazenamento arbitrários a cargas de trabalho contentorizadas. Além disso, a CSI permite a utilização de funcionalidades de armazenamento modernas, como redimensionamento e capturas de ecrã.
Por predefinição, o GKE on AWS aprovisiona volumes EBS com oebs-csi-driver
.
Também pode
aprovisionar volumes do EFS com o
efs-csi-driver
.
Se quiser usar outro tipo de volume de armazenamento, pode instalar um controlador CSI.
Depois de instalar um controlador CSI, tem de criar uma StorageClass do Kubernetes. Definiu o controlador CSI como o aprovisionador para a StorageClass. Em seguida, pode definir o StorageClass como predefinição ou configurar as suas cargas de trabalho para usar o StorageClass.
Antes de começar
Estabeleça ligação e autentique-se no seu cluster
Instale um controlador CSI de um fornecedor
Os fornecedores de armazenamento são responsáveis por fornecer instruções de instalação para os respetivos controladores CSI. Consulte a lista de controladores CSI na documentação CSI.
Siga as instruções de instalação do controlador CSI e, em seguida, continue com os passos seguintes nesta página.
A Google não fornece apoio técnico nem instruções para controladores de terceiros. Contacte o fornecedor de armazenamento para receber apoio técnico.
Valide a instalação do controlador
Depois de instalar um controlador CSI, pode validar 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 controlador CSI
Para usar um controlador CSI, faça o seguinte:
Crie uma StorageClass personalizada que faça referência ao controlador no respetivo campo
provisioner
.Para aprovisionar armazenamento, pode:
- Faça referência à StorageClass na especificação de um StatefulSet.
volumeClaimTemplates
- Defini-la como a StorageClass predefinida do cluster.
- Faça referência à StorageClass na especificação de um StatefulSet.
Considerações para StorageClass suportado por um controlador CSI
Quando cria uma StorageClass, considere o seguinte:
Consulte a documentação do controlador CSI para ver os parâmetros específicos do controlador que faculta à sua StorageClass, incluindo o nome do aprovisionador.
Deve dar o nome StorageClass de acordo com as respetivas propriedades (como
fast
ouhighly-replicated
) e não de acordo com o nome do controlador específico ou do dispositivo por detrás. Quando dá um nome a uma StorageClass com base nas respetivas propriedades, pode criar StorageClasses com o mesmo nome em diferentes clusters e ambientes. Em seguida, configure as suas cargas de trabalho para usar a mesma StorageClass.
O que se segue?
- Crie uma StorageClass que faça referência ao controlador CSI.