8.10. 控制虚拟机状态
您可使用 virtctl 管理虚拟机状态并从 CLI 执行其他操作。例如,您可以使用 virtctl 来强制停止虚拟机或公开端口。
您可从 web 控制台停止、启动、重启、暂停和取消暂停虚拟机。
8.10.1. 使用 Web 控制台配置用于管理虚拟机状态的 RBAC 权限 复制链接链接已复制到粘贴板!
要允许用户使用 Red Hat OpenShift Service on AWS 经典架构 web 控制台管理虚拟机(VM)状态,您必须创建一个 RBAC 集群角色和集群角色绑定。集群角色使用 subresources.kubevirt.io API 来定义哪些资源可由某些用户或组控制。
先决条件
- 集群管理员可以访问安装 OpenShift Virtualization 的 Red Hat OpenShift Service on AWS 经典架构集群。
-
已安装 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
8.10.2. 启用对虚拟机操作的确认 复制链接链接已复制到粘贴板!
如果启用了确认,则 Stop、Restart 和 Pause 操作可以显示确认对话框。默认情况下禁用确认。
流程
-
在 Red Hat OpenShift Service on AWS 经典架构 web 控制台的 Virtualization 部分,进入到 Overview
Settings Cluster General 设置。 - 将 VirtualMachine 操作确认 设置切换到 On。
8.10.3. 启动虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台启动虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要启动的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页面,您可以在其中对多个虚拟机执行操作:
-
点击行右末尾的 Options 菜单
并点 Start VirtualMachine。
-
点击行右末尾的 Options 菜单
从树视图中启动虚拟机:
- 点击项目名称旁边的 > 图标打开虚拟机列表。
- 右键单击虚拟机的名称,然后选择 Start。
在启动前,要查看有关所选虚拟机的综合信息:
- 点击虚拟机名称访问 VirtualMachine 详情页面。
点 Actions
Start。 注意首次启动从
URL源置备的虚拟机时,当 OpenShift Virtualization 从 URL 端点导入容器时,虚拟机的状态为 Importing。根据镜像大小,该过程可能需要几分钟时间。
8.10.4. 停止虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台停止虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要停止的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页面,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
,然后点 Stop VirtualMachine。
- 如果启用了操作确认,请在确认对话框中点击 Stop。
-
点击位于行右边的 Options 菜单
从树视图中停止虚拟机:
- 点击项目名称旁边的 > 图标打开虚拟机列表。
- 右键单击虚拟机的名称,然后选择 Stop。
- 如果启用了操作确认,请在确认对话框中点击 Stop。
要在停止之前查看所选虚拟机的综合信息:
- 点击虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Stop。 - 如果启用了操作确认,请在确认对话框中点击 Stop。
8.10.5. 重启虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台重启正在运行的虚拟机(VM)。
为避免错误,请不要重启虚拟机,因为它的状态为 Importing。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要重启的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页面,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
并点 重启。
- 如果启用了操作确认,请在确认对话框中点 Restart。
-
点击位于行右边的 Options 菜单
从树视图中重启虚拟机:
- 点击项目名称旁边的 > 图标打开虚拟机列表。
- 右键单击虚拟机的名称,然后选择 Restart。
- 如果启用了操作确认,请在确认对话框中点 Restart。
要在重启前查看有关所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Restart。 - 如果启用了操作确认,请在确认对话框中点 Restart。
8.10.6. 暂停虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台暂停虚拟机(VM)。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要暂停的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页面,您可以在其中对多个虚拟机执行操作:
-
点击位于行右边的 Options 菜单
,然后点 暂停 VirtualMachine。
- 如果启用了操作确认,请在确认对话框中单击 暂停。
-
点击位于行右边的 Options 菜单
从树视图中暂停虚拟机:
- 点击项目名称旁边的 > 图标打开虚拟机列表。
- 右键单击虚拟机的名称,然后选择 暂停。
- 如果启用了操作确认,请在确认对话框中单击 暂停。
要在暂停之前查看所选虚拟机的综合信息:
- 点击虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Pause。 - 如果启用了操作确认,请在确认对话框中单击 暂停。
8.10.7. 取消暂停虚拟机 复制链接链接已复制到粘贴板!
您可从 web 控制台取消暂停暂停的虚拟机(VM)。
先决条件
- 至少一个虚拟机的状态是 Paused。
流程
-
在侧边菜单中点 Virtualization
VirtualMachines。 - 在 tree 视图中,选择包含您要取消暂停的虚拟机的项目。
导航到适合您的用例的菜单:
要保留此页面,您可以在其中对多个虚拟机执行操作:
-
点击行右末尾的 Options 菜单
,然后点 Unpause VirtualMachine。
-
点击行右末尾的 Options 菜单
从 tree 视图中取消暂停虚拟机:
- 点击项目名称旁边的 > 图标打开虚拟机列表。
- 右键单击虚拟机的名称,然后选择 Unpause。
在取消暂停之前,要查看有关所选虚拟机的综合信息:
- 点虚拟机名称访问 VirtualMachine 详情页面。
-
点 Actions
Unpause。
8.10.8. 控制多个虚拟机的状态 复制链接链接已复制到粘贴板!
您可从 web 控制台启动、停止、重启、暂停和取消暂停多个虚拟机。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 - 可选:在树视图上方启用 Show only projects with VirtualMachines 选项,以限制显示的项目。
- 从树视图中选择相关项目。
导航到适合您的用例的菜单:
更改所选项目中的所有虚拟机的状态:
- 右键单击树视图中的项目名称,然后从菜单中选择预期操作。
- 如果启用了操作确认,请在确认对话框中确认操作。
更改特定虚拟机的状态:
- 选中您要使用的虚拟机旁边的复选框。要选择所有虚拟机,请点击 VirtualMachines 表标头中的复选框。
- 点 Actions,然后从菜单中选择预期的操作。
- 如果启用了操作确认,请在确认对话框中确认操作。