Updated on 2023-08-11 GMT+08:00

CCE.Cluster

Element Description

The CCE.Cluster element is used to deploy Kubernetes cluster resources at the Huawei PaaS layer. A master node can be created based on this element to manage and create slave nodes. This element provides the application orchestration function for users.

Element Properties

Table 1 Property Description

Property

Required

Descripiton

multiAZ

No

Multi-AZ Cluster

Type: boolean

Default: False

Value Constraint: Only when HA clusters are used, for example, clusters of cce.s2 specifications, can you set this parameter to true.

Suggestion: If multiAZ is set to true, the cluster flavor must support multi-AZ cluster creation, for example, flavors of cce.s2 specifications.

vpcId

Yes

VPC ID

Type: HuaweiCloud.VPC.VPC.Id

Value Constraint: An existing or new VPC ID can be used. To use a new VPC ID, you need to define the VPC object in the template and establish the dependency relationship.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.VPC element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.VPC element. Obtain the ID of the created VPC on the VPC console at https://console.huaweicloud.com/vpc?&locale=en-us.

networkMode

No

Container network type

Type: string

Default: overlay_l2

Value Constraint: Currently, overlay_l2, underlay_ipvlan, and vpc-router are supported. If you select vpc-router, the selected VPC can contain only one subnet.

Suggestion: Use the default value.

description

No

Cluster description

Type: string

Suggestion: Customize the value.

name

No

Cluster name

Type: string

Value Constraint: The value contains 4 to 128 characters and must start with a letter and end with a digit. Only lowercase letters, digits, and hyphens (-) are allowed. The following regular specification must be met: (^$) | (^[a-z] ([-a-z0-9]*[a-z0-9]) ?$).

Suggestion: Customize the value.

kubeProxyMode

No

Service forwarding mode

Type: string

Default: iptables

Value Constraint: Currently, only iptables and ipvs are supported.

Suggestion: You are advised to use the default value iptables for cluster 1.7, and use ipvs for cluster above version 1.9 to achieve better performance.

highwaySubnetId

No

High-speed subnet ID

Type: HuaweiCloud.VPC.Subnet.Id

Value Constraint: An existing or new subnet ID can be used. To use a new subnet ID, you need to define the subnet object in the template and establish the dependency relationship.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.Subnet element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.Subnet element. Obtain the ID of the created subnet on the VPC console at https://console.huaweicloud.com/vpc?&locale=en-us.

containerNetworkCIDR

No

Container network segment

Type: string

Default: ''

Value Constraint: You need set this parameter based on the networks created by users. The available network segments are as follows: 172.16.0.0/16-172.31.0.0/16 10.0.0.0/16-10.255.0.0.0/16 192.168.0.0/16.

Suggestion: Use the default value.

version

No

Cluster version

Type: string

Value Constraint: Currently, versions v1.15, v1.13 and v1.11 are supported.

Suggestion: Set it to a version supported by CCE. Use the get_input function to set this field, and then the value can be automatically selected on the AOS console.

namespaces

No

Namespace created during cluster creation

Type: string Array

Default: []

Value Constraint: Array type.

subnetId

Yes

Subnet ID

Type: HuaweiCloud.VPC.Subnet.Id

Value Constraint: An existing or new subnet ID can be used. To use a new subnet ID, you need to define the subnet object in the template and establish the dependency relationship.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.Subnet element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.Subnet element. Obtain the ID of the created subnet on the VPC console at https://console.huaweicloud.com/vpc?&locale=en-us.

flavor

Yes

Cluster specification

Type: HuaweiCloud.CCE.Cluster.Flavor.Name

Value Constraint: The value must comply with CCE flavor definitions (You can view supported flavors on the CCE console.)

Suggestion: You can query the specification of the available cluster on the cluster creation page of the CCE.

type

No

Cluster type

Type: HuaweiCloud.CCE.Cluster.Type

Default: VirtualMachine

Value Constraint: Currently, VirtualMachine, BareMetal, and Windows are supported.

Suggestion: Use the default value.

nodes

No

User node created during periodic cluster creation

Type: CCE.NodePool

Default: {u'dataVolumes': [], u'availabilityZone': u'unset', u'instances': 1, u'rootVolume': {u'volumeType': u'unset', u'size': 40}, u'flavor': u'unset', u'sshKeyName': u'unset'}

Value Constraint: The description and constraint of HuaweiCloud.CCE.NodePool must be complied with.

Suggestion: Set the value based on specifications and requirements.

availabilityZone

No

AZ. For periodic clusters, this field is mandatory.

Type: HuaweiCloud.ECS.AvailabilityZone.Name

Value Constraint: The value varies depending on regions. For details, visit https://developer-intl.huaweicloud.com/en-us/endpoint.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Connected

VPC.Subnet

ContainedIn

VPC.VPC

Return Value

Property

Type

Description

refName

string

Cluster name

refID

string

Cluster ID

Blueprint Example

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  availabilityZone:
    default: az1.dc1 
  vpcId:
    default: ba6e4347-99d2-4649-b114-85c28d3d71b0
  subnetId:
    default: 3be61f68-9bfc-41bf-8f5e-66c57122f270  
  clusterFlavor:
    default: cce.s1.small

node_templates:
  cluster:
    type: HuaweiCloud.CCE.Cluster
    properties:
      availabilityZone: {get_input: availabilityZone}
      vpcId: {get_input: vpcId}
      subnetId: {get_input: subnetId}
      flavor: {get_input: clusterFlavor}

outputs:
  cluster_id:
    value: {get_attribute: [cluster, clusterId]}