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.
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
-
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.
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
Escolha Add cluster (Adicionar cluster) e selecione Register (Registrar) para abrir a página de configuração.
-
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.
-
Selecione Register cluster (Registrar cluster).
-
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.
-
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
-
Para registrar o cluster no eksctl
-
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.
-
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
-
Caso tenha registrado o cluster com eksctl
, use o método de manifesto YAML em vez do chart do Helm.
-
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.
-
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.
-
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
-
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
Certifique-se de que seu código de ativação esteja no formato de base64.
-
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
-
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
.
-
(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.