Skip to content

cloud-labs-infra/terraform-huaweicloud-cce-addon-autoscaler

Repository files navigation

Huawei Cloud CCE Addon Autoscaler

Example for autoscaler add-on

data "huaweicloud_cce_addon_template" "test" {
  cluster_id = var.cce_cluster_id
  name       = "autoscaler"
  version    = "1.25.46"
}

output "version" {
  value = data.huaweicloud_cce_addon_template.test
}

Requirements

Name Version
terraform ~> 1.7
huaweicloud ~>1.63

Providers

Name Version
huaweicloud ~>1.63

Modules

No modules.

Resources

Name Type
huaweicloud_cce_addon.autoscaler resource
huaweicloud_cce_cluster.cluster data source

Inputs

Name Description Type Default Required
addon_version Version of Autoscaler addon string "1.25.46" no
category Category list(string)
[
"CCE",
"Turbo"
]
no
cluster_id Specifies the CCE cluster ID string n/a yes
cores_total Total number of cores number 64 no
expander Expander string "priority,least-waste" no
local_volume_node_scaling_enabled Local volume node scaling enabled bool false no
log_level Log level number 4 no
max_empty_bulk_delete_flag Max empty bulk delete flag number 10 no
max_node_provision_time Max node provision time number 15 no
max_nodes_total Max nodes total number 10 no
memory_total Memory total number 128 no
metrics_server_version Version of Autoscaler addon string "1.3.2" no
multi_az_enabled Multi AZ bool false no
new_ephemeral_volumes_pod_scale_up_delay New ephemeral volumes pod scale up delay number 10 no
node_match_expressions Node match expressions list(string) [] no
platform Platform string "linux-amd64" no
rbac_enabled Kubernetes rbac enabled bool true no
recommend_cluster_flavor_types Recommend cluster flavor types list(string)
[
"small"
]
no
region Specifies the region in which to create the CCE node pool resource, if omitted, the provider-level region will be used string n/a yes
replicas Number of replicas number 1 no
resources Kubernetes resources
object({
limits_cpu = optional(string, "1000m")
limits_mem = optional(string, "1000Mi")
requests_cpu = optional(string, "500m")
requests_mem = optional(string, "500Mi")
})
{} no
scale_down Scale down configuration
object({
delay_after_add = optional(number, 10)
delay_after_delete = optional(number, 10)
delay_after_failure = optional(number, 3)
enabled = optional(bool, true)
unneeded_time = optional(number, 10)
utilization_threshold = optional(number, 0.5)
})
{} no
scale_up Scale up configuration
object({
cpu_utilization_threshold = optional(number, 1)
mem_utilization_threshold = optional(number, 1)
unscheduled_pod_enabled = optional(bool, true)
utilization_enabled = optional(bool, true)
})
{} no
skip_nodes_with_custom_controller_pods Skip nodes with custom controller pods bool true no
swr_addr SWR Address string null no
swr_user SWR User name string "hwofficial" no
tenant_id Tenant ID string n/a yes
tolerations Kubernetes tolerations any
[
{
"effect": "NoExecute",
"key": "node.kubernetes.io/not-ready",
"operator": "Exists",
"tolerationSeconds": 60
},
{
"effect": "NoExecute",
"key": "node.kubernetes.io/unreachable",
"operator": "Exists",
"tolerationSeconds": 60
}
]
no
unremovable_node_recheck_timeout Unremovable node recheck timeout number 5 no

Outputs

No outputs.