VM Runtime on Google Distributed Cloud 是在 GKE on Bare Metal 中运行基于虚拟机的工作负载的关键组件。
什么是 GDC 上的虚拟机运行时?
GDC 上的虚拟机运行时是 GKE on Bare Metal 的一部分,可让您像运行容器一样在 Kubernetes 上运行虚拟机。借助 VM Runtime on GDC,您可以运行基于虚拟机的现有工作负载,同时开发和运行基于容器的新应用。GDC 上的虚拟机运行时就像另一个虚拟化环境中的 Hypervisor。
借助 GDC 上的虚拟机运行时,您可以查看和管理虚拟机的状态,并收集审核或控制台日志。GDC 上的虚拟机运行时就像在其他虚拟环境中使用的管理控制台工具一样。
您无需对基于虚拟机的现有工作负载进行现代化改造或升级,即可使用 GDC 上的虚拟机运行时。虚拟机像在其他虚拟化环境中运行一样,但能够受益于 GKE on Bare Metal 集群中适用于应用的单组工作流和流程。准备就绪后,您可以将这些基于虚拟机的工作负载迁移到容器,并继续使用相同的 GKE Enterprise 管理工具。
优势
GDC 上的虚拟机运行时具有以下优势:
- 能够以编程方式使用虚拟机资源,如同您使用容器一样。
- 跨容器和虚拟机高效利用资源。
- 对虚拟机和容器进行统一管理和操作。
- 对新的容器化应用程序和基于虚拟机的旧版应用之间的流量进行统一的显示和控制。
- 简化了迁移到云或容器化应用的体验。
GDC 上的 VM Runtime 可帮助您在 GKE on Bare Metal 上迁移虚拟机或构建新虚拟机。
GDC 上的虚拟机运行时与 KubeVirt 上的不同
GDC 上的虚拟机运行时基于 KubeVirt 开源项目构建。Kubevirt 专门为 Kubernetes 构建,并跟随声明式 API 模型使用 Kubernetes 资源模型、自定义资源定义或运算符。VM Runtime on GDC 将 Kubevirt 集成到了 GKE on Bare Metal 中,以一致的方式管理应用。本部分概述了 KubeVirt 中未提供的 VM Runtime on GDC 的一些关键功能。
Lifecycle
VM Runtime on GDC 基于 GKE Enterprise 平台的强大功能,可与 GKE Enterprise 平台完全集成。您可以通过 CLI 命令、API 或 Google Cloud 控制台在 GDC 上安装、升级和卸载 VM Runtime。与兼容的存储搭配使用时,GKE Enterprise 集群升级包括在主机之间实时迁移虚拟机工作负载(预览版),以最大限度地减少潜在的虚拟机工作负载中断。
云端支持的管理体验
GDC 上的 VM Runtime 可为本地安装提供类似于云的体验。这种体验包括以下新的类似云的基本组件:
VirtualMachineType
对象可让管理员创建具有特定 CPU 和内存配置的预定义虚拟机类型。VirtualMachineDisk
和StorageProfile
对象添加了对多个磁盘的支持以及集中管理StorageClass
属性。Network
对象可在 Kubernetes 中实现类似于虚拟交换机的功能。
存储空间
GDC 上的 VM Runtime 会自动为集群中的每个 StorageClass
生成存储配置文件对象 StorageProfile
。这个新配置文件对象可让您从一个位置为虚拟机配置 StorageClass
属性,包括 accessMode
和 volumeMode
。
您可以将多个磁盘挂接到一个虚拟机。您可以挂接现有磁盘,也可以创建并挂接新磁盘。新的 VirtualMachineDisk
自定义资源允许您使用捆绑的容器化数据导入工具 (CDI) 创建空白磁盘或基于现有映像的磁盘。CDI 甚至可让您从受凭据保护的 Cloud Storage 中拉取映像。
网络
GDC 上的 VM Runtime 扩展了 KubeVirt 的默认 pod-network
产品,以提供更适合生产虚拟机工作负载的网络选项。GDC 上的虚拟机运行时扩展了基于容器网络接口 (CNI) 框架的现有网络堆栈。GDC 上的 VM Runtime 添加了 Network
对象,用于在 Kubernetes 中启用类似于虚拟交换机的功能。虽然网络插件可用于 Kubernetes,但它们需要自己的安装、生命周期和管理。借助 GDC 上的虚拟机运行时,开箱即用的虚拟机可以与多个第 2 层网络接口交互,包括支持 VLAN 标记和外部 DHCP 等。GDC 上的虚拟机运行时还引入了接口对象,即使重启、迁移或重新创建虚拟机,它也可以实现 IP 和 MAC 地址粘性。新的网络栈还与 NetworkPolicy
集成,因此您可以使用 Kubernetes 基本组件来控制虚拟机之间的第 4 层流量。
可观测性
GDC 上的虚拟机运行时自动支持 Google Cloud 控制台中的虚拟机可观测性。除了 GKE 集群和 VM Runtime on GDC 日志记录之外,虚拟机串行控制台日志还会自动流式传输到 Cloud Logging。虚拟机日志以及容器日志可以在 Logs Explorer 中查看。您可以在 Google Cloud 控制台中查看虚拟机 CPU、内存、磁盘和网络指标。您还可以使用熟悉的 Google Cloud 服务来实现信息中心、提醒以及与通知集成。
管理
您可以通过命令行、API 和 Google Cloud 控制台使用大多数 VM Runtime on GDC 功能。这种灵活的方法支持多种开发者和操作风格。借助 GKE Enterprise 堆栈的强大功能,Config Sync 和 Policy Controller 也可用于实施 GitOps 方法和精细政策。最后,KubeVirt 工具(例如 virtctl
)也进行了扩展,以支持 GDC 上的额外虚拟机运行时。
GPU 支持
借助 GDC 上的虚拟机运行时,您可以在虚拟机中启用受支持的 NVIDIA GPU 卡,从而实现机器学习和其他专业工作负载。
开始使用
如需开始在 GDC 上使用虚拟机运行时,请参阅以下文档:
- 在 GDC 上启用或停用虚拟机运行时
- 快速入门:在 GKE on Bare Metal 中创建虚拟机
- 管理在 GDC 上使用 VM Runtime 的虚拟机的电源状态
- 查看在 GDC 上使用 VM Runtime 的虚拟机的控制台日志