Vista geral do armazenamento
Crie armazenamento persistente para cargas de trabalho executadas no GKE no Azure com objetos Kubernetes.
Armazenamento do plano de controlo
Quando cria um cluster, o GKE no Azure aprovisiona discos SSD Premium LRS para o plano de controlo e volumes etcd.
Use o armazenamento persistente nas suas cargas de trabalho do GKE no Azure
No GKE no Azure, usa os recursos do Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass para fornecer armazenamento persistente de ficheiros e blocos às cargas de trabalho. Pode criar instantâneos do armazenamento persistente com os recursos VolumeSnapshot e VolumeSnapshotClass. As capturas de ecrã são armazenadas na sua conta do Azure.
StorageClass
Os clusters têm uma StorageClass do Kubernetes predefinida que aprovisiona dinamicamente armazenamento com estado para cargas de trabalho em volumes do Azure Disk Storage (AzureDisk). Também pode usar uma StorageClass diferente para aprovisionar outros tipos de volumes. Estas opções estão descritas na secção seguinte.
Contas de armazenamento do Azure
O GKE no Azure cria automaticamente uma conta de armazenamento do Azure quando é criado um cluster. Se quiser usar uma conta de armazenamento específica, crie uma classe de armazenamento personalizada.
Configure o armazenamento de clusters
Se quiser aprovisionar volumes de armazenamento com uma StorageClass não predefinida, pode criar uma nova StorageClass num cluster que use parâmetros diferentes ou um controlador de armazenamento diferente. Em seguida, pode definir a StorageClass como predefinição do cluster ou configurar as cargas de trabalho para usar a StorageClass. Por exemplo, pode usar um StatefulSet para definir um nome de StorageClass específico.
Armazenamento em disco do Azure (AzureDisk)
O GKE no Azure gere volumes de disco do Azure com o azuredisk-csi-driver
.
A versão do controlador CSI está associada a uma versão do Kubernetes do GKE no Azure.
Quando atualiza a versão do cluster, o GKE no Azure atualiza automaticamente a versão do controlador. Normalmente, esta versão é o controlador mais recente
disponível no momento do lançamento da versão do GKE no Azure. O tipo de volume do Kubernetes kubernetes.io/azure-disk
antigo não é suportado.
O controlador pré-instalado com o GKE no Azure fornece as seguintes StorageClasses por predefinição:
standard-rwo
(predefinição): usado para o aprovisionamento de discos Azure SSD padrão com LRSpremium-rwo
: usado para o aprovisionamento de discos do Azure SSD premium com LRS
Os volumes de disco do Azure suportam o modo de acesso ReadWriteOnce do Kubernetes.
Instantâneos de volume
Pode usar o recurso VolumeSnapshot para criar capturas de ecrã de volumes de armazenamento. Em seguida, pode aprovisionar novos volumes persistentes a partir destas capturas de ecrã.
Clonagem de volumes
Pode usar a clonagem de volumes de CSI para clonar volumes de discos do Azure existentes. Para mais informações, consulte o exemplo de clonagem de volume.
Redimensionamento do volume
Pode redimensionar volumes de discos do Azure não anexados com o redimensionamento de volumes. Para mais informações, consulte o exemplo de redimensionamento do volume. A alteração do tamanho enquanto o volume está associado e montado não é suportada.
Discos partilhados do Azure
Para cargas de trabalho concebidas para coordenar escritas num disco de blocos não processados partilhado, o GKE no Azure suporta discos partilhados do Azure. Para mais informações, consulte o artigo Disco partilhado(leitura/escrita em vários nós) na documentação do CSI de disco do Azure.
Armazenamento de ficheiros do Azure (AzureFile)
O GKE no Azure gere volumes de Azure Files com o azurefile-csi-driver
O controlador CSI está associado a uma versão do Kubernetes do GKE no Azure. Quando
atualiza a versão do cluster, a nova versão do controlador é aplicada automaticamente.
Normalmente, esta versão é o controlador mais recente disponível no momento do lançamento da versão do GKE no Azure. O tipo de volume do Kubernetes
kubernetes.io/azure-file
antigo não é suportado.
O controlador pré-instalado com o GKE no Azure fornece as seguintes StorageClasses por predefinição:
- standard-rwx: usado para o aprovisionamento de partilhas de ficheiros do Azure com LRS SSD padrão
- premium-rwx: usado para o aprovisionamento de partilhas de ficheiros do Azure SSD premium com LRS
Os volumes de ficheiros do Azure usam o modo de acesso ReadWriteMany do Kubernetes.
Instantâneos de volume
Pode usar o recurso VolumeSnapshot para criar capturas de ecrã de volumes de ficheiros do Azure. Para mais informações, consulte a documentação da funcionalidade de instantâneo de ficheiros do Azure. Para restaurar uma captura instantânea, usa o portal do Azure. Para mais informações, consulte o Resumo das partilhas de instantâneos para o Azure Files.
Redimensionamento do volume
Pode redimensionar volumes de ficheiros do Azure com o redimensionamento de volumes. Para mais informações, consulte o exemplo de redimensionamento do volume.
Drivers de armazenamento adicionais
Podem ser usados outros sistemas de armazenamento de terceiros com o GKE no Azure através de controladores da interface de armazenamento de contentores (CSI) de terceiros (recomendado) ou plug-ins de volume do Kubernetes na árvore.
Controladores CSI
A interface de armazenamento de contentores (CSI) é uma API de norma aberta que permite ao Kubernetes anexar sistemas de armazenamento arbitrários a cargas de trabalho em contentores. Pode encontrar uma lista não exaustiva de controladores CSI na documentação do programador do CSI do Kubernetes. O GKE no Azure suporta o CSI v1.x.
Para usar um controlador de CSI no seu cluster, tem de instalar o controlador de CSI fornecido pelo seu fornecedor de armazenamento. Em seguida, pode configurar as cargas de trabalho para usar a StorageClass do controlador ou defini-la como a StorageClass predefinida.
Controladores de armazenamento específicos do Azure
Os seguintes controladores de volume podem ser usados com o GKE no Azure:
O GKE no Azure não gere o armazenamento de
blobs
do Azure diretamente. Pode instalar manualmente o controlador CSI
blob-csi-driver
, mas o apoio técnico não está disponível na Google.
Plug-ins de volume no Kubernetes
O Kubernetes é fornecido com plug-ins de volume na árvore (integrados). Os controladores no kernel suportados incluem o seguinte:
- configMap
- emptyDir
- hostPath
- nfs
- projetado
- segredos
O que se segue?
- Saiba mais sobre a utilização de StorageClasses com as suas cargas de trabalho.
- Importe um volume de disco do Azure pré-existente para o GKE no Azure.
- Leia a documentação do controlador CSI do disco do Azure ou do controlador CSI do ficheiro do Azure.
- Saiba mais sobre as cópias instantâneas de volumes no GKE.
- Leia a documentação das classes de armazenamento do Kubernetes.
- Leia o anúncio de lançamento da interface de armazenamento de contentores.