feat: Add Traefik installation script and configure load balancer health checks

This commit is contained in:
jon brookes 2025-09-30 18:30:43 +01:00
parent ff815fa82c
commit 93a1299d5b
2 changed files with 126 additions and 0 deletions

View file

@ -81,6 +81,63 @@ resource "google_compute_disk" "app_data_disk" {
}
// load balancer ....
# resource "google_compute_health_check" "http_health_check" {
# name = "http-health-check"
# check_interval_sec = 5
# timeout_sec = 5
# healthy_threshold = 2
# unhealthy_threshold = 2
# http_health_check {
# port = 80
# }
# }
resource "google_compute_http_health_check" "http_health_check" {
name = "http-health-check"
request_path = "/"
port = 80
check_interval_sec = 5
timeout_sec = 5
healthy_threshold = 2
unhealthy_threshold = 2
}
# resource "google_compute_target_pool" "k3s_pool" {
# name = "k3s-target-pool"
# instances = [google_compute_instance.k3s.self_link]
# health_checks = [google_compute_health_check.http_health_check.self_link]
# }
resource "google_compute_target_pool" "k3s_pool" {
name = "k3s-target-pool"
instances = [google_compute_instance.k3s.self_link]
health_checks = [google_compute_http_health_check.http_health_check.self_link]
}
resource "google_compute_forwarding_rule" "http_forwarding_rule" {
name = "http-forwarding-rule"
target = google_compute_target_pool.k3s_pool.self_link
port_range = "80"
ip_protocol = "TCP"
load_balancing_scheme = "EXTERNAL"
}
resource "google_compute_forwarding_rule" "https_forwarding_rule" {
name = "https-forwarding-rule"
target = google_compute_target_pool.k3s_pool.self_link
port_range = "443"
ip_protocol = "TCP"
load_balancing_scheme = "EXTERNAL"
}
// ----------------------------------
@ -96,3 +153,8 @@ output "k3s_vm_public_ip" {
value = google_compute_instance.k3s.network_interface[0].access_config[0].nat_ip
description = "Ephemeral public IP of the k3s VM"
}
output "load_balancer_ip" {
value = google_compute_forwarding_rule.http_forwarding_rule.ip_address
description = "External IP address of the load balancer (HTTP)"
}