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
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
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
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?
Nº
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
?
Nº
Como migro um volume persistente da StorageClass
kubernetes.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
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 seusPersistentVolumeClaim
s (PVC). O novo recurso de modificação de volumevolumemodifier
. 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
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.