mirror of
https://github.com/2martens/terraform.git
synced 2026-10-17 18:26:50 +02:00
Provide dns record for each node and install argocd in high availability from 3 nodes onwards
This commit is contained in:
@@ -17,6 +17,21 @@ resource "null_resource" "install_setup" {
|
||||
depends_on = [null_resource.join_nodes, hcloud_server.manager]
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "argocd_a" {
|
||||
domain = var.domain
|
||||
name = format("%s.%s", "argocd", local.kube_api_server_domain)
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "argocd_aaaa" {
|
||||
domain = var.domain
|
||||
name = format("%s.%s", "argocd", local.kube_api_server_domain)
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv6 : hcloud_primary_ip.ipv6_manager_address[0].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "null_resource" "install_argocd_single" {
|
||||
count = var.number_nodes < 3 ? 1 : 0
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
resource "inwx_nameserver_record" "kube_api_server_a" {
|
||||
domain = var.domain
|
||||
name = local.kube_api_server_domain
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "kube_api_server_aaaa" {
|
||||
domain = var.domain
|
||||
name = local.kube_api_server_domain
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv6 : hcloud_primary_ip.ipv6_manager_address[0].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "argocd_a" {
|
||||
domain = var.domain
|
||||
name = format("%s.%s", "argocd", local.kube_api_server_domain)
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "argocd_aaaa" {
|
||||
domain = var.domain
|
||||
name = format("%s.%s", "argocd", local.kube_api_server_domain)
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv6 : hcloud_primary_ip.ipv6_manager_address[0].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
@@ -35,3 +35,17 @@ resource "hcloud_load_balancer_target" "nodes" {
|
||||
use_private_ip = true
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "kube_api_server_a" {
|
||||
domain = var.domain
|
||||
name = local.kube_api_server_domain
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "kube_api_server_aaaa" {
|
||||
domain = var.domain
|
||||
name = local.kube_api_server_domain
|
||||
content = var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv6 : hcloud_primary_ip.ipv6_manager_address[0].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
@@ -1,3 +1,13 @@
|
||||
resource "inwx_nameserver_record" "manager_aaaa" {
|
||||
count = var.number_nodes
|
||||
|
||||
domain = var.domain
|
||||
name = format("%s-%d.%s", "node", count.index, local.kube_api_server_domain)
|
||||
content = hcloud_primary_ip.ipv6_manager_address[count.index].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "ipv4_manager_address" {
|
||||
count = var.create_loadbalancer ? 0 : var.number_nodes
|
||||
|
||||
@@ -9,7 +19,7 @@ resource "hcloud_primary_ip" "ipv4_manager_address" {
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "ipv6_manager_address" {
|
||||
count = var.create_loadbalancer ? 0 : var.number_nodes
|
||||
count = var.number_nodes
|
||||
|
||||
name = format("%s_%s_%s_%d", "k8s", var.cluster_role, "ipv6", count.index)
|
||||
datacenter = element(var.locations.*.datacenter_name, count.index)
|
||||
@@ -37,8 +47,8 @@ resource "hcloud_server" "manager" {
|
||||
public_net {
|
||||
ipv4_enabled = var.create_loadbalancer ? false : true
|
||||
ipv4 = var.create_loadbalancer ? null : hcloud_primary_ip.ipv4_manager_address[count.index].id
|
||||
ipv6_enabled = var.create_loadbalancer ? false : true
|
||||
ipv6 = var.create_loadbalancer ? null : hcloud_primary_ip.ipv6_manager_address[count.index].id
|
||||
ipv6_enabled = true
|
||||
ipv6 = hcloud_primary_ip.ipv6_manager_address[count.index].id
|
||||
}
|
||||
ignore_remote_firewall_ids = false
|
||||
keep_disk = false
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
resource "inwx_nameserver_record" "worker_aaaa" {
|
||||
count = var.number_worker_nodes
|
||||
|
||||
domain = var.domain
|
||||
name = format("%s-%d.%s", "node", count.index, local.kube_api_server_domain)
|
||||
content = hcloud_primary_ip.ipv6_worker_address[count.index].ip_address
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "ipv6_worker_address" {
|
||||
count = var.number_worker_nodes
|
||||
|
||||
name = format("%s_%s_%s_%d", "k8s", var.cluster_role, "ipv6", count.index)
|
||||
datacenter = element(var.locations.*.datacenter_name, count.index)
|
||||
type = "ipv6"
|
||||
assignee_type = "server"
|
||||
auto_delete = false
|
||||
}
|
||||
|
||||
resource "hcloud_server_network" "worker_private" {
|
||||
count = var.number_worker_nodes
|
||||
|
||||
@@ -16,7 +36,8 @@ resource "hcloud_server" "worker" {
|
||||
location = element(var.locations.*.name, count.index)
|
||||
public_net {
|
||||
ipv4_enabled = false
|
||||
ipv6_enabled = false
|
||||
ipv6_enabled = true
|
||||
ipv6 = hcloud_primary_ip.ipv6_worker_address[count.index].id
|
||||
}
|
||||
ignore_remote_firewall_ids = false
|
||||
keep_disk = false
|
||||
|
||||
Reference in New Issue
Block a user