Skip to content

Latest commit

 

History

History
70 lines (58 loc) · 7.8 KB

File metadata and controls

70 lines (58 loc) · 7.8 KB

Huawei Cloud Container Engine Node Pool

Requirements

Name Version
terraform ~> 1.7
huaweicloud ~>1.63

Providers

Name Version
huaweicloud ~>1.63

Modules

No modules.

Resources

Name Type
huaweicloud_cce_node_pool.main resource
huaweicloud_availability_zones.zones data source

Inputs

Name Description Type Default Required
availability_zone Specifies the name of the available partition (AZ) string null no
cluster_id Specifies the CCE cluster ID string n/a yes
data_volume Specifies the configuration of the data disks:
* size- Specifies the disk size in GB, data volume size must between 100 and 32768;
* volumetype - Specifies the disk type;
* extend_params - Specifies the disk expansion parameters.
object({
size = optional(number, 100)
volumetype = optional(string, "SAS")
extend_params = optional(map(string))
})
n/a yes
ecs_group_id pecifies the ECS group ID, if specified, the node will be created under the cloud server group string null no
extend_param Specifies the extended parameter. The available keys are as follows:

* agency_name: The agency name to provide temporary credentials for CCE node to access other cloud services;
* alpha.cce/NodeImageID: The custom image ID used to create the BMS nodes;
* dockerBaseSize: The available disk space of a single docker container on the node in device mapper mode;
* DockerLVMConfigOverride: Specifies the data disk configurations of Docker.
map(string) {} no
flavor_id Specifies the flavor ID string "s6.xlarge.2" no
initial_node_count Specifies the initial number of expected nodes in the node pool number 2 no
key_pair Specifies the key pair name when logging in to select the key pair mode string n/a yes
kms_key_id Specifies the KMS key ID, this is used to encrypt the volume string null no
labels Specifies the tags of a Kubernetes node, key/value pair format map(string) {} no
max_node_count Specifies the maximum number of nodes allowed, if auto scaling is enabled number 10 no
max_pods Specifies the maximum number of instances a node is allowed to create number null no
min_node_count Specifies the minimum number of nodes allowed, if auto scaling is enabled number 1 no
name Specifies the CCE node pool name string n/a yes
name_postfix Specifies the CCE node pool name postfix string null no
os Specifies the operating system of the node string "EulerOS 2.9" no
pod_security_groups Specifies the list of security group IDs for the pod, only supported in CCE Turbo clusters list(string) null no
postinstall Specifies the script to be executed after installation, the input value can be a Base64 encoded string or not string null no
preinstall Specifies the script to be executed before installation, the input value can be a Base64 encoded string or not string null no
priority Specifies the weight of the node pool, a node pool with a higher weight has a higher priority during scaling number null no
region Specifies the region in which to create the CCE node pool resource, if omitted, the provider-level region will be used string null no
root_volume Specifies the configuration of the system disk:
* size- Specifies the disk size in GB, root volume size must between 40 and 1024;
* volumetype - Specifies the disk type;
* extend_params - Specifies the disk expansion parameters.
object({
size = optional(number, 40)
volumetype = optional(string, "SAS")
extend_params = optional(map(string))
})
n/a yes
runtime Specifies the runtime of the CCE node pool string "containerd" no
scale_down_cooldown_time Specifies the time interval between two scaling operations, in minutes number null no
scall_enable Specifies whether to enable auto scaling. If Autoscaler is enabled, install the autoscaler add-on to use the
auto scaling feature.
bool false no
security_groups Specifies the list of custom security group IDs for the node pool list(string) null no
subnet_id Specifies the ID of the subnet to which the NIC belongs string n/a yes
tags Specifies the key/value pairs to associate with the resources map(string) {} no
taints Specifies the taints configuration of the nodes to set anti-affinity

* key - A key must contain 1 to 63 characters starting with a letter or digit, only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed;
* value - A value must start with a letter or digit and can contain a maximum of 63 characters, including letters, digits, hyphens (-), underscores (_), and periods (.);
* effect - Available options are NoSchedule, PreferNoSchedule, and NoExecute.
set(object({
effect = string
key = string
value = string
}))
[] no
type Specifies the node pool type string "vm" no

Outputs

Name Description
current_node_count The current number of the nodes
id The resource ID in UUID format
status Node status information