7.7.2. 使用 CLI 命令访问虚拟机控制台
7.7.2.1. 通过 SSH 访问虚拟机实例
在虚拟机上公开 22 端口后,就可以使用 SSH 访问虚拟机(VM)。
virtctl expose
命令可将虚拟机实例(VMI)端口转发到节点端口,并创建一个服务以启用对它的访问。以下示例创建 fedora-vm-ssh
服务,它将集群节点的特定端口流量转发到 <fedora-vm>
虚拟机的端口 22。
先决条件
- 您必须与 VMI 在同一个项目中。
-
您要访问的 VMI 必须使用
masquerade
绑定方法连接到默认 pod 网络。 - 您要访问的 VMI 必须正在运行。
-
安装 OpenShift CLI(
oc
)。
流程
运行以下命令来创建
fedora-vm-ssh
服务:$ virtctl expose vm <fedora-vm> --port=22 --name=fedora-vm-ssh --type=NodePort 1
- 1
<fedora-vm>
是您在其上运行fedora-vm-ssh
服务的虚拟机的名称。
检查服务,找出服务获取的端口:
$ oc get svc
输出示例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE fedora-vm-ssh NodePort 127.0.0.1 <none> 22:32551/TCP 6s
+ 在本例中,服务获取了 32551
端口。
通过 SSH 登录 VMI。使用任何集群节点的
ipAddress
,以及在上一步中找到的端口:$ ssh username@<node_IP_address> -p 32551