大数据 频道

拥有CRD,Kubernetes可能要编排整个世界了!

  【IT168 编译】随着周三官方发布的Kubernetes版本1.16进入普遍可用状态,大家都有这样一个疑问:企业数据中心的基础设施的容器、虚拟机、“大数据”平台以及机器学习框架 ,所有的这些最终都要由Kubernetes来编排吗?

  Kubernetes针对Docker所做的工作已经不用再多说。从那天起,该公司就力求在开源社区、云计算本地计算基金会(CNCF)、Linux基金会的合作企业中实现突出的地位。

  在此期间,Kubernetes几乎已经在所有涉及服务器端软件部署和管理的开源和商业平台项目中都有一席之地。 Red Hat在去年7月被IBM以340亿美元收购之前,对OpenShift平台进行了重组。(红帽的企业Linux平台,IBM已经有相似产品。) Mesosphere拥有自己的DC/OS平台,构建于已建立的Apache Mesos工作负载编排平台之上,并与微软建立了强有力的合作关系。

  前段时间,VMware宣布将全球最著名的虚拟化平台vSphere彻底改造为一个基于Kubernetes的系统,该系统还托管着Kubernetes环境。1998年,当Oracle宣布获得Red Hat的认证成为其企业操作系统的软件供应商时,Linux的创建者就知道他们的项目已经达到了临界量。到目前为止,Kubernetes可能已经达到了临界点。

  在1.16版本中,协调器的一个重要新组件已经正式结束开发阶段。这个组件可能很快就能让用户在数据库、流媒体、汽车司机和跨国公司会计系统中自动组装,而用户可能在此过程中甚至注意不到发生了什么。虽然Kubernetes现在已经牢固确立了它作为“容器”环境编排工具的地位,但这项新的功能将赋予它编排几乎所有其他内容的能力。

  未来需要CRD

  前几日,VMware工程师宣布将Kubernetes注入vSphere虚拟化平台核心。自定义资源(CRD)使得Kubernetes能够充当其他系统的协调器,包括Apache Spark和Hadoop等“大数据”环境的工作。(去年初创公司BlueData成立,其目标是配置Kubernetes来管理Hadoop和Spark集群。)

  VMware Pacific项目的产品管理高级总监Jared Rosoff表示,Kubernetes有CRD、控制器和操作符等概念,允许我们向Kubernetes添加新的对象类型。所以如果我们利用Kubernetes的来构建新的云平台呢?如果我们管理Kubernetes集群、虚拟机(VM)、无服务器应用程序和数据库的方式使用了相同的模式,会发生什么?

  Rosoff 指的是什么呢?Kubernetes orchestrator已经从配置管理领域采用了一个关键元素,像Puppet和Ansible这样的声明式风格:允许应用程序从数据中心基础设施指定需要的资源。它不像传统脚本那样,为如何组装和提供这些资源编写一组明确的指令,而只是列出自己的需求,并相信编配人员能够提供尽可能多的这些资源。

  在Kubernetes的实例中,好像通过编写脚本就可以创建整个服务器网络。

  但这是Kubernetes从一开始就有的特性。CRD如今已成为正式的组件,它打破了Kubernetes组装的整个概念及其目的。它使编配人员能够提供第一代vm,取代了传统vSphere控制台上繁琐的过程,并且要求IT人员具有官方认证的技能。

VMware

  对于为Kubernetes项目做出贡献的开源开发人员来说,CRD概念已经出现了一段时间。CRDs在两年前作为beta版的1.7首次公开发布。当时,谷歌的工程师Tim Hockin在接受采访时表示,Kubernetes正在演变成“生态系统的中心”。换句话说,它不必总是与docker容器相关联,特别是只要“资源”是抽象定义的。Kubernetes可以成为一个“资源协调器”,并且可以由每个数据中心决定“资源”在它自己的环境中意味着什么。

  自定义控制

  在Kubernetes的体系结构中,controller组件可以监视系统的活动状态,其任务是确保该状态尽可能接近每个运行工作负载的“所需状态”。换句话说,控制器可以满足每个工作负载的需要。这些需求通常根据可用资源来指定,工作负载需要这些组件来实现其功能。如果Kubernetes管理的是Hadoop集群而不是容器集群,那么就需要为新的上下文重写“资源”的定义,这就是CRD的作用。

  要使自定义资源在此新上下文中可用,必须添加自定义控制器。Kubernetes将这些特殊的组件称为操作员,这有点奇怪,只有IT部门的人员才被称为“操作员”,但这才是关键。在非自动化的环境中,协调器中的操作员可以有效地完成需要人完成的工作。

  CNCF的Dan Kohn表示:“我认为它的热度会不断升级。可能是服务网格,也可以是一些身份验证技术或整个区域的运营商。它可以做很多事情:升级、安全、调优等等,这几乎就是一个DBA。

  当Kubernetes将容器部署到托管平台的任务自动化时,手动部署这些容器的工作还几乎不存在。在CoreOS(现在是IBM的一部分)和Pivotal(现在已经是戴尔的一部分)等供应商为他们自动化IT之前,IT部门还没有完全理解这种技能。但数据库管理员对日常工作中相对缺乏自动化已经非常熟悉,这可能是近几个月来人们对大数据热情降温的部分原因。Kohn认为,在CRD的帮助下,同样的新功能可以在包括企业管理员为员工提供服务的方式等方面引发大变化。

CNCF

  去年6月,在CNCF的会议上,工程师Ed King和Sam Gunaratne给出了一个画面:Kubernetes通过CRDs自动完成了一件通常不会自动完成的事情:开关家里的电灯、门锁和恒温器。这不是基于容器的物联网控制器的编排,而是使用Kubernetes API来实现夜间开灯、锁门和开关暖气自动化。

  在这个假设系统中,清单可以显示房主希望得两个灯泡的亮度状态。专用于灯光的控制器可以将当前状态与期望状态进行比较,然后召唤出熄灭灯泡所需的事件序列。

  如果这个假设系统中的控制器能够相互联系,那么恒温器的控制器就能够与控制器共享诸如一天中的时间等细节。然后,光控制器可以与决策工具一起使用,以确定什么时候应用所需的状态。与物联网中控制器和设备之间典型的一对一关系不同,协调器将充当一个智能集线器。

  自定义控制器的自动化包括共享状态的能力,可以产生更智能、更流畅的流量模式。VMware的Rosoff表示:“这完全改变了我们对开发者、用户与云交互体验的看法。”

0
相关文章