对于已经在与VMware合作的企业而言,VMware vSphere with Tanzu可以帮助他们集中管理其 Kubernetes 集群,并为 IT 团队提供另一种(但仍然熟悉)的集群处理方法。
虽然vSphere被称为虚拟机管理程序,以运行虚拟机,但vSphere也可以作为 Kubernetes 集群来运行容器工作负载。让我们看看 vSphere with Tanzu 提供什么,以及如何启动和运行它。
vSphere with Tanzu如何作为 Kubernetes 集群工作
VMware vSphere with Tanzu包含两个主要功能:它使 IT 管理员能够在虚拟机管理程序上运行容器工作负载,并在虚拟机中部署 Kubernetes 集群。这让它可以作为部署集群的 Kubernetes 集群工作。
熟悉 Kubernetes 的人都知道,部署包含:负责管理的控制平面节点和运行容器的工作节点。要使用 Tanzu 设置 vSphere,需要在称为主管集群的常规 vSphere 集群中部署三个虚拟设备。
图 1 显示名为 SA-Compute-01 的 vSphere 群集及其三个管理引擎控制平面虚拟机。这三个虚拟机构成该集群的主节点。
图1.vSphere Client页面。
这个群集中的 ESXi 主机是工作器节点,因此无需部署其他物理节点或虚拟机即可运行容器工作负载。ESXi 主机直接在虚拟机管理程序上运行,或者从技术上讲,在具有自定义、精简的 Photon OS Linux 发行版的小型专用虚拟机内运行,该发行版包含用于运行容器的容器引擎。与往常一样,容器在 Pods中运行,而对于vSphere with Tanzu,则在 vSphere Pod 中运行。
有些人可能会说,使用 vSphere Pod 会增加额外的开销,并且与在虚拟机中安装 Kubernetes 时的部署类型相同。但有一个区别:Linux 内核被精简,并直接加载到虚拟机可执行 (VMX) 进程中,而无需经历与常规 VM 相同的引导周期。因此,使用 vSphere Pod启动容器的速度与在任何其他 Kubernetes 工作节点上一样快。
在 Kubernetes 集群中,每个工作节点都运行一个名为 kubelet 的进程,kubelet按照在控制平面节点中运行的调度程序来选取要做的工作。在vSphere with Tanzu中,每个 ESXi 主机都运行一个名为 spherelet 的进程,该进程执行相同的操作:如果主管集群控制虚拟机计划容器在主机上运行,则 spherelet 会下载容器映像并在 vSphere Pod 中启动该映像。
如何设置vSphere with Tanzu
vSphere with Tanzu从部署三个控制平面设备开始。接下来,IT 管理员在命名空间类型的 vCenter 清单中创建容器。这类似于 Kubernetes 命名空间,这可设置边界,以确定开发人员和 IT 管理员可以运行其工作负载的位置。图 3 显示了命名空间配置面板,其中包含一个存储策略,该策略指示容器存储可以转到的位置以及谁有权使用该命名空间。
图3.vSphere配置面板。
通过此设置,IT 管理员可以像正常运行 VM 一样运行容器化工作负载。vSphere Pod 将显示在 vCenter 服务器清单中。唯一真正的区别是,它们不是从 vSphere Client 进行控制,而是像任何其他 Kubernetes 集群一样通过 kubectl 命令进行控制。开发人员可以像处理其他 Kubernetes 集群一样使用集群。
对于网络虚拟化,vSphere Pods需要 VMware NSX,因为虚拟网络接口卡连接到覆盖网络分段,这些分段负责 vSphere 主机内的通信以及物理上分离的容器之间的通信。此功能与常规 Kubernetes 集群中的功能相同,例如,管理员可以使用 Calico 或 Antrea 来实现此目的。
NSX 还允许在部署中将负载平衡器自动部署为服务,如图 4 所示。该映像显示了从 NSX 用户界面自动部署的负载平衡器虚拟服务器。NSX 管理员可以看到这一点,但使用 kubectl 命令处理的 YAML 文件控制对此页面的访问。
图4.虚拟机NSX页面。
VMware vSphere with Tanzu还可以部署在虚拟机中运行的 Kubernetes 集群,这些虚拟机不使用vSphere Pods。它使用三个管理引擎控制平面虚拟机。通过这些计算机,ESXi 主机部署运行 Linux 的虚拟机。然后,这些虚拟机将运行 Kubernetes 控制平面和工作器节点。此功能名为 Tanzu Kubernetes Grid (TKG)。
图 5 显示了一个名为 techtarget-tkg-02 的 TKG 集群,其中包含三个控制平面虚拟机(构成控制平面节点)和五个工作虚拟机。这些机器运行原生的 Kubernetes 集群,无需 VMware 进行任何修改。这可以实现对集群的完全根级访问,并使将任何服务类型部署到 Kubernetes 中成为可能。
图5.具有三个控制平面虚拟机的TKG集群。
TKG 集群不需要 NSX 进行网络虚拟化,但它确实需要部署负载均衡器,然后vSphere with Tanzu 才能在虚拟机中运行 Kubernetes 集群。在发布时,支持的两个负载平衡器是 HAProxy 和 VMware NSX Advanced Load Balancer。后一个选项并不意味着需要完整的 NSX 部署;此负载平衡器是 VMware 几年前收购的 Avi Networks 负载平衡器的演变,是一个独立产品。如果你想要部署 HAProxy 负载平衡器,可以从 GitHub 下载 VMware 创建的虚拟设备,以部署在 ESXi 主机上。
vSphere with Tanzu 的优势
借助vSphere with Tanzu,,VMware 软件堆栈可以管理 Kubernetes 群集部署,vSphere Client 可以提供更新。这实现了集中式 Kubernetes 集群管理。
根据需要部署和销毁群集也很容易,从而为测试和开发提供群集变得简单直接。此外,开发人员可以通过 kubectl 命令和 YAML 文件处理集群,就像在其他 Kubernetes 环境中一样。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
AWS提供具有许可证移动性的原生VMware服务
AWS和Broadcom将为VMware Cloud Foundation客户提供AWS原生版本的VMware […]
-
新对象存储、虚拟机产品可用于HPE GreenLake
本周在HPE Discover Barcelona大会上,惠与公司(Hewlett Packard Enter […]
-
Pure提供全托管VMware迁移到Azure
Pure Storage推出一项新服务,旨在帮助客户将本地VMware环境迁移到Microsoft Azure […]
-
如何解决Java虚拟线程固定问题
虚拟线程是Java的Project Loom项目引入的一种全新线程模型,并随Java 21 LTS正式发布,虚 […]