OpenShift+VMware:新的容器架构

如题所述

第1个回答  2022-08-15

这是一个由VMware的Robbie Jerrom撰写的访客帖子。Robbie与VMware在欧洲的一些最大客户一起工作,因为他们专注于将现代和云本机应用程序和平台带到他们的VMware软件定义的数据中心。在加入VMware之前,Robbie花了十年时间作为软件工程师构建企业软件,如Java虚拟机、CICS和WebSphere。Robbie也是VMware首席技术官大使社区的成员,确保了VMware的工程组织和现实世界客户之间的紧密协作。

在这篇博客中,我们更深入地探讨了根据最近的发布,VMware和Red Hat是如何协作以更好地集成OpenShift容器平台和VMware的软件定义数据中心(SDDC)基础架构堆栈的。我们有许多共同客户希望充分利用他们的技术投资组合。而且,由于VMware和Red Hat都将Kubernetes作为支持其现代应用程序的核心平台,因此,我们共同致力于为在VMware SDDC上部署OpenShift的客户实现成功,这是合乎逻辑的。

下面,第一步是沟通和分享我们已经拥有的共同点。

VMware vSphere和Red HatEnterprise Linux已经可以很好地协同工作;但是IT团队和OpenShift管理员往往忽略了为交付更好的存储和SDN而进行的体系结构调整。为了解决这一问题,本文概述了Red Hat OpenShift Container Platform 3.11核心文档的最新更新,其中包括了SDN和存储集成的最新指导文档以及支持SDN(NSX-T/NCP)和Kubernetes存储的专用VMware文档。

让我们一起深入研究这两个领域。

一、存储

为了支持容器的持久存储需求,VMware开发了vSphere云服务程序及其相应的卷管理插件。这些可以提供给Red Hat OpenShift,用以支撑VMWare的vSAN或者支持vSphere的任意数据库。虽然每个存储后端的各不相同,但这种集成方案依旧可以满足。

这些公布的存储产品为VMFS、NFS或vSAN数据存储。企业级功能(如基于存储策略的管理(SPBM))提供了自动化的资源调配和管理,使客户能够确保其业务关键应用程序请求的QoS,并在SDDC平台上确保SLA达成。

SPBM在广泛的数据服务和存储解决方案中提供单一的统一控制平面。SPBM还使vSphere管理员能够克服预先的存储资源调配挑战,例如:容量规划、差异化的服务级别和管理容量净空。

Kubernets StorageClass允许按需创建持久卷,而不需要创建存储并将其挂载在OpenShift的节点之上。StorageClass指定一个提供者和相关参数,用于定义持久卷预期策略,该策略将动态地提供。

组合使用SPBM和vSphere数据存储的组合作为抽象,我们隐藏了复杂的存储细节,并为从OpenShift存储持久数据(PV)环境提供了统一的接口。

根据使用的后端存储,数据存储可以是vSAN、VMFS或NFS:

●VSAN支持可提供强大性能和可靠性的超聚合基础架构解决方案。VSAN的优点是简化了存储管理功能特性,具有诸如在vSphere IaaS层上驱动的存储策略等功能。

●VMFS(虚拟机文件系统)是一个群集文件系统,允许虚拟化扩展到多个VMware vSphere服务器的单个节点之外。VMFS通过提供对存储池的共享访问来提高资源利用率。

●NFS(网络文件系统)是一种分布式文件协议,可以像本地存储一样通过网络访问存储。

1)静态和动态资源调拨

vSphere Cloud Provider提供两种向Red Hat OpenShift容器平台提供存储的方法:静态资源调配和动态资源调配。首选的方法是使用动态资源调配——让IaaS平台处理复杂性。与静态资源调配不同,动态资源调配会自动触发创建PV及其后端VMDK文件。这是一种更安全的方式,对于在vSphere上提供可靠的Red Hat OpenShift容器平台至关重要。

2)动态调拨

●为OpenShift集群定义默认的StorageClass

●在Kubernetes中创建Persistent Volume Claim

3)静态调拨

●在vSphere存储上创建虚拟磁盘并挂载到Red Hat OpenShift容器平台节点

●在OpenShift中为该磁盘创建持久卷(PV)

●创建一个持久卷,申请一个PVC

●允许POD认领PVC

与SPBM一起使用vSphere Cloud Provider,可以让vSphere和OpenShift管理员了解存储,并让他们能够在不增加OpenShift层复杂性的情况下利用后端存储功能。

二、网络(SDN)

NSX-T数据中心通过NSX容器插件(NCP)帮助OpenShift客户简化了网络和基于网络的安全性。NCP在IaaS级别提供OpenShift和VMware NSX Manager之间的接口。

NCP在每个OpenShift节点上运行,并将容器的网络接口连接到NSX覆盖网络。它监视容器生命周期事件,并通过调用NSX API管理容器的网络资源,如负载平衡器、逻辑端口、交换机、路由器和安全组。这包括客户vSwitch的编程,以便在容器接口和虚拟网络接口卡(VNIC)之间标记和转发容器流量。

NCP提供如下功能:

●自动为OpenShift集群创建NSX-T逻辑拓扑,并为每个OpenShift命名空间创建单独的逻辑网络

●将OpenShift pods连接到逻辑网络,并分配IP和MAC地址

●支持网络地址转换(NAT),并为每个OpenShift命名空间分配一个单独的SNAT IP

●使用NSX-T分布式防火墙实施OpenShift网络策略

●支持进出网络策略

●在网络策略中支持IPBlock选择器

●当为网络策略指定标签选择器时,支持matchLabels和MatchExpression

●使用NSX-T的7层负载均衡器实现OpenShift路由器

●通过TLS edge termination支持HTTP路由和HTTPS路由

●支持具有备用后端和通配符子域的路由

●为NSX-T逻辑交换机端口命名空间、pod名称创建标签,标记pod,并允许管理员基于标记定义NSX-T安全组和策略。

1)微分段

NSX-T(通过NCP)可以使用预定义的基于标签的规则和每个命名空间的Kubernetes网络策略,将微分段应用到OpenShift pod。预定义的标记规则使您能够在部署之前根据业务逻辑定义防火墙策略,而不是使用诸如静态IP地址等效率较低的方法来制定安全策略。使用此方法,NSX-T中定义的安全组具有入口和出口策略,并进行了微分段,以保护敏感应用程序和数据,可以达到POD和容器底层级别。

最后,NSX-T为OpenShift集群提供了完整的网络可跟踪性和可视性。NSX-T为Kubernetes提供了内置的操作工具,包括:

●端口连接

●流量追踪

●端口镜像

●IpFIX

以上方法为DevOps和专用网络团队提供对OpenShift容器网络的更好可见性,使网络管理员和OpenShift管理员在诊断和排除问题时能够有共同语言。

三、总结

VMware SDDC提供了弹性、可扩展的基础架构,与VMware的Kubernetes解决方案以及Red Hat等关键合作伙伴的解决方案紧密集成。

展望未来,VMware和Red Hat都致力于支持我们的共同客户和Kubernetes社区,共同目标是通过可参考体系结构提供更好的产品集成,该体系结构使改进的工具能够在VMware的SDDC和Red Hat OpenShift容器平台上交付和管理云本机应用程序。

原文链接:

ArthurGuo 职场老司机。21世纪初开始拥抱开源,后转型项目管理。现在某云计算公司担任技术总监。掌握多门计算机语言,但更擅长人类语言。爱玩文字,不喜毒舌。

相似回答