访问虚拟路由器 CLI
您可以通过访问正在运行的虚拟路由器代理容器的外壳来访问虚拟路由器的命令行界面 (CLI)。
注意:
以下命令作为示例提供。必须从您的环境中替换 vRouter Pod 名称。命令输出可能因环境而异。
列出 K8s 集群上正在运行的 Pod:
kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE contrail-deploy contrail-k8s-deployer-7b5dd699b9-nd7xf 1/1 Running 0 41m contrail contrail-vrouter-masters-dfxgm 3/3 Running 0 41m jcnr kube-crpd-worker-ds-8tnf7 1/1 Running 0 41m jcnr syslog-ng-54749b7b77-v24hq 1/1 Running 0 41m kube-system calico-kube-controllers-57b9767bdb-5wbj6 1/1 Running 2 (92d ago) 129d kube-system calico-node-j4m5b 1/1 Running 2 (92d ago) 129d kube-system coredns-8474476ff8-fpw78 1/1 Running 2 (92d ago) 129d kube-system dns-autoscaler-7f76f4dd6-q5vdp 1/1 Running 2 (92d ago) 129d kube-system kube-apiserver-5a5s5-node2 1/1 Running 3 (92d ago) 129d kube-system kube-controller-manager-5a5s5-node2 1/1 Running 4 (92d ago) 129d kube-system kube-multus-ds-amd64-4zm5k 1/1 Running 2 (92d ago) 129d kube-system kube-proxy-l6xm8 1/1 Running 2 (92d ago) 129d kube-system kube-scheduler-5a5s5-node2 1/1 Running 4 (92d ago) 129d kube-system nodelocaldns-6kwg5 1/1 Running 2 (92d ago) 129d
复制 vRouter Pod 的名称 —contrail-vrouter-masters-dfxgm
在本例中为 输出 。您将使用 Pod 名称连接到正在运行的容器的 shell。
kubectl exec
发出命令以访问正在运行的容器的 shell:
kubectl exec -n <namespace> -it <pod name> --container <container name> -- bash
其中 <命名空间> 标识运行 Pod 的命名空间, <Pod 名称> 指定容器 的名称,<容器名称> 指定容器的名称(如果容器有多个容器,则指定)。
虚拟路由器容器有三个容器。如果未指定容器名称,则该命令将默认为虚拟路由器代理容器外壳。下面是一个示例:
[root@jcnr-01]# kubectl exec -n contrail -it contrail-vrouter-masters-dfxgm -- bash Defaulted container "contrail-vrouter-agent" out of: contrail-vrouter-agent, contrail-vrouter-agent-dpdk, contrail-vrouter-telemetry-exporter, contrail-init (init), contrail-vrouter-kernel-init-dpdk (init) [root@jcnr-01 /]#
此时,您已连接到虚拟路由器的 CLI。