Crie armazenamento persistente para cargas de trabalho em execução no GKE na AWS com objetos do Kubernetes.
Usando armazenamento persistente em suas cargas de trabalho do GKE na AWS
No GKE na AWS, você usa os recursos PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass do Kubernetes para fornecer armazenamento persistente de arquivos e blocos para cargas de trabalho. Para clusters de usuários da versão 1.17 e superiores, você pode criar snapshots de armazenamento persistente com os recursos VolumeSnapshot e VolumeSnapshotClass . Os snapshots são armazenados na sua conta da AWS.
Classe de armazenamento
Os clusters de usuários têm uma StorageClass padrão do Kubernetes que provisiona dinamicamente armazenamento com estado para cargas de trabalho em volumes do AWS Elastic Block Storage (EBS). Você também pode usar uma StorageClass diferente para provisionar outros tipos de volumes. Essas opções são descritas na seção a seguir.
Classe VolumeSnapshot
Os clusters de usuários têm um Kubernetes VolumeSnapshotClass padrão que cria instantâneos de armazenamento com estado em volumes do AWS Elastic Block Storage (EBS).
Configurando o armazenamento em cluster
Se quiser provisionar volumes de armazenamento com uma StorageClass não padrão, você pode criar uma nova StorageClass em um cluster que use parâmetros ou drivers de armazenamento diferentes. Em seguida, você pode definir a StorageClass como a StorageClass padrão do cluster ou configurar suas cargas de trabalho para usar a StorageClass. Por exemplo, você pode usar um StatefulSet para definir um nome de StorageClass específico.
Usando instantâneos de volume
Nas versões 1.17 e posteriores do Kubernetes, você pode usar o recurso VolumeSnapshot para criar snapshots de volumes de armazenamento. Em seguida, você pode provisionar novos volumes persistentes a partir desses snapshots.
Armazenamento em bloco elástico (EBS)
O GKE na AWS gerencia volumes do AWS EBS com o aws-ebs-csi-driver .
A versão do driver CSI do EBS está vinculada a uma versão do Kubernetes do GKE na AWS. Ao atualizar a versão do seu cluster de usuário, a nova versão do driver é aplicada automaticamente. Essa versão normalmente é o driver mais recente disponível no momento do lançamento da versão do GKE na AWS.
O driver pré-instalado com o GKE na AWS fornece as seguintes StorageClasses por padrão:
-
standard-rwo
(padrão): usado para provisionar volumes EBSgp2
. -
premium-rwo
: usado para provisionar volumes EBSio1
.
Os volumes do EBS suportam o modo de acesso ReadWriteOnce do Kubernetes.
Volumes EBS preexistentes
Você pode provisionar volumes EBS existentes em suas cargas de trabalho do GKE na AWS. Consulte Importando um volume EBS preexistente para obter exemplos de como usar volumes EBS no GKE na AWS.
Sistema de Arquivos Elástico (EFS)
O GKE na AWS 1.6 e versões superiores oferece suporte à montagem de sistemas de arquivos e pontos de acesso preexistentes do AWS EFS . Para obter mais informações, consulte Usando o EFS .
Opções adicionais de armazenamento
Outros sistemas de armazenamento de terceiros podem ser usados com o GKE na AWS por meio de drivers de Container Storage Interface (CSI) de terceiros (recomendados) ou plug-ins de volume do Kubernetes na árvore.
Motoristas CSI
A Container Storage Interface (CSI) é uma API de padrão aberto que permite ao Kubernetes anexar sistemas de armazenamento arbitrários a cargas de trabalho em contêineres. Uma lista não exaustiva de drivers CSI pode ser encontrada na Documentação do Desenvolvedor CSI do Kubernetes . O GKE na AWS oferece suporte à CSI v1.x.
Para usar um driver CSI no seu cluster, você precisa instalar o driver CSI fornecido pelo seu fornecedor de armazenamento. Você pode então configurar as cargas de trabalho para usar a StorageClass do driver ou defini-la como a StorageClass padrão .
Drivers de armazenamento específicos da AWS
Os seguintes drivers de volume podem ser usados com o GKE na AWS.
FSx para Lustre (FSX)
O GKE na AWS não gerencia volumes FSx diretamente. Você pode instalar manualmente o aws-fsx-csi-driver , mas o suporte do Google não está disponível.
Plugins de volume na árvore do Kubernetes
O Kubernetes vem com plugins de volume integrados na árvore . Os drivers na árvore suportados incluem os seguintes:
- configMap
- diretóriovazio
- caminho do host
- NFS
- projetado
- segredos
O que vem a seguir?
- Saiba mais sobre como usar StorageClasses com suas cargas de trabalho .
- Importe um volume EBS preexistente para o GKE na AWS .
- Saiba mais sobre volumes persistentes no GKE .
- Saiba mais sobre instantâneos de volume no GKE .
- Leia a documentação das classes de armazenamento do Kubernetes.
- Leia o anúncio de lançamento da Container Storage Interface .