Storage

Cria armazenamento persistente para cargas de trabalho em execução no GKE on AWS com objetos Kubernetes.

Usar armazenamento persistente nos seus workloads do GKE no AWS

No GKE on AWS, usa os recursos Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass para fornecer armazenamento persistente de ficheiros e blocos às cargas de trabalho. Para clusters de utilizadores com a versão 1.17 e superior, pode criar instantâneos de armazenamento persistente com os recursos VolumeSnapshot e VolumeSnapshotClass. As capturas de ecrã são armazenadas na sua conta da AWS.

StorageClass

Os clusters de utilizadores têm uma StorageClass do Kubernetes aprovisionada dinamicamente para o armazenamento com estado para cargas de trabalho em volumes do AWS Elastic Block Storage (EBS). Também pode usar uma StorageClass diferente para aprovisionar outros tipos de volumes. Estas opções estão descritas na secção seguinte.

VolumeSnapshotClass

Os clusters de utilizadores têm uma VolumeSnapshotClass do Kubernetes predefinida que cria instantâneos de armazenamento com estado em volumes do Elastic Block Storage (EBS) da AWS.

Configurar 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.

Usar instantâneos de volume

Nas versões 1.17 e posteriores do Kubernetes, 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ã.

Elastic Block Storage (EBS)

O GKE no AWS gere volumes AWS EBS com o aws-ebs-csi-driver.

A versão do controlador CSI do EBS está associada a uma versão do Kubernetes do GKE no AWS. Quando atualiza a versão do cluster de utilizadores, 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 on AWS.

O controlador pré-instalado com o GKE no AWS fornece as seguintes StorageClasses por predefinição:

  • standard-rwo (predefinição): usado para o aprovisionamento de volumes do EBS.gp2
  • premium-rwo: usado para o aprovisionamento de volumes do EBS io1.

Os volumes EBS suportam o modo de acesso ReadWriteOnce do Kubernetes.

Volumes EBS pré-existentes

Pode aprovisionar volumes EBS existentes nas suas cargas de trabalho do GKE no AWS. Consulte o artigo Importar um volume do EBS pré-existente para ver exemplos de como usar volumes do EBS no GKE na AWS.

Elastic File System (EFS)

O GKE on AWS 1.6 e superior suporta a montagem de sistemas de ficheiros AWS EFS pré-existentes e pontos de acesso. Para mais informações, consulte o artigo Usar o EFS.

Opções de armazenamento adicionais

Podem ser usados outros sistemas de armazenamento de terceiros com o GKE na AWS através de controladores da interface de armazenamento de contentores (CSI) de terceiros (recomendado) ou plug-ins de volume do Kubernetes no sistema.

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 na AWS suporta a 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.

Drivers de armazenamento específicos da AWS

Os seguintes controladores de volume podem ser usados com o GKE no AWS.

FSx for Lustre (FSX)

O GKE no AWS não gere diretamente os volumes do FSx. Pode instalar manualmente o aws-fsx-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?