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.
Configurar o Amazon EKS Pod Identity Agent
As associações do Amazon EKS Pod Identity permitem gerenciar credenciais para suas aplicações de forma semelhante a como os perfis de instância do Amazon EC2 fornecem credenciais para instâncias do Amazon EC2.
O Amazon EKS Pod Identity fornece credenciais para suas workloads com uma API EKS Auth adicional e um pod de agente executado em cada nó.
Considerações
-
IPv6
Por padrão, o EKS Pod Identity Agent escuta em um endereço IPv4
e IPv6
para os pods para solicitar credenciais. O agente usa o endereço IP de loopback (localhost) 169.254.170.23
para IPv4
e o endereço IP de localhost [fd00:ec2::23]
para IPv6
.
Se você desabilitar endereços IPv6
ou de alguma forma impedir endereços IP IPv6
do localhost, o agente não poderá iniciar. Para iniciar o agente em nós que não podem usar IPv6
, siga as etapas em Desabilitar o IPv6 no EKS Pod Identity Agent para desabilitar a configuração de IPv6
.
Criar o Amazon EKS Pod Identity Agent
Pré-requisitos do agente
-
Um cluster existente do Amazon EKS. Para implantar, consulte Conceitos básicos do Amazon EKS. A versão do cluster e a versão da plataforma devem ser iguais ou posteriores às versões listadas em Versões de cluster do EKS Pod Identity.
-
O perfil de nó tem permissões para o agente realizar a ação AssumeRoleForPodIdentity
na API de autenticação do EKS. É possível usar Política gerenciada da AWS: AmazonEKSWorkerNodePolicy ou adicionar uma política personalizada semelhante a esta:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks-auth:AssumeRoleForPodIdentity"
],
"Resource": "*"
}
]
}
Esta ação pode ser limitada por tags para restringir quais funções podem ser assumidas pelos pods que usam o agente.
-
Os nós podem acessar e baixar imagens do Amazon ECR. A imagem do contêiner do complemento está nos registros listados em Registros de imagem de contêiner da Amazon.
Observe que é possível alterar a localização da imagem e fornecer imagePullSecrets
para complementos do EKS nas Configurações opcionais no AWS Management Console, em --configuration-values
e na AWS CLI.
-
Os nós podem acessar a API de autenticação do Amazon EKS. Para clusters privados, o endpoint eks-auth
em AWS PrivateLink é obrigatório.
- AWS Management Console
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
No painel de navegação esquerdo, selecione Clusters e depois o nome do cluster para o qual você deseja configurar o complemento do EKS Pod Identity Agent.
-
Escolha a guia Add-ons (Complementos).
-
Escolha Obter mais complementos.
-
Selecione a caixa no canto superior direito da caixa do complemento do EKS Pod Identity Agent e escolha Editar.
-
Na página Configurar complementos selecionados, selecione qualquer versão na lista suspensa Versão.
-
(Opcional) Expanda Configurações opcionais para inserir configurações adicionais. Por exemplo, é possível indicar um local alternativo para a imagem do contêiner e ImagePullSecrets
. O JSON Schema com chaves aceitas é mostrado no Esquema de configuração do complemento.
Insira as chaves e os valores de configuração em Valores de configuração.
-
Escolha Próximo.
-
Confirme que os pods do EKS Pod Identity Agent estão em execução no cluster.
kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'
Veja um exemplo de saída abaixo.
eks-pod-identity-agent-gmqp7
1/1 Running 1 (24h ago) 24h
eks-pod-identity-agent-prnsh
1/1 Running 1 (24h ago) 24h
Agora é possível usar associações do EKS Pod Identity em seu cluster. Para ter mais informações, consulte Configurar uma conta de serviço do Kubernetes para assumir um perfil do IAM com o EKS Pod Identity.
- AWS CLI
-
-
Execute o seguinte comando AWS CLI. Substitua o my-cluster
pelo nome do cluster.
aws eks create-addon --cluster-name my-cluster
--addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1
O EKS Pod Identity Agent não usa o service-account-role-arn
para perfis do IAM para contas de serviço. Você deve fornecer ao EKS Pod Identity Agent as permissões no perfil de nó.
-
Confirme que os pods do EKS Pod Identity Agent estão em execução no cluster.
kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'
Veja um exemplo de saída abaixo.
eks-pod-identity-agent-gmqp7
1/1 Running 1 (24h ago) 24h
eks-pod-identity-agent-prnsh
1/1 Running 1 (24h ago) 24h
Agora é possível usar associações do EKS Pod Identity em seu cluster. Para ter mais informações, consulte Configurar uma conta de serviço do Kubernetes para assumir um perfil do IAM com o EKS Pod Identity.
Atualizar o Amazon EKS Pod Identity Agent
Atualize o tipo do Amazon EKS do complemento. Se você não adicionou o tipo Amazon EKS do complemento ao cluster, consulte Criar o Amazon EKS Pod Identity Agent.
- AWS Management Console
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
No painel de navegação esquerdo, selecione Clusters e depois o nome do cluster para o qual você deseja configurar o complemento do EKS Pod Identity Agent.
-
Escolha a guia Add-ons (Complementos).
-
Se uma nova versão do complemento estiver disponível, o EKS Pod Identity Agent mostrará um botão Atualizar versão. Selecione Atualizar versão.
-
Na página Configurar o Amazon EKS Pod Identity Agent, selecione a nova versão na lista suspensa Versão.
-
Selecione Save Changes (Salvar alterações).
Pode levar alguns segundos para que a atualização seja concluída. Em seguida, confirme se a versão do complemento foi atualizada verificando o Status.
- AWS CLI
-
-
Veja qual versão do complemento está atualmente instalada no cluster. Substitua my-cluster
pelo nome do cluster.
aws eks describe-addon --cluster-name my-cluster
--addon-name eks-pod-identity-agent --query "addon.addonVersion" --output text
Veja um exemplo de saída abaixo.
v1.0.0-eksbuild.1
Você precisa criar o complemento antes de poder atualizá-lo com este procedimento.
-
Atualize o complemento usando a AWS CLI. Se você quiser usar o AWS Management Console ou eksctl
para atualizar o complemento, consulte Atualizar um complemento. Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado.
-
Substitua o my-cluster
pelo nome do cluster.
-
Substitua v1.0.0-eksbuild.1
pela versão desejada.
-
Substitua 111122223333
pelo ID da sua conta.
-
Execute o seguinte comando:
aws eks update-addon --cluster-name my-cluster
--addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1
'
Pode levar alguns segundos para que a atualização seja concluída.
-
Confirme se a versão do complemento foi atualizada. Substitua o my-cluster
pelo nome do cluster.
aws eks describe-addon --cluster-name my-cluster
--addon-name eks-pod-identity-agent
Pode levar alguns segundos para que a atualização seja concluída.
Veja um exemplo de saída abaixo.
{
"addon": {
"addonName": "eks-pod-identity-agent",
"clusterName": "my-cluster
",
"status": "ACTIVE",
"addonVersion": "v1.0.0-eksbuild.1
",
"health": {
"issues": []
},
"addonArn": "arn:aws:eks:region
:111122223333
:addon/my-cluster
/eks-pod-identity-agent/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9
",
"createdAt": "2023-04-12T18:25:19.319000+00:00",
"modifiedAt": "2023-04-12T18:40:28.683000+00:00",
"tags": {}
}
}
Configuração do EKS Pod Identity Agent
Desabilitar o IPv6
no EKS Pod Identity Agent
- AWS Management Console
-
Desabilitar IPv6
no AWS Management Console
-
Para desabilitar o IPv6
no EKS Pod Identity Agent, adicione a configuração a seguir às Configurações opcionais do EKS Add-on.
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
No painel de navegação esquerdo, selecione Clusters e depois o nome do cluster para o qual você deseja configurar o complemento.
-
Escolha a guia Add-ons (Complementos).
-
Selecione a caixa no canto superior direito da caixa do complemento do EKS Pod Identity Agent e escolha Editar.
-
Na página Configurar o EKS Pod Identity Agent:
-
Selecione a Version (Versão) que você deseja usar. Recomendamos manter a mesma versão da etapa anterior e atualizar a versão e a configuração em ações separadas.
-
Expanda Definições de configuração opcionais.
-
Insira a chave JSON "agent":
e o valor de um objeto JSON aninhado com uma chave "additionalArgs":
em Valores de configuração. O texto resultante deve ser um objeto JSON válido. Se esse par de chave e valor for o único dado na caixa de texto, coloque-o entre colchetes {}
. O exemplo apresentado a seguir mostra que a política de rede está habilitada:
{
"agent": {
"additionalArgs": {
"-b": "169.254.170.23"
}
}
}
Essa configuração define o endereço IPv4
como o único usado pelo agente.
-
Para aplicar a nova configuração substituindo os pods do EKS Pod Identity Agent, escolha Salvar alterações.
O Amazon EKS aplica alterações nos complementos do EKS usando uma distribuição do Kubernetes DaemonSet
para EKS Pod Identity Agent. É possível acompanhar o status da implantação no Histórico de atualizações do complemento no AWS Management Console e com kubectl rollout status
daemonset/eks-pod-identity-agent --namespace
kube-system
.
kubectl rollout
oferece os seguintes comandos:
$ kubectl rollout
history -- View rollout history
pause -- Mark the provided resource as paused
restart -- Restart a resource
resume -- Resume a paused resource
status -- Show the status of the rollout
undo -- Undo a previous rollout
Se a distribuição demorar muito, o Amazon EKS desfará a distribuição e uma mensagem com o tipo Atualização do complemento e o status Falha será adicionada ao Histórico de atualizações do complemento. Para investigar qualquer problema, comece com o histórico da distribuição e execute kubectl logs
em um pod do EKS Pod Identity Agent para ver os logs do EKS Pod Identity Agent.
-
Se a nova entrada no Histórico de atualizações tiver o status de Êxito, a distribuição foi concluída e o complemento está usando a nova configuração em todos os pods do EKS Pod Identity Agent.
- AWS CLI
-
Desabilitar IPv6
no AWS CLI
-
Para desabilitar o IPv6
no EKS Pod Identity Agent, adicione a seguinte configuração aos valores de configuração do EKS Add-on.
Execute o seguinte comando AWS CLI. Substitua my-cluster
pelo nome do cluster e o ARN do perfil do IAM pelo perfil que você está usando.
aws eks update-addon --cluster-name my-cluster
--addon-name eks-pod-identity-agent \
--resolve-conflicts PRESERVE --configuration-values '{"agent":{"additionalArgs": { "-b": "169.254.170.23"}}}'
Essa configuração define o endereço IPv4
como o único usado pelo agente.
O Amazon EKS aplica alterações nos complementos do EKS usando uma distribuição do Kubernetes DaemonSet para EKS Pod Identity Agent. É possível acompanhar o status da implantação no Histórico de atualizações do complemento no AWS Management Console e com kubectl rollout status
daemonset/eks-pod-identity-agent --namespace kube-system
.
kubectl rollout
oferece os seguintes comandos:
kubectl rollout
history -- View rollout history
pause -- Mark the provided resource as paused
restart -- Restart a resource
resume -- Resume a paused resource
status -- Show the status of the rollout
undo -- Undo a previous rollout
Se a distribuição demorar muito, o Amazon EKS desfará a distribuição e uma mensagem com o tipo Atualização do complemento e o status Falha será adicionada ao Histórico de atualizações do complemento. Para investigar qualquer problema, comece com o histórico da distribuição e execute kubectl logs
em um pod do EKS Pod Identity Agent para ver os logs do EKS Pod Identity Agent.