Conectar um cluster externo do Kubernetes ao console de gerenciamento do Amazon EKS - 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.

Conectar um cluster externo do Kubernetes ao console de gerenciamento do Amazon EKS

Você pode conectar um cluster externo do Kubernetes ao Amazon EKS usando vários métodos no processo descrito a seguir. Esse processo envolve duas etapas: registrar o cluster no Amazon EKS e instalar o agente do eks-connector no cluster.

Importante

Você deve concluir a segunda etapa em até 3 dias após a conclusão da primeira etapa, antes que o registro expire.

Considerações

Você pode usar manifestos YAML ao instalar o agente. Como alternativa, você pode usar o Helm caso registre o cluster com o AWS Management Console ou a AWS Command Line Interface. No entanto, não é possível usar o Helm para instalar o agente caso registre o cluster com eksctl.

Pré-requisitos

Etapa 1: Registrar o cluster

AWS CLI
Pré-requisitos
Para registrar o cluster com a AWS CLI
  • Para a configuração do conector, especifique a função do IAM do agente do Amazon EKS Connector. Para ter mais informações, consulte Funções do IAM necessárias para o Amazon EKS Connector.

    aws eks register-cluster \ --name my-first-registered-cluster \ --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \ --region aws-region

    Veja um exemplo de saída abaixo.

    { "cluster": { "name": "my-first-registered-cluster", "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster", "createdAt": 1627669203.531, "ConnectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": 1627672543.0, "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" }, "status": "CREATING" } }

    Você usará os valores de aws-region, activationId e activationCode na próxima etapa.

AWS Management Console
Para registrar o cluster do Kubernetes no console.
  1. Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.

  2. Escolha Add cluster (Adicionar cluster) e selecione Register (Registrar) para abrir a página de configuração.

  3. Na seção Configure cluster (Configurar cluster), preencha os seguintes campos:

    • Name (Nome) – um nome exclusivo para o cluster.

    • Provider (Fornecedor): escolha para exibir a lista suspensa de provedores de cluster do Kubernetes. Se não souber qual é o provedor específico, selecione Outro.

    • EKS Connector role (Função do EKS Connector): Selecione a função a ser usada para conectar o cluster.

  4. Selecione Register cluster (Registrar cluster).

  5. A página de visão geral do cluster é exibida. Se você quiser usar o chart do Helm, copie o comando helm install e prossiga na próxima etapa. Se desejar usar o manifesto YAML, escolha Baixar arquivo YAML para baixar o arquivo manifesto na unidade local.

    Importante
    • Esta é sua única oportunidade de copiar o comando helm install ou baixar esse arquivo. Não saia dessa página, pois o link não estará acessível, e você precisará cancelar o registro do cluster e iniciar as etapas desde o início.

    • O comando ou o arquivo do manifesto só podem ser usados uma vez para o cluster registrado. Se você excluir recursos do cluster do Kubernetes, deve registrar novamente o cluster e obter um novo arquivo manifesto.

    Prossiga para a próxima etapa para aplicar o arquivo manifesto ao cluster do Kubernetes.

eksctl
Pré-requisitos
Para registrar o cluster no eksctl
  1. Registre o cluster informando um nome, um provedor e uma região.

    eksctl register cluster --name my-cluster --provider my-provider --region region-code

    Resultado do exemplo:

    2021-08-19 13:47:26 [ℹ]  creating IAM role "eksctl-20210819194112186040"
    2021-08-19 13:47:26 [ℹ]  registered cluster "<name>" successfully
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-clusterrole.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
    2021-08-19 13:47:26 [!]  note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
    2021-08-19 13:47:26 [ℹ]  run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
                                

    Isso cria arquivos no seu computador local. Esses arquivos devem ser aplicados ao cluster externo em até três dias, ou o registro expira.

  2. Em um terminal que possa acessar o cluster, aplique o arquivo eks-connector-binding.yaml:

    kubectl apply -f eks-connector-binding.yaml

Etapa 2: instalar o agente do eks-connector

Helm chart
nota

Caso tenha registrado o cluster com eksctl, use o método de manifesto YAML em vez do chart do Helm.

  1. Se você usou a AWS CLI na etapa anterior, substitua o ACTIVATION_CODE e ACTIVATION_ID no comando a seguir pelos valores activationId e activationCode respectivamente. Substitua a aws-region pela Região da AWS que você usou na etapa anterior. Execute o seguinte comando para instalar o agente do eks-connector no cluster sendo resgistrado:

    $ helm install eks-connector \ --namespace eks-connector \ oci://public.ecr.aws/eks-connector/eks-connector-chart \ --set eks.activationCode=ACTIVATION_CODE \ --set eks.activationId=ACTIVATION_ID \ --set eks.agentRegion=aws-region

    Se você usou o AWS Management Console na etapa anterior, use o comando que você copiou da etapa anterior que tem esses valores preenchidos.

  2. Verifique a integridade da implantação do eks-connector instalado e aguarde que o status do cluster registrado no Amazon EKS seja ACTIVE.

YAML manifest

Faça a conexão aplicando o arquivo manifesto do Amazon EKS Connector ao cluster do Kubernetes. Para isso, você deve usar os métodos descritos anteriormente. Se o manifesto não for aplicado em até três dias, a validade do registro do Amazon EKS Connector expirará. Se a conexão do cluster expirar, o registro do cluster deve ser cancelado antes de ser conectado novamente.

  1. Baixe o arquivo YAML do Amazon EKS Connector.

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. Edite o arquivo YAML do Amazon EKS Connector para substituir todas as referências de %AWS_REGION%, %EKS_ACTIVATION_ID% e %EKS_ACTIVATION_CODE% por aws-region, activationId e activationCode da saída da etapa anterior.

    O exemplo de comando a seguir pode substituir esses valores.

    sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
    Importante

    Certifique-se de que seu código de ativação esteja no formato de base64.

  3. Em um terminal que possa acessar o cluster, você pode aplicar o arquivo de manifesto atualizado, executando o seguinte comando:

    kubectl apply -f eks-connector.yaml
  4. Depois que os arquivos YAML de associação de função e manifesto do Amazon EKS Connector forem aplicados ao cluster do Kubernetes, confirme se o cluster está conectado.

    aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGION

    A saída deve incluir status=ACTIVE.

  5. (Opcional) Adicione etiquetas ao seu cluster. Para ter mais informações, consulte Organizar recursos do Amazon EKS com tags.

Próximas etapas

Se você tiver algum problema com essas etapas, consulte Solução de problemas do Amazon EKS Connector.

Para conceder acesso às entidades principais do IAM ao console do Amazon EKS para visualizar recursos do Kubernetes em um cluster conectado, consulte Conceder acesso para visualizar recursos de clusters do Kubernetes em um console do Amazon EKS.