Updated on 2022-02-22 GMT+08:00

CCE.NodePool

Element Description

The CCE.NodePool element is used to deploy Kubernetes node resources at the PaaS layer. You can use it to orchestrate cloud resources on nodes.

Element Properties

Table 1 Property Description

Property

Mandatory

Description

dataVolumes

Yes

Data disk of a created node

Type: CCE.DataVolume array

Value Description: Customize the value, for example, [{"volumeType":"SATA","size":100}].

Value Constraint: Array format. Currently, only one object is supported.

Suggestion: Customize the value.

availabilityZone

Yes

AZ where a node is located

Type: Cloud.ECS.AvailabilityZone.Name

Value Description: AZ where the to-be-created ECS is located. The name of the AZ needs to be specified, for example, ae-ad-1a. For details, see the Regions and Endpoints page.

Value Constraint: The value varies depending on regions.

Suggestion: Use the get_input function to set this field, and then the value can be automatically selected on the AOS console.

name

Yes

Name of the created node

Type: string

Value Description: Customize the value.

Value Constraint: The value contains 4 to 32 characters and must start with a lowercase letter. Only lowercase letters, digits, and underscores (_) are allowed.

Suggestion: Customize the value. Generally, the stack name is used as the node name.

publicKey

No

Public key of the key pair. If the node pool is billed in the yearly/month mode, this parameter is mandatory.

Type: Cloud.ECS.KeyPair.PublicKey

Value Description: Selects an existing public key.

Suggestion: Use the get_input function to set this field, and then the value can be automatically selected on the AOS console based on the value of sshKeyName.

postInstall

No

Node post-installation script

Type: string

Value Description: Customize the value.

Value Constraint: The script you specify here will be executed after K8S software is installed.

Suggestion: The script is usually used to modify Docker parameters.

labels

No

Node label

Type: CCE.Labels array

Value Description: Customize the value, for example, {"app": "aos"}.

Suggestion: You can enter multiple key-value pairs.

clusterId

No

ID of the cluster to which the resource belongs

Type: Cloud.CCE.Cluster.Id

Value Description: ID of an existing or new container cluster.

Value Constraint: The value must satisfy the UUID rule and contain a maximum of 64 characters.

Suggestion: 1. Enter the cluster ID. Specifically, log in to the CCE console, and choose Resource Management > Clusters. Click the target cluster, and you can then obtain its cluster ID. 2. Connect to the cluster object and use the get_reference function to obtain the cluster ID.

preInstall

No

Node pre-installation script

Type: string

Value Description: Customize the value.

Value Constraint: The script you specify here will be executed before K8S software is installed. Note that if the script is incorrect, K8S software may not be installed successfully.

Suggestion: The script is usually used to format data disks.

publicIp

No

Virtual IP address of the created node

Type: CCE.PublicIP

Value Description: Customize the value, for example, {"eip":{"bandwidth:{"shareType":PER}, 5_sbgp"}}.

Default: {}

Value Constraint: Only one elastic IP address can be defined for each node.

Suggestion: Customize the value.

instances

Yes

Number of created nodes

Type: integer

Value Description: Customize the value. The value ranges from 1 to 50.

Default: 1

Value Constraint: {u'in_range': [1, 50]}

Suggestion: Set the value based on the live environment.

rootVolume

Yes

System disk of the created node

Type: ECS.RootVolume

Value Description: Customize the value, for example, {"volumeType":"SATA","size":40}.

Default: {u'volumeType': u'unset', u'size': 40}

Suggestion: Customize the value.

os

No

Node OS

Type: string

Value Description: ["EulerOS 2.2", "CentOS 7.4"]

Default: EulerOS 2.2

Value Constraint: {u'valid_values': [u'CentOS 7.4', u'EulerOS 2.2']}

nodePasswd

No

Password of the node root user

Type: password

Value Description: Customize the value.

Value Constraint: 1. The parameter must be written into inputs and set using the get_input function. 2. The value must not be a weak password. Enter 8 to 26 characters. Only uppercase and lowercase letters, digits, and special characters !@$%^-_=+[{}]:,./? are allowed. The value must contain at least two types of characters.

Suggestion: You are advised to use the get_input function to obtain the value and avoid plaintext passwords to ensure security.

flavor

Yes

Container node specification

Type: Cloud.CCE.Node.Flavor.Name

Value Description: ID of the system flavor of the cloud server to be created. For details about the available flavors, see Elastic Cloud Server Service Overview. It is advised to use the get_input function to pass this parameter.

Suggestion: Select the node specification during node creation on the CCE console. In the node template, you can set the inputs to specify the node specification.

sshKeyName

No

Key pair used for logging in to a node, which needs to be kept properly

Type: Cloud.ECS.KeyPair.Name

Value Description: It must be created on the ECS console in advance.

Suggestion: 1. You are advised to use the get_input function to set the parameter so that you can select a value when using the template. 2. Search for the information on the ECS console, and enter the information accordingly.

annotations

No

Node annotations

Type: dict

Value Description: Customize the value, for example, {"app": "aos"}.

Suggestion: You can enter multiple key-value pairs.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Inclusion

CCE.Cluster

Connected

ECS.KeyPair

Connected

CCE.Storage.OBS

Connected

CCE.Pod

Connected

CCE.NodePool

Connected

CCE.Storage.SFS

Return Value

Property

Type

Description

floatingIpId

string

ID of an elastic IP address

clusterId

string

Cluster ID

refName

string

Node name

privateIp

Array

List of private elastic IP addresses

publicIp

Array

List of public elastic IP addresses

refID

string

Node ID

Blueprint Example

tosca_definitions_version: cloud_tosca_version_1_0
node_templates:
  ccenp1ep:
    type: Cloud.CCE.NodePool
    properties:
      dataVolumes:
        - volumeType: SATA
          size: 100
      name: ''
      instances: 1
      rootVolume:
        volumeType: SATA
        size: 40
      flavor:
        get_input: ccenp1ep_flavor
      sshKeyName:
        get_input: ccenp1ep_sshKeyName
inputs:
  ccenp1ep_flavor:
    description: Container node specifications
    label: ''
  ccenp1ep_sshKeyName:
    description: Key pair used for logging in to a node. Keep the key pair properly.
    label: ''