diff --git a/terraform/modules/k8s-cluster/manager-node.tf b/terraform/modules/k8s-cluster/manager-node.tf index cbceeb2..7e24617 100644 --- a/terraform/modules/k8s-cluster/manager-node.tf +++ b/terraform/modules/k8s-cluster/manager-node.tf @@ -65,10 +65,10 @@ resource "hcloud_server" "manager" { terraform_public_ssh_key : var.terraform_public_ssh_key, microk8s_channel : var.microk8s_channel, admin_user : var.admin_user, - microk8s_config : templatefile("${path.module}/templates/microk8s-config.tftpl", { + microk8s_config : base64encode(templatefile("${path.module}/templates/microk8s-config.tftpl", { node_ip : var.private_node_ips[count.index], api_server_domain : local.kube_api_server_domain - }) + })) }) shutdown_before_deletion = true diff --git a/terraform/modules/k8s-cluster/templates/cloud-init-k8s.tftpl b/terraform/modules/k8s-cluster/templates/cloud-init-k8s.tftpl index 2f3a149..9e92183 100644 --- a/terraform/modules/k8s-cluster/templates/cloud-init-k8s.tftpl +++ b/terraform/modules/k8s-cluster/templates/cloud-init-k8s.tftpl @@ -19,6 +19,11 @@ package_upgrade: true snap: commands: - snap install kubectl --classic +write_files: + - owner: root:root + content: "${microk8s_config}" + path: /var/snap/microk8s/common/.microk8s.yaml + encoding: base64 runcmd: - printf "[sshd]\nenabled = true\nbanaction = iptables-multiport" > /etc/fail2ban/jail.local - systemctl enable fail2ban @@ -41,8 +46,6 @@ runcmd: - sed -i '$a AllowUsers ${admin_user} terraform' /etc/ssh/sshd_config - curl https://packages.hetzner.com/hcloud/deb/hc-utils_0.0.4-1_all.deb -o /tmp/hc-utils_0.0.4-1_all.deb -s - apt install /tmp/hc-utils_0.0.4-1_all.deb - - mkdir -p /var/snap/microk8s/common/ - - echo "${microk8s_config}" > /var/snap/microk8s/common/.microk8s.yaml - snap install microk8s --channel ${microk8s_channel} - mkdir -p /home/terraform/.kube - microk8s kubectl config view --raw > /home/terraform/.kube/config diff --git a/terraform/modules/k8s-cluster/worker-node.tf b/terraform/modules/k8s-cluster/worker-node.tf index 3abbc3a..d968dce 100644 --- a/terraform/modules/k8s-cluster/worker-node.tf +++ b/terraform/modules/k8s-cluster/worker-node.tf @@ -54,10 +54,10 @@ resource "hcloud_server" "worker" { terraform_public_ssh_key : var.terraform_public_ssh_key, microk8s_channel : var.microk8s_channel, admin_user : var.admin_user, - microk8s_config : templatefile("${path.module}/templates/microk8s-config.tftpl", { + microk8s_config : base64encode(templatefile("${path.module}/templates/microk8s-config.tftpl", { node_ip : var.private_worker_node_ips[count.index], api_server_domain : local.kube_api_server_domain - }) + })) }) shutdown_before_deletion = true diff --git a/terraform/outputs.tf b/terraform/outputs.tf index a782b67..5ed88d3 100644 --- a/terraform/outputs.tf +++ b/terraform/outputs.tf @@ -1,6 +1,9 @@ output "ansible_inventory" { value = templatefile("${path.module}/templates/inventory.tftpl", { - devops = hcloud_server.server_devops.ipv4_address, - k8s_servers = concat(tolist([hcloud_server.server_k8s_test.ipv4_address]), module.test_cluster.node_ipv6_addresses) + devops = hcloud_server.server_devops.ipv4_address, + k8s_servers = concat( + tolist([hcloud_server.server_k8s_test.ipv4_address]), + # module.test_cluster.node_ipv6_addresses + ) }) } \ No newline at end of file