Open hazkall opened 3 years ago
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
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
Um conceito inicial de como seria a implementação.
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
Template de utilização no terraform, extensão tpl
invetory.tpl
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
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: