VNodectl常用命令参考

安装并配置VNodectl命令行工具后,您可以使用VNodectl来管理VNode、插件等。本文列举了VNodectl常用命令供您参考。

说明
  • vnode命令均支持添加--dry进行客户端校验。

  • 执行vnode命令的过程中,如果遇到API版本兼容的错误,请添加--kubernetes-version明确指定集群的K8s版本。

管理VNode

重要

使用下述命令管理VNode时,需确保~/.vnode/config文件存在且配置正确。

create

create命令用于创建VNode。

  • 命令格式

    vnode create [--vswitch-id] [--security-group-id] [--custom-resources] [--cluster-dns] [--cluster-domain]
  • 参数说明

    参数

    说明

    示例

    --vswitch-id

    VNode所属的交换机ID。

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

    --security-group-id

    VNode所属的安全组ID。

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

    --custom-resources

    VNode支持的自定义资源。如果ECI Pod的request中声明了相应的自定义资源,则该Pod会被调度到VNode。

    格式为资源名称=资源数量,多个资源之间使用半角逗号间隔。

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

    --cluster-dns

    DNS服务器的IP地址。如果ECI Pod中设置了dnsPolicy=ClusterFirst则使用该配置值为容器提供DNS服务。

    支持配置多个IP地址,多个IP地址之间使用半角逗号间隔。

    --cluster-dns 192.168.XX.XX

    --cluster-domain

    集群的域名。配置后,除了主机的搜索域外,Kubelet会配置所有容器来搜索该域名。

    --cluster-domain example.com

  • 使用示例

    • 示例一:不添加参数创建VNode

      vnode create
    • 示例二:配置自定义资源(customResources)

      vnode create1

      创建完成后,您可以通过kubectl describe node命令查看节点详情,在CapacityAllocatable中可以看到配置的自定义资源。

      vnode create1-1
    • 示例三:配置clusterDNS和clusterDomain

      vnode create2

      创建完成后,对于调度到该VNode的ECI Pod,通过kubectl describe pod命令查看Pod详情,在annotations中可以查看clusterDNS和clusterDomain。

      vnode create2-1

list

list命令用于查询VNode状态。

  • 命令格式

    vnode list
  • 使用示例

    vnode list

describe

describe命令用于查看某一VNode的详细信息。

  • 命令格式

    vnode describe <vnode id>
  • 使用示例

    vnode describe

update

update命令用于更新指定的VNode配置。支持更新交换机、安全组、customResources、clusterDNS和clusterDomain。

  • 命令格式

    vnode update <vnode id> [--vswitch-id] [--security-group-id] [--custom-resources] [--cluster-dns] [--cluster-domain]
  • 参数说明

    重要

    update命令更新VNode配置为全量更新,传入的参数值会覆盖原有参数值,例如原有VNode已配置--custom-resources example1.com=10000,此时如果想要增加自定义资源example2.com,数量为10000,需传入--custom-resources example1.com=10000,example2.com=10000

    参数

    说明

    示例

    --vswitch-id

    VNode所属的交换机ID。

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

    --security-group-id

    VNode所属的安全组ID。

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

    --custom-resources

    VNode支持的自定义资源。如果ECI Pod的request中声明了相应的自定义资源,则该Pod会被调度到VNode。

    格式为资源名称=资源数量,多个资源之间使用半角逗号间隔。

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

    --cluster-dns

    DNS服务器的IP地址。如果ECI Pod中设置了dnsPolicy=ClusterFirst则使用该配置值为容器提供DNS服务。

    支持配置多个IP地址,多个IP地址之间使用半角逗号间隔。

    --cluster-dns 192.168.XX.XX

    --cluster-domain

    集群的域名。配置后,除了主机的搜索域外,Kubelet会配置所有容器来搜索该域名。

    --cluster-domain example.com

  • 使用示例

    vnode update

delete

delete命令用于删除指定的VNode。删除前,需确保VNode上没有ECI实例。

  • 命令格式

    vnode delete <vnode id>
  • 使用示例

    vnode delete

管理组件

除管理VNode外,VNodectl还可以管理eci-profile和vnode-approver组件。

addon list

addon list命令用于列出可用插件。

  • 命令格式

    vnode addon list --kubeconfig /path/to/kubeconfig
  • 使用示例

    vnode addon list

addon enable

addon enable命令用于加载插件。

  • 命令格式

    vnode addon enable <plug-in name> --kubeconfig /path/to/kubeconfig
  • 命令示例

    addon enable

addon disable

addon disable命令用于卸载插件。

  • 命令格式

    vnode addon disable <plug-in name> --kubeconfig /path/to/kubeconfig
  • 使用示例

    vnode addon disable

清理集群配置

cluster clean

cluster clean命令用于清理集群配置。如果后续不再使用VNode,可执行该命令清理。

  • 命令格式

    vnode cluster clean --kubeconfig <kubeconfig路径> [--bootstrap]
  • 使用示例

    • 之前使用普通方式配置集群

      vnode cluster clean --kubeconfig /path/to/kubeconfig
    • 之前TLS Bootstrap方式配置集群

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