|
- resource "hcloud_server" "k8s-control" {
- count = var.node_count
- name = "k8s-control-${count.index}"
- image = var.os_type
- server_type = var.server_type
- location = var.location
- labels = {
- type = "control"
- }
- ssh_keys = [hcloud_ssh_key.default.id]
- user_data = templatefile(
- "user-data.yaml.tpl",
- {
- ssh_pubkey = file("../ssh-terraform-hetzner.pub")
- containerd_version = var.containerd_version
- docker_version = var.docker_version
- }
- )
- firewall_ids = [hcloud_firewall.k8s-node.id]
-
- network {
- network_id = hcloud_network.k8s-nodes.id
- }
-
- connection {
- type = "ssh"
- user = "root"
- host = self.ipv6_address # or ipv4_address if your ISP sucks
- private_key = file("../ssh-terraform-hetzner")
- }
-
- provisioner "remote-exec" {
- inline = [
- "cloud-init status --wait"
- ]
- }
- }
-
- resource "hcloud_server" "k8s-worker" {
- count = var.node_count
- name = "k8s-worker-${count.index}"
- image = var.os_type
- server_type = var.server_type
- location = var.location
- labels = {
- type = "worker"
- }
- ssh_keys = [hcloud_ssh_key.default.id]
- user_data = templatefile(
- "user-data.yaml.tpl",
- {
- ssh_pubkey = file("../ssh-terraform-hetzner.pub")
- containerd_version = var.containerd_version
- docker_version = var.docker_version
- }
- )
- firewall_ids = [hcloud_firewall.k8s-node.id]
-
- network {
- network_id = hcloud_network.k8s-nodes.id
- }
-
- connection {
- type = "ssh"
- user = "root"
- host = self.ipv6_address # or ipv4_address if your ISP sucks
- private_key = file("../ssh-terraform-hetzner")
- }
-
- provisioner "remote-exec" {
- inline = [
- "cloud-init status --wait"
- ]
- }
- }
|