Updated on 2024-11-06 GMT+08:00

CCE Cloud Bursting Engine for CCI

Add-on Overview

The virtual-kubelet add-on is an implementation of the open-source Virtual Kubelet project. When momentary traffic spikes occur in CCE clusters, virtual-kubelet uses Huawei Cloud CCI to create pods for Deployments, StatefulSets, and jobs, eliminating the overhead of resizing CCE clusters. For details, see virtual kubelet.

Add-on Parameters

Table 1 Parameters

Parameter

Mandatory

Type

Description

basic

Yes

Table 2 object

Basic add-on configuration parameters

flavor

Yes

Table 3 object

Flavor parameters

custom

Yes

Table 4 object

Custom parameters

Table 2 basic

Parameter

Mandatory

Type

Description

available_zone

Yes

String

AZ where the add-on is deployed.

Example: cn-north-4a

cci_address

Yes

String

Access address and port number of CCI.

Example: https://cci.***.com:443

euleros_version

Yes

String

EulerOS version. The value is fixed at 2.2.5.

iam_address

Yes

String

Access address and port number of IAM.

Example: https://iam.***.com:443

swr_addr

Yes

String

Access address of SWR.

Example: swr.***.com

swr_user

Yes

String

SWR user name. The default value is hwofficial.

rbac_enabled

Yes

String

Whether RBAC is supported. If RBAC is supported, the value is true.

cluster_id

Yes

String

Cluster ID

cluster_name

Yes

String

Cluster name

vpc_id

Yes

String

VPC ID

network_id

Yes

String

Subnet ID

security_group_id

Yes

String

Security group ID

project_id

Yes

String

Project ID

region

Yes

String

Region

Example: cn-north-4

Table 3 flavor

Parameter

Mandatory

Type

Description

description

No

String

Add-on description

name

No

String

Add-on specification name

replicas

Yes

String

Number of pods. The default value is 1.

resources

No

resources object

Container resource (CPU and memory) quotas

Table 4 custom

Parameter

Mandatory

Type

Description

isInstallProxy

No

String

Cross-service interworking.

true: Pods in a Cloud Container Engine (CCE) cluster can communicate with pods in a Cloud Container Instance (CCI) cluster through Kubernetes Service.

subnet_id

Yes

String

IPv4 subnet ID

subnets

No

subnet object

Extended subnet configuration

Table 5 Data structure of the resources field

Parameter

Mandatory

Type

Description

limitsCpu

No

String

CPU size limit (unit: m)

limitsMem

No

String

Memory size limit (unit: Mi)

name

Yes

String

Add-on name

requestsCpu

No

String

Requested CPU size (unit: m)

requestsMem

No

String

Requested memory size (unit: Mi)

Table 6 Data structure of the subnet field

Parameter

Mandatory

Type

Description

subnetID

Yes

String

ID of the extended IPv4 subnet

Example Request

{
	"metadata": {
		"annotations": {
			"addon.install/type": "install"
		}
	},
	"spec": {
		"clusterID": "ccbe7bdf-4**9-3**b-b**4-0********78",
		"version": "1.5.15",
		"addonTemplateName": "virtual-kubelet",
		"values": {
			"basic": {
                "addon_version": "1.5.15",
				"available_zone": "cn-north-4a",
				"cci_address": "https://cci.***.com:443",
				"euleros_version": "2.2.5",
				"iam_address": "https://iam.***.com:443",
				"swr_addr": "swr.***.com",
				"swr_user": "hwofficial",
				"rbac_enabled": true,
				"cluster_id": "ccbe7bdf-4**9-3**b-b**4-0********78",
				"cluster_name": "test-vk",
				"vpc_id": "2372199f-e6e0-48be-9437-e774aae6bd70",
				"network_id": "863a5e6c-e4f5-45f8-80d9-5090f17a767b",
				"security_group_id": "ac3c1a82-f320-495a-b81d-e7aaa6b304a4",
				"project_id": "085a4*********00a9ccf7fba",
				"region": "cn-north-4"
			},
			"flavor": {
				"description": "Has only one instance",
				"name": "Single",
				"replicas": 1,
                "resources": [
                    {
                        "name": "virtual-kubelet",
                        "limitsCpu": "2000m",
                        "requestsCpu": "500m",
                        "limitsMem": "4096Mi",
                        "requestsMem": "512Mi"
                    },
                    {
                        "name": "bursting-virtual-kubelet",
                        "limitsCpu": "2000m",
                        "requestsCpu": "500m",
                        "limitsMem": "4096Mi",
                        "requestsMem": "512Mi"
                    },
                    {
                        "name": "profile-controller",
                        "limitsCpu": "1000m",
                        "requestsCpu": "250m",
                        "limitsMem": "1024Mi",
                        "requestsMem": "256Mi"
                    },
                    {
                        "name": "proxy",
                        "limitsCpu": "2000m",
                        "requestsCpu": "250m",
                        "limitsMem": "4096Mi",
                        "requestsMem": "512Mi"
                    },
                    {
                        "name": "resource-syncer",
                        "limitsCpu": "2000m",
                        "requestsCpu": "250m",
                        "limitsMem": "4096Mi",
                        "requestsMem": "512Mi"
                    },
                    {
                        "name": "bursting-resource-syncer",
                        "limitsCpu": "2000m",
                        "requestsCpu": "500m",
                        "limitsMem": "1024Mi",
                        "requestsMem": "256Mi"
                    },
                    {
                        "name": "webhook",
                        "limitsCpu": "2000m",
                        "requestsCpu": "500m",
                        "limitsMem": "1024Mi",
                        "requestsMem": "256Mi"
                    },
                    {
                        "name": "bursting-webhook",
                        "limitsCpu": "2000m",
                        "requestsCpu": "500m",
                        "limitsMem": "1024Mi",
                        "requestsMem": "256Mi"
                    }
                ]
			},
			"custom": {
				"isInstallProxy": true,
                "subnet_id": "ad821361-288b-4d1f-9309-65aa2809e4fd",
                "subnets": [
                    {
                        "subnetID": "ce374ecf-1559-41ef-8967-9de579b1296012"
                    }
                ]
			}
		}
	}
}