Todos os produtos
Search
Central de documentação

Elastic Container Instance:Referência de comandos do VNodectl

Última atualização: Aug 27, 2026

O VNodectl gerencia VNodes, add-ons e outros recursos via linha de comando. As seções a seguir descrevem a sintaxe, os parâmetros e exemplos dos comandos do VNodectl mais utilizados.

Pré-requisitos

  • VNodectl — Instale e configure a ferramenta de linha de comando VNodectl antes de executar qualquer comando descrito neste tópico.

  • Arquivo de configuração do VNode — Antes de executar um comando de VNode (create, list, describe, update ou delete), verifique se o arquivo ~/.vnode/config existe e está configurado corretamente.

  • Arquivo kubeconfig do cluster — Um arquivo kubeconfig para o cluster que você deseja gerenciar. Os comandos de add-on e o comando cluster clean recebem o caminho para o arquivo kubeconfig na opção --kubeconfig.

Visão geral dos comandos

Os comandos do VNodectl são agrupados pelo recurso em que atuam.

Comandos de VNode

Comando

Descrição

vnode create

Crie um VNode.

vnode list

Consulta o status dos VNodes.

vnode describe

Exibe os detalhes de um VNode específico.

vnode update

Atualize a configuração de um VNode especificado.

vnode delete

Exclua um VNode especificado.

Comandos de add-on e cluster

Comando

Descrição

vnode addon list

Lista os add-ons disponíveis.

vnode addon enable

Instala e ative um add-on.

vnode addon disable

Desativa e desinstala um add-on.

vnode cluster clean

Limpa as configurações do cluster.

Adicione --dry a qualquer comando vnode para executar uma validação no lado do cliente sem aplicar alterações. Se ocorrer um erro de compatibilidade de versão da API, adicione --kubernetes-version para especifique a versão do Kubernetes do seu cluster.

Gerencie VNodes

create

O comando create crie um VNode.

Sintaxe

vnode create [--vswitch-id <vswitch id>] [--security-group-id <security group id>] [--custom-resources <resource name>=<resource count>] [--cluster-dns <dns ip>] [--cluster-domain <cluster domain>]

Parâmetros

Parâmetro

Descrição

Exemplo

--vswitch-id

O ID do vSwitch ao qual o VNode pertence.

--vswitch-id vsw-7xv2yk45qp5etidgf****

--security-group-id

O ID do grupo de segurança ao qual o VNode pertence.

--security-group-id sg-7xv5tcch4kjdr65t****

--custom-resources

Os recursos personalizados suportados pelo VNode. Se um pod do Elastic Container Instance (ECI) declarar um desses recursos personalizados em seus requests, o pod será agendado para o VNode. Especifique os recursos no formato <resource name>=<resource count> e separe múltiplos recursos com vírgulas.

--custom-resources example1.com=10000,example2.com=20000

--cluster-dns

Os endereços IP dos servidores DNS. Se um pod ECI definir dnsPolicy=ClusterFirst, os containers no pod usarão esses endereços IP para resolução DNS. Especifique vários endereços IP separados por vírgulas.

--cluster-dns 192.168.XX.XX

--cluster-domain

O nome de domínio do cluster. Após especifique este parâmetro, o Kubelet configura todos os containers para pesquisar neste domínio, além dos domínios de pesquisa do host.

--cluster-domain example.com

Exemplo 1: Criar um VNode sem parâmetros

[root@vnode-test001 ~]# vnode create
{"RequestId":"12B984BB-D3FB-53D2-8326-9A2E9EF7EF46","VirtualNodeId":"vnd-7xv6g0gp3ok6****"}

Exemplo 2: Criar um VNode com suporte a recursos personalizados

[root@vnode-test001 ~]# vnode create --custom-resources example1.com=10000,example2.com=20000
{"RequestId":"98965B78-4F19-5DA4-BAAA-E6461BF7FF67","VirtualNodeId":"vnd-7xv1zedhxp****"}

Após a criação do VNode, execute o comando kubectl describe node para visualize os detalhes do nó. Os recursos personalizados especificados aparecem nas seções Capacity e Allocatable.

Capacity:
  alibabacloud.com/vfuse:  6k
  cpu:                     100k
  ephemeral-storage:       40000Gi
  example1.com:            10k
  example2.com:            20k
  memory:                  1000Ti
  nvidia.com/gpu:          1k
  pods:                    2k
Allocatable:
  alibabacloud.com/vfuse:  6k
  cpu:                     100k
  ephemeral-storage:       40000Gi
  example1.com:            10k
  example2.com:            20k
  memory:                  1000Ti
  nvidia.com/gpu:          1k
  pods:                    2k

Exemplo 3: Criar um VNode com servidores DNS e domínio de cluster

[root@vnode-test001 ~]# vnode create --cluster-dns 192.168.0.1 --cluster-domain example.com
{"RequestId":"1FCB1308-7C96-5FF2-A7BB-202F69D1961C","VirtualNodeId":"vnd-7xv4qqroc5f****"}

Depois que o VNode for criado, execute o comando kubectl describe pod para visualize os detalhes de um pod ECI agendado para o VNode. Os valores especificados aparecem como as anotações k8s.aliyun.com/cluster-dns e k8s.aliyun.com/cluster-domain.

[root@vnode-test001 ~]# kubectl describe pod test-5748b8cfb6-xgmp7
Name:         test-5748b8cfb6-xgmp7
Namespace:    default
Priority:     0
Node:         cn-guangzhou.vnd-7xv4qqroc5f****/192.168.XX.XX
Start Time:   Mon, 27 Mar 2023 17:27:06 +0800
Labels:       alibabacloud.com/eci=true
              app=nginx
              pod-template-hash=5748b8cfb6
Annotations:  k8s.aliyun.com/cluster-dns: 192.168.0.1
              k8s.aliyun.com/cluster-domain: example.com
              k8s.aliyun.com/eci-created-by-template: true
              k8s.aliyun.com/eci-extra-ephemeral-storage: 62Gi
              k8s.aliyun.com/eci-instance-cpu: 2.0
              k8s.aliyun.com/eci-instance-id: eci-7xv4qqroc****
              k8s.aliyun.com/eci-instance-mem: 4.0
              k8s.aliyun.com/eci-instance-spec: 2.0-4.0Gi
              k8s.aliyun.com/eci-instance-zone: cn-guangzhou-a
              k8s.aliyun.com/eci-matched-image-cache: imc-7xv80t0k3g****

list

O comando list consulta o status dos VNodes.

Sintaxe

vnode list

Exemplo

[root@vnode-test001 ~]# vnode list
VNODE ID                VNODE NAME                                  CREATED              STATUS    SCHEDULABLE ZONES
vnd-7xv6g0gp3ok****     vnode-cn-guangzhou-a-7xv6g0****             About a minute ago   Ready     cn-guangzhou-a
vnd-7xvetkyase7****     vnode-cn-guangzhou-a-7xvetk****             49 minutes ago       Ready     cn-guangzhou-a
[root@vnode-test001 ~]#

describe

O comando describe exibe os detalhes de um VNode específico.

Sintaxe

vnode describe <vnode id>

Exemplo

[root@vnode-test001 ~]# vnode describe vnd-7xv6g0gp3ok69****
VNodeId: vnd-7xv6g0gp3ok69****
VNodeName: vnode-cn-guangzhou-a-7xv6g0gp3****
ClusterId:
RegionId: cn-guangzhou
ResourceGroupId: rg-acfm4ia6****
SecurityGroupId: sg-7xv5tcch****
VpcId: vpc-7xvuaoizvudf366bh****
VSwitchId: vsw-7xv4hi6ioxpw3****
Status: Ready
CreationTime: 2022-12-23T06:44:52Z
IntranetIp: 192.168.XX.54
InternetIp:
Cpu:
Memeory:
Tags: []
Events:
  Type        Reason                          Agent            Message
  -----       -----                           -----            -----
  Normal      StartingHeartBeat               2 minutes ago    birth cry
  Warning     HeartBeatToECIServiceFailed     2 minutes ago    fail to connect eci-service
  Normal      CreateEciForVnode               2 minutes ago    [eci.virtualnode]Create Eci eci-7xv6g0gp3**** for Vnode
  Normal      StartingVKubelet                2 minutes ago    Starting VKubelet.

update

O comando update atualize a configuração de um VNode especificado. É possível atualize os valores das opções --vswitch-id, --security-group-id, --custom-resources, --cluster-dns e --cluster-domain.

Importante

O comando update sobrescreve toda a configuração. Os valores de parâmetro fornecidos substituem os valores existentes. Por exemplo, se o VNode já estiver configurado com --custom-resources example1.com=10000 e você quiser adicionar o recurso personalizado example2.com com uma contagem de 10000, forneça --custom-resources example1.com=10000,example2.com=10000.

Sintaxe

vnode update <vnode id> [--vswitch-id <vswitch id>] [--security-group-id <security group id>] [--custom-resources <resource name>=<resource count>] [--cluster-dns <dns ip>] [--cluster-domain <cluster domain>]

Parâmetros

O comando update aceita as mesmas opções que o comando create. Para descrições das opções, consulte a tabela de parâmetros em create.

Parâmetro

Descrição

Exemplo

--vswitch-id

O ID do vSwitch ao qual o VNode pertence.

--vswitch-id vsw-7xv2yk45qp5etidgf****

--security-group-id

O ID do grupo de segurança ao qual o VNode pertence.

--security-group-id sg-7xv5tcch4kjdr65t****

--custom-resources

Os recursos personalizados suportados pelo VNode. Se um pod do Elastic Container Instance (ECI) declarar um desses recursos personalizados em seus requests, o pod será agendado para o VNode. Especifique os recursos no formato <resource name>=<resource count> e separe múltiplos recursos com vírgulas.

--custom-resources example1.com=10000,example2.com=20000

--cluster-dns

Os endereços IP dos servidores DNS. Se um pod ECI definir dnsPolicy=ClusterFirst, os containers no pod usarão esses endereços IP para resolução DNS. Especifique vários endereços IP separados por vírgulas.

--cluster-dns 192.168.XX.XX

--cluster-domain

O nome de domínio do cluster. Após especifique este parâmetro, o Kubelet configura todos os containers para pesquisar neste domínio, além dos domínios de pesquisa do host.

--cluster-domain example.com

Exemplo

[root@vnode-test001 ~]# vnode update vnd-7xv1zedhxp**** --cluster-domain example.com
{"RequestId":"DA86B896-3A05-5A0C-A9D2-A1D433C85035"}

Para revisar a configuração do VNode após a atualização, execute o comando vnode describe.

delete

O comando delete exclua um VNode especificado.

Importante

Antes de exclua um VNode, certifique-se de que não há instâncias ECI em execução nele.

Sintaxe

vnode delete <vnode id>

Exemplo

[root@vnode-test001 ~]# vnode delete vnd-7xv6g0gp3ol****
are you sure to delete vnd-7xv6g0gp3ol**** ?(y/n)y
{"RequestId":"7B7E8276-772A-5229-B2D7-B3DD36A66432"}

Para verificar o estado dos seus VNodes após a exclusão, execute o comando vnode list.

Gerencie add-ons e configurações de cluster

Além dos VNodes, o VNodectl gerencia add-ons de cluster, como eci-profile e vnode-approver, e limpa configurações de cluster. Nos comandos desta seção, a opção --kubeconfig recebe o caminho para o arquivo kubeconfig do cluster alvo.

addon list

O comando addon list lista os add-ons disponíveis.

Sintaxe

vnode addon list --kubeconfig <kubeconfig path>

Exemplo

[root@vnode-test001 ~]# vnode addon list --kubeconfig ~/.kube/config
  ADDON NAME     |   STATUS   |  MAINTAINER  |                  REPOSITORY
-----------------+------------+--------------+------------------------------------------------------
  eci-profile    | enabled    | ECI Group    | https://github.com/aliyuneci/eci-profile.git
  vnode-approver | disabled   | ECI Group    | https://github.com/aliyuneci/vnode-approver.git

addon enable

O comando addon enable instala e ative um add-on. Ele crie os recursos necessários para o add-on no cluster, como ClusterRole, CustomResourceDefinition, Service e Deployment.

Sintaxe

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

Exemplo

O exemplo a seguir ative o add-on eci-profile e, em seguida, lista os add-ons para confirme o novo status:

[root@vnode-test001 ~]# vnode addon list
  ADDON NAME     |   STATUS   |  MAINTAINER  |                  REPOSITORY
-----------------+------------+--------------+------------------------------------------------------
  eci-profile    | disabled   | ECI Group    | https://github.com/aliyuneci/eci-profile.git
  vnode-approver | disabled   | ECI Group    | https://github.com/aliyuneci/vnode-approver.git
[root@vnode-test001 ~]# vnode addon enable eci-profile --kubeconfig ~/.kube/config
clusterrole.rbac.authorization.k8s.io/eci-profile created
clusterrolebinding.rbac.authorization.k8s.io/eci-profile created
customresourcedefinition.apiextensions.k8s.io/selectors.eci.aliyun.com created
service/eci-profile created
serviceaccount/eci-profile created
deployment.apps/eci-profile created
[root@vnode-test001 ~]# vnode addon list
  ADDON NAME     |   STATUS   |  MAINTAINER  |                  REPOSITORY
-----------------+------------+--------------+------------------------------------------------------
  eci-profile    | enabled    | ECI Group    | https://github.com/aliyuneci/eci-profile.git
  vnode-approver | disabled   | ECI Group    | https://github.com/aliyuneci/vnode-approver.git

addon disable

O comando addon disable desativa e desinstala um add-on. Esse comando exclua os recursos criados para o add-on no cluster.

Sintaxe

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

Exemplo

O exemplo abaixo desativa o add-on eci-profile e depois lista os add-ons para confirme o novo status:

[root@vnode-test001 ~]# vnode addon list
  ADDON NAME     |   STATUS   |  MAINTAINER  |                  REPOSITORY
-----------------+------------+--------------+------------------------------------------------------
  eci-profile    | enabled    | ECI Group    | https://github.com/aliyuneci/eci-profile.git
  vnode-approver | disabled   | ECI Group    | https://github.com/aliyuneci/vnode-approver.git
[root@vnode-test001 ~]# vnode addon disable eci-profile --kubeconfig ~/.kube/config
clusterrole.rbac.authorization.k8s.io "eci-profile" deleted
clusterrolebinding.rbac.authorization.k8s.io "eci-profile" deleted
customresourcedefinition.apiextensions.k8s.io "selectors.eci.aliyun.com" deleted
Error from server (NotFound): error when deleting "/root/.vnode/addon/eci-profile/eci-profile-cus...
service "eci-profile" deleted
serviceaccount "eci-profile" deleted
deployment.apps "eci-profile" deleted
[root@vnode-test001 ~]# vnode addon list
  ADDON NAME     |   STATUS   |  MAINTAINER  |                  REPOSITORY
-----------------+------------+--------------+------------------------------------------------------
  eci-profile    | disabled   | ECI Group    | https://github.com/aliyuneci/eci-profile.git
  vnode-approver | disabled   | ECI Group    | https://github.com/aliyuneci/vnode-approver.git

cluster clean

O comando cluster clean limpa as configurações do cluster.

Importante

Execute o comando cluster clean se você não for mais utilizar VNodes.

Sintaxe

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

A escolha da opção depende de como o cluster foi configurado anteriormente.

Exemplo 1: Limpar um cluster configurado pelo método padrão

vnode cluster clean --kubeconfig <kubeconfig path>

Exemplo 2: Limpar um cluster configurado pelo método de bootstrap TLS

vnode cluster clean --kubeconfig <kubeconfig path> --bootstrap