DEV Community

Paulo Ponciano
Paulo Ponciano

Posted on • Originally published at Medium

Registrando cluster EKS existente no Rancher 2.6

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)
  }
}
Enter fullscreen mode Exit fullscreen mode

Additional security groups

Construção

  • Execute a stack:

terraform init

terraform plan

terraform apply

Outputs:

  • 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.

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

docker ps

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

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

  • Logo na sequência, escolha *'Import Existing' *e depois Amazon EKS:

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

Programmatic userProgrammatic user

Attach 'AdministratorAccess' policyAttach 'AdministratorAccess' policy

  • 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
Enter fullscreen mode Exit fullscreen mode

aws-authaws-auth

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

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

  • Cluster EKS registrado e ativo no Rancher:

  • 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!

Top comments (0)