Skip to content

Commit

Permalink
feat(infra): install k3s to additional managers
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsimonemms committed Jun 16, 2024
1 parent b569344 commit ca09690
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
1 change: 1 addition & 0 deletions infrastructure/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ No modules.
| [hcloud_placement_group.kubernetes](https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/placement_group) | resource |
| [hcloud_server.manager](https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/server) | resource |
| [hcloud_ssh_key.server](https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/ssh_key) | resource |
| [ssh_resource.additional_manager](https://registry.terraform.io/providers/loafoe/ssh/2.7.0/docs/resources/resource) | resource |
| [ssh_resource.initial_manager](https://registry.terraform.io/providers/loafoe/ssh/2.7.0/docs/resources/resource) | resource |
| [ssh_resource.server_ready](https://registry.terraform.io/providers/loafoe/ssh/2.7.0/docs/resources/resource) | resource |
| [ssh_sensitive_resource.join_token](https://registry.terraform.io/providers/loafoe/ssh/2.7.0/docs/resources/sensitive_resource) | resource |
Expand Down
44 changes: 44 additions & 0 deletions infrastructure/k3s.tf
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,47 @@ resource "ssh_sensitive_resource" "kubeconfig" {
ssh_resource.initial_manager
]
}

resource "ssh_resource" "additional_manager" {
count = var.k3s_manager_count - 1

host = hcloud_server.manager[count.index + 1].ipv4_address
user = local.machine_user
private_key = file(var.ssh_key)

commands = [
format(
"curl -sfL %s | INSTALL_K3S_EXEC=\"%s\" %s sh -",
var.k3s_download_url,
// Install configuration
join(" ", [
"server",
"--write-kubeconfig-mode=0644",
"--disable servicelb",
"--disable traefik",
format("--tls-san=%s", local.k3s_tls_san),
format("--node-name=%s", hcloud_server.manager[count.index + 1].name),
format("--node-external-ip=%s", hcloud_server.manager[count.index + 1].ipv4_address),
format("--node-ip=%s", tolist(hcloud_server.manager[count.index + 1].network)[0].ip),
format("--advertise-address=%s", tolist(hcloud_server.manager[count.index + 1].network)[0].ip),
]),
// Other k3s configuration
join(" ", [
format("K3S_URL=%s", local.k3s_initial_manager_private_ip),
format("K3S_TOKEN=%s", local.k3s_join_token)
])
)
]

timeout = "5m"
retry_delay = "5s"


triggers = {
always_run = timestamp()
}

depends_on = [
ssh_resource.initial_manager
]
}

0 comments on commit ca09690

Please sign in to comment.