All Products
Search
Document Center

Elastic Container Instance:Common commands for VNodectl

Last Updated:Apr 01, 2026

VNodectl is the command-line tool for managing VNodes and add-ons in an Elastic Container Instance (ECI) environment. Use VNodectl after you have installed and configured the tool to create, inspect, update, and delete VNodes, manage add-ons, and clean up cluster configurations.

Before you begin

All VNode management commands require the ~/.vnode/config file to exist and be correctly configured. Make sure the file exists and its configurations are correct before running any vnode command.

Global flags

Two flags apply to all vnode commands:

FlagDescription
--dryRuns client-side verification without making any changes. Use this to check for configuration errors before running the actual command.
--kubernetes-versionSpecifies the Kubernetes version of the cluster. Add this flag when you encounter an API version compatibility error.

Manage VNodes

create

Creates a VNode. All parameters are optional — run vnode create without parameters to use your default configuration.

Syntax

vnode create [--vswitch-id] [--security-group-id] [--custom-resources] [--cluster-dns] [--cluster-domain]

Parameters

ParameterDescriptionExample
--vswitch-idID of the vSwitch to connect the VNode to--vswitch-id vsw-7xv2yk45qp5etidgf****
--security-group-idID of the security group for the VNode--security-group-id sg-7xv5tcch4kjdr65t****
--custom-resourcesCustom resources the VNode advertises, in <Resource name>=<Count> format. Pods requesting this resource are scheduled to this VNode. Separate multiple resources with commas (,).--custom-resources example1.com=10000,example2.com=20000
--cluster-dnsIP addresses of the Alibaba Cloud DNS server. Used when a pod's dnsPolicy is ClusterFirst. Separate multiple addresses with commas (,).--cluster-dns 192.168.XX.XX
--cluster-domainDomain name of the cluster. When set alongside the host's search domain, kubelet configures all containers to search this domain.--cluster-domain example.com

Example 1: Create a VNode without parameters

vnode create

Example 2: Create a VNode with custom resources

vnode create1

After the VNode is created, run kubectl describe node to verify. The resources you configured appear in the Capacity and Allocatable sections.

vnode create1-1

Example 3: Create a VNode with cluster DNS and cluster domain

vnode create2

After the VNode is created, run kubectl describe pod on a pod scheduled to this VNode. The clusterDNS and clusterDomain values appear in the annotations section.

vnode create2-1

list

Lists all VNodes and their current status. Use list for a quick status overview across all VNodes.

Syntax

vnode list

Example

vnode list

describe

Shows the full configuration and status for a specific VNode. Use describe when you need complete details on a single VNode.

Syntax

vnode describe <vnode-id>

Example

vnode describe

update

Updates the configuration of an existing VNode. You can update the vSwitch, security group, custom resources, cluster DNS, and cluster domain.

Important

Update operations overwrite existing values — they do not append. For example, if a VNode already has --custom-resources example1.com=10000 and you want to add example2.com=10000, specify both resources: --custom-resources example1.com=10000,example2.com=10000.

Syntax

vnode update <vnode-id> [--vswitch-id] [--security-group-id] [--custom-resources] [--cluster-dns] [--cluster-domain]

Parameters

ParameterDescriptionExample
--vswitch-idID of the vSwitch to connect the VNode to--vswitch-id vsw-7xv2yk45qp5etidgf****
--security-group-idID of the security group for the VNode--security-group-id sg-7xv5tcch4kjdr65t****
--custom-resourcesCustom resources the VNode advertises, in <Resource name>=<Count> format. Separate multiple resources with commas (,).--custom-resources example1.com=10000,example2.com=20000
--cluster-dnsIP addresses of the Alibaba Cloud DNS server. Separate multiple addresses with commas (,).--cluster-dns 192.168.XX.XX
--cluster-domainDomain name of the cluster.--cluster-domain example.com

Example

vnode update

delete

Deletes a VNode.

Important

Before deleting a VNode, make sure no elastic container instances are running on it.

Syntax

vnode delete <vnode-id>

Example

vnode delete

Manage add-ons

VNodectl manages two add-ons: the eci-profile component and the vnode-approver component.

addon list

Lists all available add-ons and their current state.

Syntax

vnode addon list --kubeconfig /path/to/kubeconfig

Example

vnode addon list

addon enable

Loads an add-on.

Syntax

vnode addon enable <add-on-name> --kubeconfig /path/to/kubeconfig

Example

addon enable

addon disable

Uninstalls an add-on.

Syntax

vnode addon disable <add-on-name> --kubeconfig /path/to/kubeconfig

Example

vnode addon disable

Clear cluster configurations

cluster clean

Removes all VNode-related configurations from a cluster. Run this command when you no longer use VNodes in the cluster.

The command supports two modes depending on how you originally configured the cluster:

ModeWhen to use
Regular modeYou configured the cluster without TLS bootstrapping
TLS bootstrapping modeYou configured the cluster using the --bootstrap flag during setup

Syntax

vnode cluster clean --kubeconfig <path-to-kubeconfig> [--bootstrap]

Regular mode

vnode cluster clean --kubeconfig /path/to/kubeconfig

TLS bootstrapping mode

vnode cluster clean --kubeconfig /path/to/kubeconfig --bootstrap