Skip to content

Commit 42dd9bf

Browse files
Ingress (#16)
* remove headless services, add ingress objects * typo
1 parent 90e32ef commit 42dd9bf

File tree

9 files changed

+141
-152
lines changed

9 files changed

+141
-152
lines changed

main.tf

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,27 @@ module "zookeeper" {
4040
module "druid" {
4141
source = "./modules/druid"
4242

43-
namespace = kubernetes_namespace.druid.metadata.0.name
44-
druid_image = local.druid_image
45-
broker_replicas = var.broker_replicas
46-
coordinator_replicas = var.coordinator_replicas
47-
historical_replicas = var.historical_replicas
48-
middlemanager_replicas = var.middlemanager_replicas
49-
overlord_replicas = var.overlord_replicas
50-
router_replicas = var.router_replicas
43+
namespace = kubernetes_namespace.druid.metadata.0.name
44+
druid_image = local.druid_image
45+
46+
broker_replicas = var.broker_replicas
47+
coordinator_replicas = var.coordinator_replicas
48+
historical_replicas = var.historical_replicas
49+
middlemanager_replicas = var.middlemanager_replicas
50+
overlord_replicas = var.overlord_replicas
51+
router_replicas = var.router_replicas
52+
5153
tolerations_broker = var.tolerations_broker
5254
tolerations_coordinator = var.tolerations_coordinator
5355
tolerations_historical = var.tolerations_historical
5456
tolerations_middlemanager = var.tolerations_middlemanager
5557
tolerations_overlord = var.tolerations_overlord
5658
tolerations_router = var.tolerations_router
59+
60+
enable_brokers_ingress = var.enable_brokers_ingress
61+
brokers_annotations_ingress = var.brokers_annotations_ingress
62+
brokers_host = var.brokers_host
63+
enable_router_ingress = var.enable_router_ingress
64+
router_annotations_ingress = var.router_annotations_ingress
65+
router_host = var.router_host
5766
}

modules/druid/broker.tf

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "broker_hs" {
2-
metadata {
3-
name = "broker-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "broker"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "broker"
14-
port = 8082
15-
}
16-
17-
selector = {
18-
app = "broker"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "broker_cs" {
262
metadata {
273
name = "broker-cs"
@@ -204,3 +180,28 @@ resource "kubernetes_deployment" "broker" {
204180
}
205181
}
206182
}
183+
184+
resource "kubernetes_ingress" "brokers" {
185+
count = var.enable_brokers_ingress ? 1 : 0
186+
187+
metadata {
188+
name = "brokers"
189+
namespace = var.namespace
190+
annotations = var.brokers_annotations_ingress
191+
}
192+
193+
spec {
194+
rule {
195+
host = var.brokers_host
196+
http {
197+
path {
198+
path = "/"
199+
backend {
200+
service_name = kubernetes_service.broker_cs.metadata.0.name
201+
service_port = kubernetes_service.broker_cs.spec.0.port.0.port
202+
}
203+
}
204+
}
205+
}
206+
}
207+
}

modules/druid/coordinator.tf

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "coordinator_hs" {
2-
metadata {
3-
name = "coordinator-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "coordinator"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "coordinator"
14-
port = 8081
15-
}
16-
17-
selector = {
18-
app = "coordinator"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "coordinator_cs" {
262
metadata {
273
name = "coordinator-cs"

modules/druid/historical.tf

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "historical_hs" {
2-
metadata {
3-
name = "historical-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "historical"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "historical"
14-
port = 8083
15-
}
16-
17-
selector = {
18-
app = "historical"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "historical_cs" {
262
metadata {
273
name = "historical-cs"

modules/druid/middlemanager.tf

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "mm_hs" {
2-
metadata {
3-
name = "mm-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "middlemanager"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "mm"
14-
port = 8084
15-
}
16-
17-
selector = {
18-
app = "middlemanager"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "mm_cs" {
262
metadata {
273
name = "mm-cs"

modules/druid/overlord.tf

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "overlord_hs" {
2-
metadata {
3-
name = "overlord-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "overlord"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "overlord"
14-
port = 8090
15-
}
16-
17-
selector = {
18-
app = "overlord"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "overlord_cs" {
262
metadata {
273
name = "overlord-cs"

modules/druid/router.tf

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
resource "kubernetes_service" "router_hs" {
2-
metadata {
3-
name = "router-hs"
4-
namespace = var.namespace
5-
6-
labels = {
7-
app = "router"
8-
}
9-
}
10-
11-
spec {
12-
port {
13-
name = "router"
14-
port = 8888
15-
}
16-
17-
selector = {
18-
app = "router"
19-
}
20-
21-
cluster_ip = "None"
22-
}
23-
}
24-
251
resource "kubernetes_service" "router_cs" {
262
metadata {
273
name = "router-cs"
@@ -189,3 +165,28 @@ resource "kubernetes_deployment" "router" {
189165
}
190166
}
191167
}
168+
169+
resource "kubernetes_ingress" "router" {
170+
count = var.enable_router_ingress ? 1 : 0
171+
172+
metadata {
173+
name = "router"
174+
namespace = var.namespace
175+
annotations = var.router_annotations_ingress
176+
}
177+
178+
spec {
179+
rule {
180+
host = var.router_host
181+
http {
182+
path {
183+
path = "/"
184+
backend {
185+
service_name = kubernetes_service.router_cs.metadata.0.name
186+
service_port = kubernetes_service.router_cs.spec.0.port.0.port
187+
}
188+
}
189+
}
190+
}
191+
}
192+
}

modules/druid/variables.tf

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,40 @@ variable "tolerations_router" {
105105
value = string
106106
}))
107107
}
108+
109+
// ingress
110+
variable "enable_brokers_ingress" {
111+
description = "enable the ingress object for the brokers for external access"
112+
type = bool
113+
default = false
114+
}
115+
116+
variable "brokers_annotations_ingress" {
117+
description = "list of annotations to add in the ingress object"
118+
type = map(string)
119+
default = {}
120+
}
121+
122+
variable "brokers_host" {
123+
description = "host to use for accessing the brokers"
124+
type = string
125+
default = ""
126+
}
127+
128+
variable "enable_router_ingress" {
129+
description = "enable the ingress object for the router for external access"
130+
type = bool
131+
default = false
132+
}
133+
134+
variable "router_annotations_ingress" {
135+
description = "list of annotations to add in the ingress object"
136+
type = map(string)
137+
default = {}
138+
}
139+
140+
variable "router_host" {
141+
description = "host to use for accessing the router"
142+
type = string
143+
default = ""
144+
}

variables.tf

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,43 @@ variable "tolerations_router" {
131131
default = []
132132
}
133133

134+
// Druid Ingress objects
135+
variable "enable_brokers_ingress" {
136+
description = "enable the ingress object for the brokers for external access"
137+
type = bool
138+
default = false
139+
}
140+
141+
variable "brokers_annotations_ingress" {
142+
description = "list of annotations to add in the ingress object"
143+
type = map(string)
144+
default = {}
145+
}
146+
147+
variable "brokers_host" {
148+
description = "host to use for accessing the brokers"
149+
type = string
150+
default = ""
151+
}
152+
153+
variable "enable_router_ingress" {
154+
description = "enable the ingress object for the router for external access"
155+
type = bool
156+
default = false
157+
}
158+
159+
variable "router_annotations_ingress" {
160+
description = "list of annotations to add in the ingress object"
161+
type = map(string)
162+
default = {}
163+
}
164+
165+
variable "router_host" {
166+
description = "host to use for accessing the router"
167+
type = string
168+
default = ""
169+
}
170+
134171
// Zookeeper variables
135172
variable "create_zookeeper" {
136173
description = "Controls if Zookeeper resources should be created (it affects almost all resources)"

0 commit comments

Comments
 (0)