3
3
#
4
4
5
5
locals {
6
- cluster_autoscaler_supported_k8s_versions = { " 1.21" = " 1.21.1-3" , " 1.22" = " 1.22.2-4" , " 1.23" = " 1.23.0-4" } # There's no API to get that list. Need to be updated manually
7
- cluster_autoscaler_image_version = lookup (local. cluster_autoscaler_supported_k8s_versions , local. k8s_major_minor_version , reverse (values (local. cluster_autoscaler_supported_k8s_versions ))[0 ])
8
- cluster_autoscaler_default_region = " us-ashburn-1"
9
- cluster_autoscaler_image_regions = [" us-ashburn-1" , " us-phoenix-1" , " uk-london-1" , " eu-frankfurt-1" ]
10
- cluster_autoscaler_image_region = contains (local. cluster_autoscaler_image_regions , var. region ) ? var. region : local. cluster_autoscaler_default_region
11
- cluster_autoscaler_image = " ${ local . cluster_autoscaler_image_region } .ocir.io/oracle/oci-cluster-autoscaler:${ local . cluster_autoscaler_image_version } "
12
- cluster_autoscaler_log_level_verbosity = 4
13
- cluster_autoscaler_node_pool = var. create_new_oke_cluster ? oci_containerengine_node_pool. oke_node_pool [0 ]. id : var. existent_oke_nodepool_id_for_autoscaler
14
- cluster_autoscaler_min_nodes = var. cluster_autoscaler_min_nodes
15
- cluster_autoscaler_max_nodes = var. cluster_autoscaler_max_nodes
6
+ cluster_autoscaler_supported_k8s_versions = { " 1.21" = " 1.21.1-3" , " 1.22" = " 1.22.2-4" , " 1.23" = " 1.23.0-4" } # There's no API to get that list. Need to be updated manually
7
+ cluster_autoscaler_image_version = lookup (local. cluster_autoscaler_supported_k8s_versions , local. k8s_major_minor_version , reverse (values (local. cluster_autoscaler_supported_k8s_versions ))[0 ])
8
+ cluster_autoscaler_default_region = " us-ashburn-1"
9
+ cluster_autoscaler_image_regions = [" us-ashburn-1" , " us-phoenix-1" , " uk-london-1" , " eu-frankfurt-1" ]
10
+ cluster_autoscaler_image_region = contains (local. cluster_autoscaler_image_regions , var. region ) ? var. region : local. cluster_autoscaler_default_region
11
+ cluster_autoscaler_image = " ${ local . cluster_autoscaler_image_region } .ocir.io/oracle/oci-cluster-autoscaler:${ local . cluster_autoscaler_image_version } "
12
+ cluster_autoscaler_log_level_verbosity = 4
13
+ cluster_autoscaler_node_pools = [for map in var . oke_node_pools [* ] : " --nodes=${ map . node_pool_min_nodes } :${ map . node_pool__max_nodes } :${ map . node_pool_id } " ]
14
+ # cluster_autoscaler_node_pool = var.create_new_oke_cluster ? oci_containerengine_node_pool.oke_node_pool[0].id : var.existent_oke_nodepool_id_for_autoscaler
15
+ # cluster_autoscaler_min_nodes = var.cluster_autoscaler_min_nodes
16
+ # cluster_autoscaler_max_nodes = var.cluster_autoscaler_max_nodes
16
17
cluster_autoscaler_max_node_provision_time = " 25m"
17
18
cluster_autoscaler_scale_down_delay_after_add = " 10m"
18
19
cluster_autoscaler_scale_down_unneeded_time = " 10m"
19
20
cluster_autoscaler_unremovable_node_recheck_timeout = " 5m"
20
- cluster_autoscaler_enabled = alltrue ([contains (keys (local. cluster_autoscaler_supported_k8s_versions ), local. k8s_major_minor_version ), var . create_new_oke_cluster ]) ? var. cluster_autoscaler_enabled : false
21
+ cluster_autoscaler_enabled = alltrue ([contains (keys (local. cluster_autoscaler_supported_k8s_versions ), local. k8s_major_minor_version )]) ? var. cluster_autoscaler_enabled : false
21
22
k8s_major_minor_version = regex (" \\ d+(?:\\ .(?:\\ d+|x)(?:))" , (var. k8s_version == " Latest" ) ? local. node_pool_k8s_latest_version : var. k8s_version )
22
23
}
23
24
@@ -33,8 +34,6 @@ resource "kubernetes_service_account" "cluster_autoscaler_sa" {
33
34
}
34
35
automount_service_account_token = true
35
36
36
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
37
-
38
37
count = local. cluster_autoscaler_enabled ? 1 : 0
39
38
}
40
39
resource "kubernetes_cluster_role" "cluster_autoscaler_cr" {
@@ -114,8 +113,6 @@ resource "kubernetes_cluster_role" "cluster_autoscaler_cr" {
114
113
verbs = [" get" , " update" ]
115
114
}
116
115
117
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
118
-
119
116
count = local. cluster_autoscaler_enabled ? 1 : 0
120
117
}
121
118
resource "kubernetes_role" "cluster_autoscaler_role" {
@@ -140,8 +137,6 @@ resource "kubernetes_role" "cluster_autoscaler_role" {
140
137
verbs = [" delete" , " get" , " update" , " watch" ]
141
138
}
142
139
143
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
144
-
145
140
count = local. cluster_autoscaler_enabled ? 1 : 0
146
141
}
147
142
resource "kubernetes_cluster_role_binding" "cluster_autoscaler_crb" {
@@ -164,8 +159,6 @@ resource "kubernetes_cluster_role_binding" "cluster_autoscaler_crb" {
164
159
namespace = " kube-system"
165
160
}
166
161
167
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
168
-
169
162
count = local. cluster_autoscaler_enabled ? 1 : 0
170
163
}
171
164
resource "kubernetes_role_binding" "cluster_autoscaler_rb" {
@@ -189,8 +182,6 @@ resource "kubernetes_role_binding" "cluster_autoscaler_rb" {
189
182
namespace = " kube-system"
190
183
}
191
184
192
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
193
-
194
185
count = local. cluster_autoscaler_enabled ? 1 : 0
195
186
}
196
187
resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
@@ -239,13 +230,12 @@ resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
239
230
memory = " 300Mi"
240
231
}
241
232
}
242
- command = [
233
+ command = concat ( [
243
234
" ./cluster-autoscaler" ,
244
235
" --v=${ local . cluster_autoscaler_log_level_verbosity } " ,
245
236
" --stderrthreshold=info" ,
246
237
" --cloud-provider=oci" ,
247
238
" --max-node-provision-time=${ local . cluster_autoscaler_max_node_provision_time } " ,
248
- " --nodes=${ local . cluster_autoscaler_min_nodes } :${ local . cluster_autoscaler_max_nodes } :${ local . cluster_autoscaler_node_pool } " ,
249
239
" --scale-down-delay-after-add=${ local . cluster_autoscaler_scale_down_delay_after_add } " ,
250
240
" --scale-down-unneeded-time=${ local . cluster_autoscaler_scale_down_unneeded_time } " ,
251
241
" --unremovable-node-recheck-timeout=${ local . cluster_autoscaler_unremovable_node_recheck_timeout } " ,
@@ -254,7 +244,8 @@ resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
254
244
" --balancing-ignore-label=hostname" ,
255
245
" --balancing-ignore-label=internal_addr" ,
256
246
" --balancing-ignore-label=oci.oraclecloud.com/fault-domain"
257
- ]
247
+ ],
248
+ local. cluster_autoscaler_node_pools )
258
249
image_pull_policy = " Always"
259
250
env {
260
251
name = " OKE_USE_INSTANCE_PRINCIPAL"
@@ -271,7 +262,5 @@ resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
271
262
272
263
wait_for_rollout = false
273
264
274
- depends_on = [oci_containerengine_node_pool . oke_node_pool ]
275
-
276
265
count = local. cluster_autoscaler_enabled ? 1 : 0
277
266
}
0 commit comments