mirror of
https://github.com/vcscsvcscs/OCI-Kubernetes-cluster-with-traefik.git
synced 2025-08-12 13:59:09 +02:00
54 lines
1.7 KiB
HCL
54 lines
1.7 KiB
HCL
resource "oci_load_balancer_load_balancer" "k3s_load_balancer" {
|
|
lifecycle {
|
|
ignore_changes = [network_security_group_ids]
|
|
}
|
|
|
|
compartment_id = var.compartment_ocid
|
|
display_name = var.k3s_load_balancer_name
|
|
shape = var.public_lb_shape
|
|
subnet_ids = [oci_core_subnet.oci_core_subnet11.id]
|
|
|
|
freeform_tags = {
|
|
"provisioner" = "terraform"
|
|
"environment" = "${var.environment}"
|
|
"${var.unique_tag_key}" = "${var.unique_tag_value}"
|
|
}
|
|
|
|
ip_mode = "IPV4"
|
|
is_private = true
|
|
|
|
shape_details {
|
|
maximum_bandwidth_in_mbps = 10
|
|
minimum_bandwidth_in_mbps = 10
|
|
}
|
|
}
|
|
|
|
resource "oci_load_balancer_listener" "k3s_kube_api_listener" {
|
|
default_backend_set_name = oci_load_balancer_backend_set.k3s_kube_api_backend_set.name
|
|
load_balancer_id = oci_load_balancer_load_balancer.k3s_load_balancer.id
|
|
name = "K3s__kube_api_listener"
|
|
port = var.kube_api_port
|
|
protocol = "TCP"
|
|
}
|
|
|
|
resource "oci_load_balancer_backend_set" "k3s_kube_api_backend_set" {
|
|
health_checker {
|
|
protocol = "TCP"
|
|
port = var.kube_api_port
|
|
}
|
|
load_balancer_id = oci_load_balancer_load_balancer.k3s_load_balancer.id
|
|
name = "K3s__kube_api_backend_set"
|
|
policy = "ROUND_ROBIN"
|
|
}
|
|
|
|
resource "oci_load_balancer_backend" "k3s_kube_api_backend" {
|
|
depends_on = [
|
|
oci_core_instance_pool.k3s_servers,
|
|
]
|
|
|
|
count = var.k3s_server_pool_size
|
|
backendset_name = oci_load_balancer_backend_set.k3s_kube_api_backend_set.name
|
|
ip_address = data.oci_core_instance.k3s_servers_instances_ips[count.index].private_ip
|
|
load_balancer_id = oci_load_balancer_load_balancer.k3s_load_balancer.id
|
|
port = var.kube_api_port
|
|
} |