Perguntas frequentes sobre migração de CSI do Amazon EBS - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

Perguntas frequentes sobre migração de CSI do Amazon EBS

Importante

Se o Pods estiver sendo executado em um cluster da versão 1.22 ou anterior, será necessário instalar o driver da CSI do Amazon EBS antes de atualizar seu cluster para a versão 1.23 para evitar a interrupção do serviço.

O recurso de migração da interface de armazenamento em contêiner (CSI) do Amazon EBS transfere a responsabilidade de lidar com as operações de armazenamento do provisionador de armazenamento de EBS “em árvore” do Amazon EBS para o driver da CSI do Amazon EBS.

O que são drivers de CSI?

Drivers de CSI:

  • Substituem os drivers de armazenamento “em árvore” do Kubernetes que existem no código-fonte do projeto Kubernetes.

  • Funcionam com provedores de armazenamento, como o Amazon EBS.

  • fornecem um modelo simplificado de plug-in que torna mais fácil para provedores de armazenamento como a AWS lançar recursos e manter a compatibilidade sem depender do ciclo de versões do Kubernetes.

Para obter mais informações consulte Introduction (Introdução) na documentação de CSI do Kubernetes.

O que é migração de CSI?

O recurso migração de CSI do Kubernetes transfere a responsabilidade de processamento das operações de armazenamento dos plug-ins de armazenamento em árvore existentes, como kubernetes.io/aws-ebs, para os drivers de CSI correspondentes. Os objetos StorageClass, PersistentVolume e PersistentVolumeClaim (PVC) existentes continuam funcionando, desde que o driver de CSI correspondente esteja instalado. Quando o recurso estiver habilitado:

  • As workloads existentes que utilizarem PVCs continuarão funcionando como sempre.

  • O Kubernetes transmitirá o controle de todas as operações de gerenciamento de armazenamento para os drivers de CSI.

Para obter mais informações, consulte Kubernetes1.23: Kubernetes In-Tree to CSI Volume Migration Status Update (Atualização do status de migração de volumes CSI) no blog do Kubernetes.

Para ajudar você a migrar do plug-in em árvore para os drivers de CSI, os sinalizadores CSIMigration e CSIMigrationAWS são habilitados por padrão em clusters versão 1.23 e posteriores do Amazon EKS. Esses sinalizadores permitem que o cluster traduza as APIs em árvore para suas APIs equivalentes do driver de CSI. Esses sinalizadores estão definidos no ambiente de gerenciamento do Kubernetes gerenciado pelo Amazon EKS e nas configurações kubelet definidas nas AMIs otimizadas para o Amazon EKS. Se você tiver Pods usando volumes do Amazon EBS em seu cluster, será necessário instalar o driver de CSI do Amazon EBS antes de atualizar o cluster para a versão 1.23. Caso contrário, talvez as operações de volume (p. ex., provisionamento e montagem) não funcionem conforme o esperado. Para ter mais informações, consulte Armazene volumes do Kubernetes com o Amazon EBS.

nota

O provisionador StorageClass em árvore tem o nome kubernetes.io/aws-ebs. O provisionador StorageClass de CSI do Amazon EBS tem o nome ebs.csi.aws.com.

Posso montar volumes da kubernetes.io/aws-ebs StorageClass em clusters da versão 1.23 e posteriores?

Sim, desde que o driver de CSI do Amazon EBS esteja instalado. Para clusters 1.23 e posteriores recém-criados, recomendamos a instalação do driver de CSI do Amazon EBS como parte do processo de criação do cluster. Também recomendamos usar apenas StorageClasses com base no provisionador ebs.csi.aws.com.

Se você tiver atualizado o ambiente de gerenciamento do cluster para a versão 1.23 e ainda não tiver atualizado seus nós para a versão 1.23, os sinalizadores CSIMigration e CSIMigrationAWS do kubelet não estarão habilitados. Nesse caso, o driver em árvore é usado para montar volumes baseados em kubernetes.io/aws-ebs. No entanto, o driver de CSI do Amazon EBS ainda deverá estar instalado para garantir que seja possível agendar Pods usando volumes baseados em kubernetes.io/aws-ebs. O driver também é necessário para que outras operações de volume sejam bem-sucedidas.

Posso provisionar volumes da kubernetes.io/aws-ebs StorageClass em clusters 1.23 e posteriores do Amazon EKS?

Sim, desde que o driver de CSI do Amazon EBS esteja instalado.

O provisionador kubernetes.io/aws-ebs StorageClass será removido do Amazon EKS algum dia?

Não há mais suporte para o provisionador kubernetes.io/aws-ebs StorageClass e para o tipo de volume awsElasticBlockStore, mas não há planos para removê-los. Esses recursos são tratados como parte da API do Kubernetes.

Como instalo o driver de CSI do Amazon EBS?

Recomendamos instalar o Complemento do Amazon EKS do driver da CSI do Amazon EBS. Quando for necessário executar uma atualização no complemento do Amazon EKS, você iniciará a atualização e o Amazon EKS fará a atualização do complemento para você. Para gerenciar o driver por conta própria, você poderá instalá-lo usando o chart do Helm de código aberto.

Importante

O driver do Amazon EBS para Kubernetes em árvore é executado no ambiente de gerenciamento do Kubernetes. Ele usa permissões do IAM atribuídas ao Função do IAM do cluster do Amazon EKS para provisionar volumes do Amazon EBS. O driver de CSI do Amazon EBS funciona em nós. O driver precisa de permissões do IAM para provisionar volumes. Para ter mais informações, consulte Etapa 1: Criar uma função do IAM.

Como verifico se o driver de CSI do Amazon EBS está instalado no meu cluster?

Para determinar se o driver está instalado em seu cluster, execute o seguinte comando:

kubectl get csidriver ebs.csi.aws.com

Para verificar se essa instalação é gerenciada pelo Amazon EKS, execute o seguinte comando:

aws eks list-addons --cluster-name my-cluster

O Amazon EKS impedirá uma atualização de cluster para a versão 1.23 se eu ainda não tiver instalado o driver de CSI do Amazon EBS?

E se eu esquecer de instalar o driver de CSI do Amazon EBS antes de atualizar meu cluster para a versão 1.23? Posso instalar o driver depois de atualizar meu cluster?

Sim, mas as operações de volume que exigirem o driver de CSI do Amazon EBS falharão após a atualização do cluster até que o driver seja instalado.

Qual é a StorageClass padrão aplicada em clusters versão 1.23 e posteriores recém-criados do Amazon EKS?

O comportamento padrão de StorageClass permanece inalterado. Com cada novo cluster, o Amazon EKS aplica um StorageClass chamado gp2 baseado em kubernetes.io/aws-ebs. Não planejamos remover essa StorageClass de clusters recém-criados. Além da StorageClass padrão do cluster, se você criar uma StorageClass baseada em ebs.csi.aws.com sem especificar um tipo de volume, o driver de CSI do Amazon EBS usará gp3 como padrão.

O Amazon EKS fará alguma alteração nas StorageClasses já presentes em meu cluster existente quando eu atualizar meu cluster para a versão 1.23?

Como migro um volume persistente da StorageClasskubernetes.io/aws-ebs para ebs.csi.aws.com usando snapshots?

Para migrar um volume persistente, consulte Migrating Amazon EKS clusters from gp2 to gp3 EBS volumes (Migração de clusters do Amazon EKS de volumes gp2 para gp3 do EBS) no blog da AWS.

Como faço para modificar um volume do Amazon EBS usando anotações?

Começando com o aws-ebs-csi-driver v1.19.0-eksbuild.2, é possível modificar volumes do Amazon EBS usando anotações em seusPersistentVolumeClaims (PVC). O novo recurso de modificação de volume é implementado como um sidecar adicional chamado volumemodifier. Para obter mais informações, consulte Simplificar a migração e a modificação de volumes do Amazon EBS no Kubernetes usando o driver da CSI do EBS no blog da AWS.

Há compatibilidade para a migração de workloads do Windows?

Sim. Se você estiver instalando o driver de CSI do Amazon EBS usando o chart do Helm de código aberto, defina node.enableWindows como true. Isso é definido por padrão ao instalar o driver de CSI do Amazon EBS como complemento do Amazon EKS. Ao criar StorageClasses, defina fsType com um sistema de arquivos do Windows, como ntfs. Em seguida, as operações de volume para workloads do Windows serão migradas para o driver de CSI do Amazon EBS da mesma forma que seriam para workloads do Linux.