VM Runtime on Google Distributed Cloud 概览

VM Runtime on Google Distributed Cloud 是在 GKE on Bare Metal 中运行基于虚拟机的工作负载的关键组件。

什么是 VM Runtime on Google Distributed Cloud?

VM Runtime on Google Distributed Cloud 是 GKE on Bare Metal 的一部分,可让您以与运行容器相同的方式在 Kubernetes 上运行虚拟机。借助 VM Runtime on Google Distributed Cloud,您可以在开发和运行基于容器的新应用时,运行基于虚拟机的现有工作负载。VM Runtime on Google Distributed Cloud 类似于较传统的虚拟化环境中的 Hypervisor。

VM Runtime on Google Distributed Cloud 可让您查看和管理虚拟机的状态,并收集审核或控制台日志。VM Runtime on Google Distributed Cloud 的行为类似于较传统的虚拟化环境中使用的管理控制台工具。

您无需对基于虚拟机的现有工作负载进行现代化改造或升级,即可使用 VM Runtime on Google Distributed Cloud。虚拟机运行方式与传统虚拟化环境相同,但能够受益于 GKE 集群中应用的一组工作流和进程。在您准备就绪后,您便可以将这些基于虚拟机的工作负载迁移到容器,并继续使用相同的 GKE Enterprise 管理工具。

优势

VM Runtime on Google Distributed Cloud 具有以下优势:

  • 能够以编程方式使用虚拟机资源,如同您使用容器一样。
  • 跨容器和虚拟机高效利用资源。
  • 对虚拟机和容器进行统一管理和操作。
  • 对新的容器化应用程序和基于虚拟机的旧版应用之间的流量进行统一的显示和控制。
  • 简化了迁移到云或容器化应用的体验。

VM Runtime on Google Distributed Cloud 可帮助您在 GKE on Bare Metal 上迁移虚拟机或构建新的虚拟机。

VM Runtime on Google Distributed Cloud 与 KubeVirt 的区别

VM Runtime on Google Distributed Cloud 基于 KubeVirt 开源项目构建。Kubevirt 专门为 Kubernetes 构建,并跟随声明式 API 模型使用 Kubernetes 资源模型、自定义资源定义或运算符。VM Runtime on Google Distributed Cloud 将 Kubevirt 集成到 GKE on Bare Metal 中,从而以一致的方式管理您的应用。本部分概述了 KubeVirt 中未提供的 VM Runtime on Google Distributed Cloud 的一些关键功能。

Lifecycle

VM Runtime on Google Distributed Cloud 基于 GKE Enterprise 平台的强大功能构建,与 GKE Enterprise 平台完全集成。您可以使用 CLI 命令、API 或 Google Cloud 控制台来安装、升级和卸载 VM Runtime on Google Distributed Cloud。与兼容存储搭配使用时,GKE 集群升级包括在主机之间实时迁移虚拟机工作负载(预览版),以最大限度地减少潜在的虚拟机工作负载中断。

云端支持的管理体验

VM Runtime on Google Distributed Cloud 可为本地安装提供类似云的体验。这种体验包括以下新的类似云的基本组件:

存储

VM Runtime on Google Distributed Cloud 会自动为集群中的每个 StorageClass 生成一个存储配置文件对象 StorageProfile。这个新配置文件对象可让您从一个位置为虚拟机配置 StorageClass 属性,包括 accessModevolumeMode

您可以将多个磁盘挂接到一个虚拟机。您可以挂接现有磁盘,也可以创建并挂接新磁盘。新的 VirtualMachineDisk 自定义资源允许您使用捆绑的容器化数据导入工具 (CDI) 创建空白磁盘或基于现有映像的磁盘。CDI 甚至可让您从受凭据保护的 Cloud Storage 中拉取映像

网络

VM Runtime on Google Distributed Cloud 在 KubeVirt 的默认 pod-network 产品的基础上进行了扩展,从而提供更适合生产虚拟机工作负载的网络选项。VM Runtime on Google Distributed Cloud 扩展了基于容器网络接口 (CNI) 框架的现有网络栈。VM Runtime on Google Distributed Cloud 添加了一个 Network 对象,用于在 Kubernetes 中启用类似虚拟交换机的功能。虽然网络插件可用于 Kubernetes,但它们需要自己的安装、生命周期和管理。借助 VM Runtime on Google Distributed Cloud,开箱即用的虚拟机可与多个第 2 层网络接口进行交互,包括支持 VLAN 标记、外部 DHCP 等。VM Runtime on Google Distributed Cloud 还引入了接口对象,即使虚拟机重启、迁移或重新创建,也可实现 IP 和 MAC 地址的粘性。新的网络栈还与 NetworkPolicy 集成,因此您可以使用 Kubernetes 基本组件来控制虚拟机之间的第 4 层流量。

可观测性

VM Runtime on Google Distributed Cloud 自动支持 Google Cloud 控制台中的虚拟机可观测性。除了 GKE 集群和 VM Runtime on Google Distributed Cloud 日志记录之外,虚拟机串行控制台日志也会自动流式传输到 Cloud Logging。虚拟机日志以及容器日志可以在 Logs Explorer 中查看。您可以在 Google Cloud 控制台中查看虚拟机 CPU、内存、磁盘和网络指标。您还可以使用熟悉的 Google Cloud 服务来实现信息中心、提醒以及与通知集成。

管理

大多数 VM Runtime on Google Distributed Cloud 功能可从 CLI、API 和 Google Cloud 控制台获得。这种灵活的方法支持多种开发者和运营方式。利用 GKE Enterprise 栈的强大功能、Config Management 和 Policy Controller 还可用于实现 GitOps 方法和精细政策。最后,传统的 KubeVirt 工具(例如 virtctl)也进行了扩展,以支持其他 VM Runtime on Google Distributed Cloud 功能。

GPU 支持

VM Runtime on Google Distributed Cloud 可让您在虚拟机中启用受支持的 NVIDIA GPU 卡,从而实现机器学习和其他专用工作负载。

开始使用

如需开始使用 VM Runtime on Google Distributed Cloud,请参阅以下文档: