Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criação de um template com as saidas do terraform para RKE #3

Open
1 task
hazkall opened this issue Sep 5, 2021 · 1 comment
Open
1 task

Criação de um template com as saidas do terraform para RKE #3

hazkall opened this issue Sep 5, 2021 · 1 comment

Comments

@hazkall
Copy link

hazkall commented Sep 5, 2021

Criação de um template com as saidas do cluster.

O objetivo será utilizar esse template para criar o YAML de configuração do RKE.

Para criação do template de terraform podemos utilizar.

Exemplo de utilização

resource "local_file" "ansible_inventory" {
  
  content                   = templatefile("${path.module}/templates/invetory.tpl",
  {

  #Master Node Configuration
  K8S_MASTER_NODE_IP        = element(flatten(var.private_ip_template),0)
  hostname_master           = element(var.hostname_template, 0)
  K8S_MASTER_NODE_PUBLIC_IP = element(flatten(var.public_ip_template), 0)

  #Worker Node Configurationcd 
  hostname_worker           = var.hostname_template
  K8S_WORKER_NODE_PUBLIC_IP = flatten(var.public_ip_template)

  })
  filename                  = "${path.root}/../Ansible/hosts"
}

Template de utilização no terraform, extensão tpl

invetory.tpl

[k8s-masters]
ansible_host=${hostname_master} ansible_ssh_host=${K8S_MASTER_NODE_PUBLIC_IP}

[k8s-workers]
%{ for x in range(1, length(K8S_WORKER_NODE_PUBLIC_IP)) ~}
ansible_host=${hostname_worker[x]} ansible_ssh_host=${K8S_WORKER_NODE_PUBLIC_IP[x]}
%{ endfor ~}

[kubernetes:children]
k8s-masters
k8s-workers

[kubernetes:vars]
K8S_MASTER_NODE=${hostname_master}
K8S_API_SECURE_PORT=6443

A ideia é trabalhar com os outputs do terraform, fazer a formatação deles e encaixar no template para criação do YAML de configuração

DoD

  • Um arquivo de definição do RKE pronto para ser utilizado

Obs: Você pode usar o comando abaixo pra gerar um arquivo de configuração e usar ele como base pra adicionar apenas os ips e nomes das maquinas:

rke config --name cluster.yml
@hazkall
Copy link
Author

hazkall commented Sep 7, 2021

image

Um conceito inicial de como seria a implementação.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant