Instale controladores CSI adicionais
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 no Azure aprovisiona volumes do Azure Disk com oazuredisk-csi-driver
.
Também pode aprovisionar partilhas de ficheiros do Azure com o azurefile-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 ao 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
), em vez de o dar 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.