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. 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 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 personalizada para provisionar outros tipos de volumes. Essas opções são descritas na seção a seguir.
Classe VolumeSnapshot
Os clusters têm um Kubernetes VolumeSnapshotClass padrão que cria instantâneos de armazenamento com estado em volumes EBS.
Configurando o armazenamento em cluster
Se desejar provisionar volumes de armazenamento com uma StorageClass não padrão, você pode criar uma StorageClass personalizada em um cluster que use parâmetros diferentes ou um driver de armazenamento diferente. Em seguida, você pode definir a StorageClass padrão ou configurar suas cargas de trabalho para usar a StorageClass. Por exemplo, você pode usar uma referência à StorageClass em um StatefulSet para definir um nome de StorageClass específico.
Usando instantâneos de volume
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. Para obter mais informações, consulte Criar um snapshot de um PersistentVolume .
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, 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 oferece suporte à montagem de sistemas de arquivos EFS e pontos de acesso preexistentes. Para obter mais informações, consulte Usar um sistema de arquivos 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 a CSI v1.x.
Para usar um driver CSI no seu cluster, você precisa instalar um driver CSI fornecido pelo seu fornecedor de armazenamento. Você pode então configurar as cargas de trabalho para usar a StorageClass do driver ou definir a StorageClass padrão .
Drivers de armazenamento específicos
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?
- Aprenda como usar StorageClasses com suas cargas de trabalho .
- Use um volume EBS pré-existente .
- Saiba mais sobre volumes persistentes e provisionamento dinâmico no GKE.
- Aprenda como fazer um snapshot de um PersistentVolume .
- Leia a documentação das classes de armazenamento do Kubernetes.
- Leia o anúncio de lançamento do Container Storage Interface (CSI) para Kubernetes GA .