@@ -7,10 +7,10 @@ locals {
77 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 ])
88 cluster_autoscaler_image = " iad.ocir.io/oracle/oci-cluster-autoscaler:${ local . cluster_autoscaler_image_version } "
99 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 "
1414 cluster_autoscaler_cloud_provider = tonumber (local. k8s_minor_version ) <= 23 ? " oci" : " oci-oke"
1515 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
1616 k8s_major_minor_version = regex (" \\ d+(?:\\ .(?:\\ d+|x)(?:))" , local. kubernetes_version )
@@ -273,9 +273,9 @@ resource "kubernetes_deployment" "cluster_autoscaler_deployment" {
273273 " --stderrthreshold=info" ,
274274 " --cloud-provider=${ local . cluster_autoscaler_cloud_provider } " ,
275275 " --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 } " : " " ,
279279 " --scale-down-delay-after-add=${ local . cluster_autoscaler_scale_down_delay_after_add } " ,
280280 " --scale-down-unneeded-time=${ local . cluster_autoscaler_scale_down_unneeded_time } " ,
281281 " --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"
338338 oci_containerengine_node_pool . oci_oke_node_pool
339339 ]
340340}
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