Armazenamento

Você cria armazenamento permanente para cargas de trabalho em execução nos clusters Anthos na AWS (GKE na AWS) com objetos do Kubernetes.

Como usar o armazenamento permanente nos clusters do Anthos em cargas de trabalho da AWS

No clusters do Anthos na AWS, você usa os recursos PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass do Kubernetes para fornecer armazenamento permanente de arquivos e armazenamento em blocos às cargas de trabalho. Para os clusters de usuários versão 1.17 e superior, é possível criar snapshots de armazenamento permanente com os recursos VolumeSnapshot e VolumeSnapshotClass. Os snapshots são armazenados na conta da AWS.

StorageClass

Os usuários dos clusters têm um StorageClass padrão do Kubernetes que provisiona dinamicamente o armazenamento com estado para cargas de trabalho em volumes no armazenamento em blocos flexíveis (EBS, na sigla em inglês) da AWS. Também é possível usar um StorageClass diferente para provisionar outros tipos de volumes. Essas opções são descritas na seção a seguir.

VolumeSnapshotClass

Os usuários dos clusters têm uma VolumeSnapshotClass padrão do Kurbernetes que cria snapshots de armazenamento com estado nos volumes do AWS Elastic Block Storage (EBS).

Como configurar o armazenamento de cluster

Se você quiser provisionar volumes de armazenamento com um StorageClass não padrão, crie um novo StorageClass em um cluster que use parâmetros diferentes ou um driver de armazenamento diferente. Em seguida, defina o StorageClass como o padrão do cluster ou configure as cargas de trabalho para usar o StorageClass. Por exemplo, use um StatefulSet para definir um nome de StorageClass específico.

Como usar instantâneos de volume

Nas versões 1.17 e posteriores do Kubernetes, use o recurso VolumeSnapshot para criar snapshots de volumes de armazenamento. Depois, é possível provisionar novos volumes permanentes a partir desses snapshots.

Armazenamento em blocos flexíveis (EBS, na sigla em inglês)

Os clusters do Anthos no AWS gerenciam os volumes do EBS da AWS com o aws-ebs-csi-driver.

A versão do driver CSI do EBS está vinculada a um cluster do Anthos na versão do Kubernetes da 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 os clusters do Anthos na versão da AWS são lançados.

O driver pré-instalado com clusters do Anthos na AWS fornece os seguintes StorageClasss por padrão:

  • standard-rwo (padrão): usado para provisionar volumes gp2 do EBS.
  • premium-rwo: usado para provisionar volumes io1 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 nos clusters do Anthos nas cargas de trabalho da AWS. Consulte Como importar um volume do EBS preexistente para exemplos sobre como usar os volumes do EBS em clusters do Anthos na AWS.

Sistema de arquivos flexíveis (EFS, na sigla em inglês)

Os clusters do Anthos na AWS 1.6 e superior são compatíveis com a ativação de sistemas de arquivos e pontos de acesso AWS EFS atuais. Para mais informações, consulte Como usar o EFS.

Outras opções de armazenamento

Outros sistemas de armazenamento de terceiros podem ser usados com os Clusters do Anthos 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 Container Storage Interface (CSI) é uma API padrão aberta que permite ao Kubernetes anexar sistemas de armazenamento arbitrários a cargas de trabalho em contêineres. Uma lista não abrangente de drivers CSI pode ser encontrada na documentação do desenvolvedor de CSI do Kubernetes (em inglês). Os clusters do Anthos no AWS são compatíveis com CSI v1.x.

Para usar um driver CSI no seu 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 defini-lo como o StorageClass padrão.

Drivers de armazenamento específicos da AWS

Os seguintes drivers de volume podem ser usados com clusters do Anthos na AWS.

FSx para Lustre (FSX)

Os clusters do Anthos no AWS não gerenciam 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