@@ -7,10 +7,10 @@ locals {
7
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
8
cluster_autoscaler_image = " iad.ocir.io/oracle/oci-cluster-autoscaler:${ local . cluster_autoscaler_image_version } "
9
9
cluster_autoscaler_log_level_verbosity = 4
10
- cluster_autoscaler_max_node_provision_time = " 25m "
11
- cluster_autoscaler_scale_down_delay_after_add = " 10m "
12
- cluster_autoscaler_scale_down_unneeded_time = " 10m "
13
- cluster_autoscaler_unremovable_node_recheck_timeout = " 5m "
10
+ cluster_autoscaler_max_node_provision_time = " ${ var . cluster_autoscaler_max_node_provision_time } m "
11
+ cluster_autoscaler_scale_down_delay_after_add = " ${ var . cluster_autoscaler_scale_down_delay_after_add } m "
12
+ cluster_autoscaler_scale_down_unneeded_time = " ${ var . cluster_autoscaler_scale_down_unneeded_time } m "
13
+ cluster_autoscaler_unremovable_node_recheck_timeout = " ${ var . cluster_autoscaler_unremovable_node_recheck_timeout } m "
14
14
cluster_autoscaler_cloud_provider = tonumber (local. k8s_minor_version ) <= 23 ? " oci" : " oci-oke"
15
15
cluster_autoscaler_enabled = contains (keys (local. cluster_autoscaler_supported_k8s_versions ), local. k8s_major_minor_version ) ? (var. np1_enable_autoscaler || var. np2_enable_autoscaler || var. np3_enable_autoscaler ) : false
16
16
k8s_major_minor_version = regex (" \\ d+(?:\\ .(?:\\ d+|x)(?:))" , local. kubernetes_version )
@@ -273,9 +273,9 @@ resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
273
273
" --stderrthreshold=info" ,
274
274
" --cloud-provider=${ local . cluster_autoscaler_cloud_provider } " ,
275
275
" --max-node-provision-time=${ local . cluster_autoscaler_max_node_provision_time } " ,
276
- " --nodes=${ var . np1_autoscaler_min_nodes } :${ var . np1_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [0 ]. id } " ,
277
- var . node_pool_count >= 2 ? " --nodes=${ var . np2_autoscaler_min_nodes } :${ var . np2_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [1 ]. id } " : " " ,
278
- var . node_pool_count >= 3 ? " --nodes=${ var . np3_autoscaler_min_nodes } :${ var . np3_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [2 ]. id } " : " " ,
276
+ var . np1_enable_autoscaler ? " --nodes=${ var . np1_autoscaler_min_nodes } :${ var . np1_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [0 ]. id } " : " " ,
277
+ var . node_pool_count >= 2 && var . np2_enable_autoscaler ? " --nodes=${ var . np2_autoscaler_min_nodes } :${ var . np2_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [1 ]. id } " : " " ,
278
+ var . node_pool_count >= 3 && var . np3_enable_autoscaler ? " --nodes=${ var . np3_autoscaler_min_nodes } :${ var . np3_autoscaler_max_nodes } :${ oci_containerengine_node_pool . oci_oke_node_pool [2 ]. id } " : " " ,
279
279
" --scale-down-delay-after-add=${ local . cluster_autoscaler_scale_down_delay_after_add } " ,
280
280
" --scale-down-unneeded-time=${ local . cluster_autoscaler_scale_down_unneeded_time } " ,
281
281
" --unremovable-node-recheck-timeout=${ local . cluster_autoscaler_unremovable_node_recheck_timeout } " ,
@@ -338,3 +338,28 @@ resource "kubernetes_pod_disruption_budget_v1" "core_dns_pod_disruption_budget"
338
338
oci_containerengine_node_pool . oci_oke_node_pool
339
339
]
340
340
}
341
+
342
+ resource "kubernetes_pod_disruption_budget_v1" "cluster_autoscaler_pod_disruption_budget" {
343
+ count = local. cluster_autoscaler_enabled ? 1 : 0
344
+
345
+ metadata {
346
+ name = " cluster-autoscaler-pdb"
347
+ namespace = " kube-system"
348
+ labels = {
349
+ k8s-app = " cluster-autoscaler"
350
+ }
351
+ }
352
+ spec {
353
+ max_unavailable = " 1"
354
+ selector {
355
+ match_labels = {
356
+ app = " cluster-autoscaler"
357
+ }
358
+ }
359
+ }
360
+
361
+ depends_on = [
362
+ data . oci_containerengine_cluster_kube_config . oke ,
363
+ oci_containerengine_node_pool . oci_oke_node_pool
364
+ ]
365
+ }
0 commit comments