安裝並配置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
樣本二:配置自訂資源(customResources)
建立完成後,您可以通過
kubectl describe node
命令查看節點詳情,在Capacity
和Allocatable
中可以看到配置的自訂資源。樣本三:配置clusterDNS和clusterDomain
建立完成後,對於調度到該VNode的ECI Pod,通過
kubectl describe pod
命令查看Pod詳情,在annotations
中可以查看clusterDNS和clusterDomain。
list
list命令用於查詢VNode狀態。
命令格式
vnode list
使用樣本
describe
describe命令用於查看某一VNode的詳細資料。
命令格式
vnode describe <vnode id>
使用樣本
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
使用樣本
delete
delete命令用於刪除指定的VNode。刪除前,需確保VNode上沒有ECI執行個體。
命令格式
vnode delete <vnode id>
使用樣本
管理組件
除管理VNode外,VNodectl還可以管理eci-profile和vnode-approver組件。
addon list
addon list命令用於列出可用外掛程式。
命令格式
vnode addon list --kubeconfig /path/to/kubeconfig
使用樣本
addon enable
addon enable命令用於載入外掛程式。
命令格式
vnode addon enable <plug-in name> --kubeconfig /path/to/kubeconfig
命令樣本
addon disable
addon disable命令用於卸載外掛程式。
命令格式
vnode addon disable <plug-in name> --kubeconfig /path/to/kubeconfig
使用樣本
清理叢集配置
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