mirror of
https://github.com/2martens/terraform.git
synced 2026-10-17 19:26:51 +02:00
change: Add services for load balancer and move configuration into separate file
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
resource "hcloud_load_balancer" "docker" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_type = var.loadbalancer_type
|
||||
name = format("%s_%s", "docker", var.stage_name)
|
||||
location = var.locations[count.index].name
|
||||
network_zone = var.locations[count.index].network_zone
|
||||
algorithm {
|
||||
type = "round_robin"
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_network" "private" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_id = hcloud_load_balancer.docker[count.index].id
|
||||
subnet_id = var.server_subnet_id
|
||||
ip = var.loadbalancer_ip
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_target" "nodes" {
|
||||
count = var.number_nodes > 1 ? var.number_nodes : 0
|
||||
|
||||
type = "server"
|
||||
load_balancer_id = hcloud_load_balancer.docker[0].id
|
||||
server_id = hcloud_server.node[count.index].id
|
||||
use_private_ip = true
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_service" "http" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_id = hcloud_load_balancer.docker[count.index].id
|
||||
protocol = "http"
|
||||
listen_port = 80
|
||||
destination_port = 80
|
||||
|
||||
http {
|
||||
sticky_sessions = true
|
||||
cookie_name = "selected_node_for_session"
|
||||
cookie_ttl = 3600
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_service" "https" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_id = hcloud_load_balancer.docker[count.index].id
|
||||
protocol = "https"
|
||||
listen_port = 443
|
||||
destination_port = 443
|
||||
|
||||
http {
|
||||
sticky_sessions = true
|
||||
cookie_name = "selected_node_for_session"
|
||||
cookie_ttl = 3600
|
||||
}
|
||||
}
|
||||
@@ -5,32 +5,3 @@ data "hcloud_placement_group" "default" {
|
||||
locals {
|
||||
docker_network_domain = format("%s.%s.%s", "docker", var.stage_name, var.domain)
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer" "docker" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_type = var.loadbalancer_type
|
||||
name = format("%s_%s", "docker", var.stage_name)
|
||||
location = var.locations[count.index].name
|
||||
network_zone = var.locations[count.index].network_zone
|
||||
algorithm {
|
||||
type = "round_robin"
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_network" "private" {
|
||||
count = var.number_nodes > 1 ? 1 : 0
|
||||
|
||||
load_balancer_id = hcloud_load_balancer.docker[count.index].id
|
||||
subnet_id = var.server_subnet_id
|
||||
ip = var.loadbalancer_ip
|
||||
}
|
||||
|
||||
resource "hcloud_load_balancer_target" "nodes" {
|
||||
count = var.number_nodes > 1 ? var.number_nodes : 0
|
||||
|
||||
type = "server"
|
||||
load_balancer_id = hcloud_load_balancer.docker[0].id
|
||||
server_id = hcloud_server.node[count.index].id
|
||||
use_private_ip = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user