Skip to content

Commit 08f15f7

Browse files
authored
Updated to create separate LoadBalancer for *.apps (ingress) (#67)
* Updated to create separate LoadBalancer for *.apps (ingress)
1 parent 5aae0b0 commit 08f15f7

File tree

13 files changed

+79
-37
lines changed

13 files changed

+79
-37
lines changed

terraform-stacks/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,4 +160,4 @@ It is recommended but not required to create and reuse tags for your OpenShift c
160160
- "compute"
161161
- "boot-volume-type"
162162
- "PARAVIRTUALIZED"
163-
- "ISCSI"
163+
- "ISCSI"

terraform-stacks/add-nodes/data.tf

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,29 @@ data "oci_identity_tag_namespaces" "openshift_tag_namespace" {
99
}
1010
}
1111

12-
data "oci_load_balancer_load_balancers" "openshift_api_apps_lb" {
12+
data "oci_load_balancer_load_balancers" "openshift_api_lb" {
1313
compartment_id = var.compartment_ocid
14-
display_name = "${var.cluster_name}-openshift_api_apps_lb"
14+
display_name = "${var.cluster_name}-openshift_api_lb"
15+
}
16+
17+
data "oci_load_balancer_load_balancers" "openshift_apps_lb" {
18+
compartment_id = var.compartment_ocid
19+
display_name = "${var.cluster_name}-openshift_apps_lb"
1520
}
1621

1722
data "oci_load_balancer_load_balancers" "openshift_api_int_lb" {
1823
compartment_id = var.compartment_ocid
1924
display_name = "${var.cluster_name}-openshift_api_int_lb"
2025
}
2126

22-
data "oci_load_balancer_backends" "openshift_api_apps_api_backend" {
27+
data "oci_load_balancer_backends" "openshift_api_backend" {
2328
backendset_name = "openshift_cluster_api_backend"
24-
load_balancer_id = data.oci_load_balancer_load_balancers.openshift_api_apps_lb.load_balancers[0].id
29+
load_balancer_id = data.oci_load_balancer_load_balancers.openshift_api_lb.load_balancers[0].id
2530
}
2631

27-
data "oci_load_balancer_backends" "openshift_api_apps_ingress_http" {
32+
data "oci_load_balancer_backends" "openshift_apps_ingress_http" {
2833
backendset_name = "openshift_cluster_ingress_http"
29-
load_balancer_id = data.oci_load_balancer_load_balancers.openshift_api_apps_lb.load_balancers[0].id
34+
load_balancer_id = data.oci_load_balancer_load_balancers.openshift_apps_lb.load_balancers[0].id
3035
}
3136

3237
data "oci_core_vcns" "cluster_vcn" {

terraform-stacks/add-nodes/locals.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ locals {
1616
is_control_plane_iscsi_type = can(regex("^BM\\..*$", var.control_plane_shape))
1717
is_compute_iscsi_type = can(regex("^BM\\..*$", var.compute_shape))
1818

19-
current_cp_count = length(data.oci_load_balancer_backends.openshift_api_apps_api_backend.backends)
20-
current_compute_count = length(data.oci_load_balancer_backends.openshift_api_apps_ingress_http.backends) - local.current_cp_count
19+
current_cp_count = length(data.oci_load_balancer_backends.openshift_api_backend.backends)
20+
current_compute_count = length(data.oci_load_balancer_backends.openshift_apps_ingress_http.backends) - local.current_cp_count
2121

2222
day_2_image_name = format("%s-day-2", var.cluster_name)
2323

terraform-stacks/add-nodes/main.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ module "compute" {
104104

105105
// Depedency on loadbalancer
106106
op_lb_openshift_api_int_lb = data.oci_load_balancer_load_balancers.openshift_api_int_lb.load_balancers[0].id
107-
op_lb_openshift_api_apps_lb = data.oci_load_balancer_load_balancers.openshift_api_apps_lb.load_balancers[0].id
107+
op_lb_openshift_api_lb = data.oci_load_balancer_load_balancers.openshift_api_lb.load_balancers[0].id
108+
op_lb_openshift_apps_lb = data.oci_load_balancer_load_balancers.openshift_apps_lb.load_balancers[0].id
108109
op_lb_bs_openshift_cluster_api_backend_set_external = "openshift_cluster_api_backend"
109110
op_lb_bs_openshift_cluster_ingress_http_backend_set = "openshift_cluster_ingress_http"
110111
op_lb_bs_openshift_cluster_ingress_https_backend_set = "openshift_cluster_ingress_https"

terraform-stacks/create-cluster/main.tf

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@ module "compute" {
163163

164164
// Depedency on loadbalancer
165165
op_lb_openshift_api_int_lb = module.load_balancer.op_lb_openshift_api_int_lb
166-
op_lb_openshift_api_apps_lb = module.load_balancer.op_lb_openshift_api_apps_lb
166+
op_lb_openshift_api_lb = module.load_balancer.op_lb_openshift_api_lb
167+
op_lb_openshift_apps_lb = module.load_balancer.op_lb_openshift_apps_lb
167168
op_lb_bs_openshift_cluster_api_backend_set_external = module.load_balancer.op_lb_bs_openshift_cluster_api_backend_set_external
168169
op_lb_bs_openshift_cluster_ingress_http_backend_set = module.load_balancer.op_lb_bs_openshift_cluster_ingress_http_backend_set
169170
op_lb_bs_openshift_cluster_ingress_https_backend_set = module.load_balancer.op_lb_bs_openshift_cluster_ingress_https_backend_set
@@ -186,8 +187,9 @@ module "dns" {
186187
defined_tags = module.resource_attribution_tags.openshift_resource_attribution_tag
187188

188189
// Depedency on load balancer
189-
op_lb_openshift_api_int_lb_ip_addr = module.load_balancer.op_lb_openshift_api_int_lb_ip_addr
190-
op_lb_openshift_api_apps_lb_ip_addr = module.load_balancer.op_lb_openshift_api_apps_lb_ip_addr
190+
op_lb_openshift_api_int_lb_ip_addr = module.load_balancer.op_lb_openshift_api_int_lb_ip_addr
191+
op_lb_openshift_api_lb_ip_addr = module.load_balancer.op_lb_openshift_api_lb_ip_addr
192+
op_lb_openshift_apps_lb_ip_addr = module.load_balancer.op_lb_openshift_apps_lb_ip_addr
191193

192194
// Depedency on networks
193195
op_vcn_openshift_vcn = module.network.op_vcn_openshift_vcn

terraform-stacks/create-cluster/output.tf

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ output "open_shift_api_int_lb_addr" {
22
value = module.load_balancer.op_lb_openshift_api_int_lb_ip_addr
33
}
44

5-
output "open_shift_api_apps_lb_addr" {
6-
value = module.load_balancer.op_lb_openshift_api_apps_lb_ip_addr
5+
output "open_shift_api_lb_addr" {
6+
value = module.load_balancer.op_lb_openshift_api_lb_ip_addr
7+
}
8+
9+
output "open_shift_apps_lb_addr" {
10+
value = module.load_balancer.op_lb_openshift_apps_lb_ip_addr
711
}
812

913
output "oci_ccm_config" {

terraform-stacks/shared_modules/compute/backends.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33

44
resource "oci_load_balancer_backend" "openshift_cluster_api_backend_set_external_backends" {
55
for_each = var.create_openshift_instances ? var.cp_node_map : {}
6-
load_balancer_id = var.op_lb_openshift_api_apps_lb
6+
load_balancer_id = var.op_lb_openshift_api_lb
77
backendset_name = var.op_lb_bs_openshift_cluster_api_backend_set_external
88
port = 6443
99
ip_address = var.is_control_plane_iscsi_type ? data.oci_core_vnic.control_plane_secondary_vnic[each.key].private_ip_address : data.oci_core_vnic.control_plane_primary_vnic[each.key].private_ip_address
1010
}
1111

1212
resource "oci_load_balancer_backend" "openshift_cp_cluster_ingress_https_backend_set_backends" {
1313
for_each = var.create_openshift_instances ? var.cp_node_map : {}
14-
load_balancer_id = var.op_lb_openshift_api_apps_lb
14+
load_balancer_id = var.op_lb_openshift_apps_lb
1515
backendset_name = var.op_lb_bs_openshift_cluster_ingress_https_backend_set
1616
port = 443
1717
ip_address = var.is_control_plane_iscsi_type ? data.oci_core_vnic.control_plane_secondary_vnic[each.key].private_ip_address : data.oci_core_vnic.control_plane_primary_vnic[each.key].private_ip_address
1818
}
1919

2020
resource "oci_load_balancer_backend" "openshift_cp_cluster_ingress_http_backend_set_backends" {
2121
for_each = var.create_openshift_instances ? var.cp_node_map : {}
22-
load_balancer_id = var.op_lb_openshift_api_apps_lb
22+
load_balancer_id = var.op_lb_openshift_apps_lb
2323
backendset_name = var.op_lb_bs_openshift_cluster_ingress_http_backend_set
2424
port = 80
2525
ip_address = var.is_control_plane_iscsi_type ? data.oci_core_vnic.control_plane_secondary_vnic[each.key].private_ip_address : data.oci_core_vnic.control_plane_primary_vnic[each.key].private_ip_address
@@ -51,15 +51,15 @@ resource "oci_load_balancer_backend" "openshift_cluster_infra-mcs_backend_set_2_
5151

5252
resource "oci_load_balancer_backend" "openshift_cluster_ingress_https_backend_set_backends" {
5353
for_each = var.create_openshift_instances ? var.compute_node_map : {}
54-
load_balancer_id = var.op_lb_openshift_api_apps_lb
54+
load_balancer_id = var.op_lb_openshift_apps_lb
5555
backendset_name = var.op_lb_bs_openshift_cluster_ingress_https_backend_set
5656
port = 443
5757
ip_address = var.is_compute_iscsi_type ? data.oci_core_vnic.compute_secondary_vnic[each.key].private_ip_address : data.oci_core_vnic.compute_primary_vnic[each.key].private_ip_address
5858
}
5959

6060
resource "oci_load_balancer_backend" "openshift_cluster_ingress_http_backend_set_backends" {
6161
for_each = var.create_openshift_instances ? var.compute_node_map : {}
62-
load_balancer_id = var.op_lb_openshift_api_apps_lb
62+
load_balancer_id = var.op_lb_openshift_apps_lb
6363
backendset_name = var.op_lb_bs_openshift_cluster_ingress_http_backend_set
6464
port = 80
6565
ip_address = var.is_compute_iscsi_type ? data.oci_core_vnic.compute_secondary_vnic[each.key].private_ip_address : data.oci_core_vnic.compute_primary_vnic[each.key].private_ip_address

terraform-stacks/shared_modules/compute/variables.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ variable "op_lb_openshift_api_int_lb" {
9898
type = string
9999
}
100100

101-
variable "op_lb_openshift_api_apps_lb" {
101+
variable "op_lb_openshift_api_lb" {
102+
type = string
103+
}
104+
105+
variable "op_lb_openshift_apps_lb" {
102106
type = string
103107
}
104108

terraform-stacks/shared_modules/dns/main.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ resource "oci_dns_zone" "openshift" {
1515
view_id = var.enable_private_dns ? data.oci_dns_resolver.dns_resolver.default_view_id : null
1616
zone_type = "PRIMARY"
1717
defined_tags = var.defined_tags
18-
depends_on = [var.op_lb_openshift_api_apps_lb_ip_addr, var.op_lb_openshift_api_int_lb_ip_addr]
18+
depends_on = [var.op_lb_openshift_api_lb_ip_addr, var.op_lb_openshift_apps_lb_ip_addr, var.op_lb_openshift_api_int_lb_ip_addr]
1919
}
2020

2121
resource "oci_dns_rrset" "openshift_api" {
2222
domain = "api.${var.cluster_name}.${var.zone_dns}"
2323
items {
2424
domain = "api.${var.cluster_name}.${var.zone_dns}"
25-
rdata = var.op_lb_openshift_api_apps_lb_ip_addr
25+
rdata = var.op_lb_openshift_api_lb_ip_addr
2626
rtype = "A"
2727
ttl = "3600"
2828
}
@@ -34,7 +34,7 @@ resource "oci_dns_rrset" "openshift_apps" {
3434
domain = "*.apps.${var.cluster_name}.${var.zone_dns}"
3535
items {
3636
domain = "*.apps.${var.cluster_name}.${var.zone_dns}"
37-
rdata = var.op_lb_openshift_api_apps_lb_ip_addr
37+
rdata = var.op_lb_openshift_apps_lb_ip_addr
3838
rtype = "A"
3939
ttl = "3600"
4040
}

terraform-stacks/shared_modules/dns/variables.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ variable "op_lb_openshift_api_int_lb_ip_addr" {
2222
type = string
2323
}
2424

25-
variable "op_lb_openshift_api_apps_lb_ip_addr" {
25+
variable "op_lb_openshift_api_lb_ip_addr" {
26+
type = string
27+
}
28+
29+
variable "op_lb_openshift_apps_lb_ip_addr" {
2630
type = string
2731
}
2832

terraform-stacks/shared_modules/lb/lb-backend.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ resource "oci_load_balancer_backend_set" "openshift_cluster_api_backend_set_exte
99
retries = 3
1010
}
1111
name = "openshift_cluster_api_backend"
12-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
12+
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_lb.id
1313
policy = "LEAST_CONNECTIONS"
1414
}
1515

1616
resource "oci_load_balancer_listener" "openshift_cluster_api_listener_external" {
1717
default_backend_set_name = oci_load_balancer_backend_set.openshift_cluster_api_backend_set_external.name
1818
name = "openshift_cluster_api_listener"
19-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
19+
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_lb.id
2020
port = 6443
2121
protocol = "TCP"
2222
}
@@ -30,14 +30,14 @@ resource "oci_load_balancer_backend_set" "openshift_cluster_ingress_http_backend
3030
retries = 3
3131
}
3232
name = "openshift_cluster_ingress_http"
33-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
33+
load_balancer_id = oci_load_balancer_load_balancer.openshift_apps_lb.id
3434
policy = "LEAST_CONNECTIONS"
3535
}
3636

3737
resource "oci_load_balancer_listener" "openshift_cluster_ingress_http" {
3838
default_backend_set_name = oci_load_balancer_backend_set.openshift_cluster_ingress_http_backend_set.name
3939
name = "openshift_cluster_ingress_http"
40-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
40+
load_balancer_id = oci_load_balancer_load_balancer.openshift_apps_lb.id
4141
port = 80
4242
protocol = "TCP"
4343
}
@@ -51,14 +51,14 @@ resource "oci_load_balancer_backend_set" "openshift_cluster_ingress_https_backen
5151
retries = 3
5252
}
5353
name = "openshift_cluster_ingress_https"
54-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
54+
load_balancer_id = oci_load_balancer_load_balancer.openshift_apps_lb.id
5555
policy = "LEAST_CONNECTIONS"
5656
}
5757

5858
resource "oci_load_balancer_listener" "openshift_cluster_ingress_https" {
5959
default_backend_set_name = oci_load_balancer_backend_set.openshift_cluster_ingress_https_backend_set.name
6060
name = "openshift_cluster_ingress_https"
61-
load_balancer_id = oci_load_balancer_load_balancer.openshift_api_apps_lb.id
61+
load_balancer_id = oci_load_balancer_load_balancer.openshift_apps_lb.id
6262
port = 443
6363
protocol = "TCP"
6464
}

terraform-stacks/shared_modules/lb/main.tf

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,23 @@ resource "oci_load_balancer_load_balancer" "openshift_api_int_lb" {
2222
defined_tags = var.defined_tags
2323
}
2424

25-
resource "oci_load_balancer_load_balancer" "openshift_api_apps_lb" {
25+
resource "oci_load_balancer_load_balancer" "openshift_api_lb" {
2626
compartment_id = var.compartment_ocid
27-
display_name = "${var.cluster_name}-openshift_api_apps_lb"
27+
display_name = "${var.cluster_name}-openshift_api_lb"
28+
shape = "flexible"
29+
subnet_ids = var.enable_private_dns ? [var.op_subnet_private_opc] : [var.op_subnet_public]
30+
is_private = var.enable_private_dns ? true : false
31+
network_security_group_ids = [var.op_network_security_group_cluster_lb_nsg]
32+
shape_details {
33+
maximum_bandwidth_in_mbps = var.load_balancer_shape_details_maximum_bandwidth_in_mbps
34+
minimum_bandwidth_in_mbps = var.load_balancer_shape_details_minimum_bandwidth_in_mbps
35+
}
36+
defined_tags = var.defined_tags
37+
}
38+
39+
resource "oci_load_balancer_load_balancer" "openshift_apps_lb" {
40+
compartment_id = var.compartment_ocid
41+
display_name = "${var.cluster_name}-openshift_apps_lb"
2842
shape = "flexible"
2943
subnet_ids = var.enable_private_dns ? [var.op_subnet_private_opc] : [var.op_subnet_public]
3044
is_private = var.enable_private_dns ? true : false

terraform-stacks/shared_modules/lb/output.tf

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@ output "op_lb_openshift_api_int_lb" {
44
value = try(oci_load_balancer_load_balancer.openshift_api_int_lb.id, null)
55
}
66

7-
output "op_lb_openshift_api_apps_lb" {
8-
value = try(oci_load_balancer_load_balancer.openshift_api_apps_lb.id, null)
7+
output "op_lb_openshift_api_lb" {
8+
value = try(oci_load_balancer_load_balancer.openshift_api_lb.id, null)
9+
}
10+
11+
output "op_lb_openshift_apps_lb" {
12+
value = try(oci_load_balancer_load_balancer.openshift_apps_lb.id, null)
913
}
1014

1115
// Output the IP addresses
@@ -14,8 +18,12 @@ output "op_lb_openshift_api_int_lb_ip_addr" {
1418
value = try(oci_load_balancer_load_balancer.openshift_api_int_lb.ip_address_details[0].ip_address, null)
1519
}
1620

17-
output "op_lb_openshift_api_apps_lb_ip_addr" {
18-
value = try(oci_load_balancer_load_balancer.openshift_api_apps_lb.ip_address_details[0].ip_address, null)
21+
output "op_lb_openshift_api_lb_ip_addr" {
22+
value = try(oci_load_balancer_load_balancer.openshift_api_lb.ip_address_details[0].ip_address, null)
23+
}
24+
25+
output "op_lb_openshift_apps_lb_ip_addr" {
26+
value = try(oci_load_balancer_load_balancer.openshift_apps_lb.ip_address_details[0].ip_address, null)
1927
}
2028

2129
// Output the backend set names

0 commit comments

Comments
 (0)