9.11. 控制虚拟机状态
您可使用 virtctl 管理虚拟机状态并从 CLI 执行其他操作。例如,您可以使用 virtctl 来强制停止虚拟机或公开端口。
您可从 web 控制台停止、启动、重启、暂停和取消暂停虚拟机。
9.11.1. 使用 Web 控制台配置用于管理虚拟机状态的 RBAC 权限 复制链接链接已复制到粘贴板!
要允许用户使用 OpenShift Container Platform web 控制台管理虚拟机(VM)状态,您必须创建一个 RBAC 集群角色和集群角色绑定。集群角色使用 subresources.kubevirt.io API 来定义哪些资源可由某些用户或组控制。
先决条件
- 具有集群管理员对安装 OpenShift Virtualization 的 OpenShift Container Platform 集群的访问权限。
-
已安装 OpenShift CLI(
oc)。
流程
创建允许目标用户或组管理虚拟机状态的
ClusterRole对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以应用集群角色:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并确认集群角色已创建好,并观察其输出:
oc get clusterrole <name>
$ oc get clusterrole <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
NAME AGE vm-manager-access 15s
NAME AGE vm-manager-access 15sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查集群角色的详情,并确保存在
subresources.kubevirt.io的预期规则,特别是virtualmachines/start和virtualmachines/stop子资源。运行以下命令并观察输出:
oc describe clusterrole <name>
$ oc describe clusterrole <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ClusterRoleBinding对象来将您创建的集群角色绑定到目标用户或组:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以应用集群角色绑定:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并观察输出,确认已创建了集群角色绑定:
oc get clusterrolebinding <name>
$ oc get clusterrolebinding <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
NAME AGE vm-manager-access-binding 15s
NAME AGE vm-manager-access-binding 15sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,检查用户是否可以启动虚拟机:
oc auth can-i update virtualmachines/start --namespace=<namespace> --as=<user_name> --subresource=subresources.kubevirt.io
$ oc auth can-i update virtualmachines/start --namespace=<namespace> --as=<user_name> --subresource=subresources.kubevirt.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
yes
yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查用户是否可以停止虚拟机:
oc auth can-i update virtualmachines/stop --namespace=<namespace> --as=<user_name> --group=subresources.kubevirt.io
$ oc auth can-i update virtualmachines/stop --namespace=<namespace> --as=<user_name> --group=subresources.kubevirt.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
yes
yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.11.2. 启用对虚拟机操作的确认 复制链接链接已复制到粘贴板!
如果启用了确认,则 Stop、Restart 和 Pause 操作可以显示确认对话框。默认情况下禁用确认。
流程
-
在 OpenShift Container Platform web 控制台的 Virtualization 部分,进入到 Overview
Settings Cluster General settings。 - 将 VirtualMachine 操作确认 设置切换到 On。
9.11.3. 启动虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台启动虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要启动的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页,您可以在其中对多个虚拟机执行操作:
-
点击行右末尾的 Options 菜单
并点 Start VirtualMachine。
-
点击行右末尾的 Options 菜单
从树视图中启动虚拟机:
- 点项目名称旁边的 > 图标打开虚拟机列表。
- 右键点虚拟机的名称,然后选择 Start。
在启动前,要查看有关所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页。
点 Actions
Start。 注意首次启动从
URL源置备的虚拟机时,当 OpenShift Virtualization 从 URL 端点导入容器时,虚拟机的状态为 Importing。根据镜像大小,该过程可能需要几分钟时间。
9.11.4. 停止虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台停止虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要停止的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
,然后点 Stop VirtualMachine。
- 如果启用了操作确认,请在确认对话框中点 Stop。
-
点击位于行右边的 Options 菜单
从树视图中停止虚拟机:
- 点项目名称旁边的 > 图标打开虚拟机列表。
- 右键点虚拟机的名称,然后选择 Stop。
- 如果启用了操作确认,请在确认对话框中点 Stop。
要在停止之前查看所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页。
-
点 Actions
Stop。 - 如果启用了操作确认,请在确认对话框中点 Stop。
9.11.5. 重启虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台重启正在运行的虚拟机。
为了避免错误,不要重启状态为 Importing 的虚拟机。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要重启的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
并点 重启。
- 如果启用了操作确认,请在确认对话框中点 Restart。
-
点击位于行右边的 Options 菜单
从树视图中重启虚拟机:
- 点项目名称旁边的 > 图标打开虚拟机列表。
- 右键点虚拟机的名称,然后选择 Restart。
- 如果启用了操作确认,请在确认对话框中点 Restart。
要在重启前查看有关所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Restart。 - 如果启用了操作确认,请在确认对话框中点 Restart。
9.11.6. 暂停虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台暂停虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要暂停的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
,然后点 暂停 VirtualMachine。
- 如果启用了操作确认,请在确认对话框中点 Pause。
-
点击位于行右边的 Options 菜单
从树视图中暂停虚拟机:
- 点项目名称旁边的 > 图标打开虚拟机列表。
- 右键点虚拟机的名称,然后选择 Pause。
- 如果启用了操作确认,请在确认对话框中点 Pause。
要在暂停之前查看所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页。
-
点 Actions
Pause。 - 如果启用了操作确认,请在确认对话框中点 Pause。
9.11.7. 取消暂停虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台取消暂停暂停的虚拟机(VM)。
先决条件
- 至少一个虚拟机的状态是 Paused。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要取消暂停的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页,您可以在其中对多个虚拟机执行操作:
-
点击行右末尾的 Options 菜单
,然后点 Unpause VirtualMachine。
-
点击行右末尾的 Options 菜单
从 tree 视图中取消暂停虚拟机:
- 点项目名称旁边的 > 图标打开虚拟机列表。
- 右键点虚拟机的名称,然后选择 Unpause。
要在取消暂停之前查看所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Unpause。
9.11.8. 控制多个虚拟机的状态 复制链接链接已复制到粘贴板!
您可从 web 控制台启动、停止、重启、暂停和取消暂停多个虚拟机。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 - 可选:在树视图上方启用 Show only projects with VirtualMachines 选项,以限制显示的项目。
- 从树视图中选择相关项目。
导航到适合您的用例的菜单:
更改所选项目中的所有虚拟机的状态:
- 右键点树视图中的项目名称,然后从菜单中选择预期操作。
- 如果启用了操作确认,请在确认对话框中确认操作。
更改特定虚拟机的状态:
- 选中您要使用的虚拟机旁边的复选框。要选择所有虚拟机,请点 VirtualMachines 表标头中的复选框。
- 点 Actions,然后从菜单中选择预期的操作。
- 如果启用了操作确认,请在确认对话框中确认操作。