Registrando cluster EKS existente no Rancher 2.6

Paulo Ponciano
4 min readOct 2, 2022

Complementando o post anterior sobre EKS e Istio, podemos registrar um cluster EKS existente no Rancher, e aproveitar todos os recursos que ele nos proporciona.

Para isso, vamos utilizar o terraform para provisionar o Rancher 2.6.8 single node em uma instância EC2 e registrar o cluster EKS que já temos.

Código terraform aqui.

Pré-requisitos

Variáveis

Entrada de informações para provisionamento do Rancher single node. Importante informar security group ID adicional do EKS (linha 15).

variable "project_name" {
default = "pegasus-2"
}

variable "env" {
default = "dev"
}

variable "rancher_name" {
default = "rancher-node"
}

variable "eks-sg" {
type = string
default = "sg-03468a76eba533c6f"
}

variable "vpc_cidr_block" {
type = string
default = "172.28.0.0/16"
}

variable "subnet_id_public_az1" {
type = string
default = "subnet-05343e4dc141521f9"
}

variable "subnet_id_public_az2" {
type = string
default = "subnet-06ea2c1ad38d32f17"
}

variable "subnet_id_private_az1" {
type = string
default = "subnet-00a6a9c32c50a97ba"
}

variable "subnet_id_private_az2" {
type = string
default = "subnet-06cc1a1b63da22f8f"
}

variable "aws_details" {
type = map(string)
default = {
region = "us-east-2"
instance_type = "t3.medium"
key_name = "k8s" #keypair (.pem)
}
}
Additional security groups

Construção

  1. Execute a stack:
terraform initterraform planterraform apply

Outputs:

2. Com o Public IP, Public DNS ou DNS customizado — Acesse a console do Rancher:

Veja que agora é necessário buscar o bootstrap password, podemos fazer isso seguindo as instruções da tela inicial.

3. Conecte na instância do Rancher para buscar o password utilizando o container-id:

docker psdocker logs container-id 2>&1 | grep "Bootstrap Password:"

4. Defina agora uma senha de sua escolha e siga em frente:

5. Logo na sequência, escolha 'Import Existing' e depois Amazon EKS:

6. Será necessário criar um usuário IAM para que o Rancher conecte no EKS:

Programmatic user
Attach 'AdministratorAccess' policy

7. Conecte no cluster EKS para ajustar o ConfigMap:

kubectl edit configmap aws-auth --namespace kube-system

Adicione:

mapUsers: |
- userarn: arn:aws:iam::<account_id>:user/rancher-access
username: rancher-access
groups:
- system:masters
aws-auth

8. Voltando a console do rancher, defina o nome do cluster, a região em que ele está provisionado e as credenciais criadas anteriormente:

9. Em 'Cluster To register', escolha seu cluster EKS e siga em frente:

10. Cluster EKS registrado e ativo no Rancher:

11. Deploy de exemplo através da console rancher — Import YAML:

bookinfo.yaml

Note: Como a carga aumentou no cluster, foi adicionado mais um node automaticamente conforme configuração do autoscaler:

Agora é seguir com os deploys…

Happy building!

--

--

Paulo Ponciano

Solutions Architect | 7x AWS Certified | AWS Black Belt | AWS Community Builder