Você cria armazenamento permanente para cargas de trabalho em execução no GKE na AWS com objetos do Kubernetes.
Como usar o armazenamento permanente em 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 permanente de arquivos e em blocos às cargas de trabalho. Crie snapshots do armazenamento permanente com os recursos VolumeSnapshot e VolumeSnapshotClass. Os snapshots são armazenados na conta da AWS.
StorageClass
Os clusters têm uma StorageClass padrão do Kubernetes que provisiona dinamicamente o armazenamento com estado para cargas de trabalho em volumes do armazenamento em blocos elásticos (EBS) da AWS. Também é possível usar um StorageClass padrão para provisionar outros tipos de volumes. Essas opções são descritas na seção a seguir.
VolumeSnapshotClass
Os clusters têm uma VolumeSnapshotClass padrão do Kubernetes que cria snapshots do armazenamento com estado em volumes EBS.
Como configurar o armazenamento de cluster
Se você quiser provisionar volumes de armazenamento com um StorageClass não padrão, crie um StorageClass padrão em um cluster que use parâmetros diferentes ou um driver de armazenamento diferente. Em seguida, você pode definir o StorageClass padrão ou configurar as cargas de trabalho usando o StorageClass. Por exemplo, use uma referência do StorageClass em um StatefulSet para definir um nome de StorageClass específico.
Como usar instantâneos de volume
É possível usar o recurso VolumeSnapshot para criar snapshots de volumes de armazenamento. Depois, é possível provisionar novos volumes permanentes a partir desses snapshots. Para mais informações, consulte Criar um snapshot de um PersistentVolume.
Armazenamento em blocos flexíveis (EBS, na sigla em inglês)
O GKE na AWS gerencia os volumes EBS da AWS com o aws-ebs-csi-driver.
A versão do driver CSI do EBS está vinculada a uma versão do Kubernetes para GKE na AWS. Ao fazer upgrade da versão do cluster do usuário, a nova versão do driver será aplicada automaticamente. Essa versão geralmente é o driver mais recente disponível no momento em que a versão do GKE na AWS é lançada.
O driver pré-instalado com o GKE na AWS fornece as seguintes StorageClasses por padrão:
standard-rwo
(padrão): usado para provisionar volumesgp2
do EBS.premium-rwo
: usado para provisionar volumesio1
do EBS.
Os volumes do EBS são compatíveis com o modo de acesso ReadWriteOnce do Kubernetes.
Volumes preexistentes do EBS
É possível provisionar volumes atuais do EBS nas cargas de trabalho do GKE na AWS. Consulte Como importar um volume EBS preexistente para ver exemplos de como usar volumes EBS do GKE na AWS.
Sistema de arquivos flexíveis (EFS, na sigla em inglês)
O GKE na AWS é compatível com a montagem de sistemas de arquivos EFS e pontos de acesso preexistentes. Para mais informações, consulte Usar um sistema de arquivos EFS.
Outras opções de armazenamento
Outros sistemas de armazenamento de terceiros podem ser usados com o GKE na AWS por meio de drivers de interface de armazenamento de contêiner (CSI, na sigla em inglês) de terceiros (recomendado) ou plug-ins de volume do Kubernetes.
Drivers de CSI
A Interface de Armazenamento de Contêiner (CSI) é uma API padrão aberta que permite ao Kubernetes anexar sistemas de armazenamento arbitrários a cargas de trabalho conteinerizadas. Uma lista não abrangente de drivers CSI pode ser encontrada na documentação do desenvolvedor de CSI do Kubernetes. O GKE na AWS é compatível com CSI v1.x.
Para usar um driver CSI no cluster, você precisa instalar o driver CSI fornecido pelo fornecedor de armazenamento. Em seguida, configure as cargas de trabalho para usar o StorageClass do driver ou Definir o 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. É possível instalar manualmente o aws-fsx-csi-driver, mas o suporte não está disponível no Google.
Plug-ins de volume do Kubernetes na árvore
O Kubernetes é fornecido com plug-ins de volume em árvore (integrados). Os drivers compatíveis na árvore incluem o seguinte:
- configMap
- emptyDir
- hostPath
- nfs
- projected
- secrets
A seguir
- Saiba como usar o StorageClasses com suas cargas de trabalho.
- Usar um volume EBS preexistente.
- Saiba mais sobre volumes permanentes e provisionamento dinâmico no GKE.
- Saiba como Criar um snapshot de um PersistentVolume.
- Leia a documentação Classes de armazenamento do Kubernetes.
- Leia o anúncio de lançamento da GA da Interface de Armazenamento de Contêiner (CSI) para Kubernetes.