Kubernetes管理:看看EBay的蜜汁配方

世界最大企业之一的EBay公司计划在下个季度为OpenStack和Kubernetes管理向开源社区提供其方案。

电子商务巨头eBay公司拥有着世界最大OpenStack私有云中的一个。自从2015年以来,公司已经将Kubernetes容器编排与管理推广至拥有六个可用区域22,000个CPU内核的应用场景中,以便支持178个应用程序,其中包括了Elasticsearch搜索引擎、Apache Kafka分布式流量控制与人工智能(AI)平台。

为了逐步实现其计划,eBay公司的工程师们开发了专门的软件以便在其OpenStack私有云上实现Kubernetes集群部署与管理的自动化。这个被称为TessMaster的工具于2016年底被eBay公司首次公开讨论,但是在本月召开的OpenStack峰会上公司正式推出了这个项目,并表示公司将在下个季度公开其源代码。

SearchITOperations.com约到了eBay公司云基础设施与平台高级总监 Suneet Nandwani(他在OpenStack峰会上发表了演讲),让他来介绍下在Kubernetes管理中使用TessMaster的一些细节。

TessMaster在OpenStack和Kubernetes中的明确定位是什么?

Suneet Nandwani:我们开发了这个工具以便在OpenStack上管理Kubernetes的生命周期。使用TessMaster,我们能够部署Kubernetes、增加容量或减少容量以防发生故障或Kubernetes节点数量下降,同时我们还能够搭建Kubernetes网络。我们以Kubernetes管理为目标开发了这个工具,所支持的平台不仅有OpenStack,而且还包括了一些其他的云供应商,例如谷歌云(平台)、亚马逊网络服务(AWS)以及微软Azrue。

虽然我们所讨论的内容大部分都是关于Kubernetes管理的,TessMaster的开发初衷远不止如此。我们打算使用TessMaster来管理我们数据中心中的一大部分,因为它是可扩展的。所以我们可以使用它来完成一些管理工作,如网络配置、板载机架、以及设置负载平衡器。自从我们开始使用TessMaster以来,我们员工的工作会变得更为优雅和轻松,我们使用它来管理其他的基础设施,也就是那些在我们云下更底层次的东西。

今天,Kubernetes中所有的东西都失踪了?

Nandwani:Kubernetes不具备与云供应商集成的能力。他们把它留给了实际使用它的人。Kubernetes完全不支持在OpenStack或其他众多公共云上部署Kubernetes。在Kubernetes社区中,事情往往是呈碎片化的,但是人们已经想出了各自的解决方法。例如,谷歌为用户提供了一个Kubernetes的完全托管实例,从而让用户无需处理这个问题。但是,我们不希望使用谷歌在他们的云平台上提供的vanilla Kubernetes堆栈。我们希望运行我们自己的Kubernetes实例,因为我们将为eBay的业务补充一点东西,同时我们希望在私有云和公共云上运行相同的Kubernetes。

现在也出现了其他的开源工具,例如Kolla和kops,还有一些厂商也在相同领域开展竞争。TessMaster的设计有点不同,因为它是一个Kubernetes应用程序,它使用Kubernetes来管理Kubernetes。它是自我引导的。Kubernetes 有很多关于声明性、防漂移、自我修复和修复的良好原则,所以我们能够为Kubernetes本身利用好它。

为什么要做一个独立的项目?为什么不向Kubernetes或OpenStack贡献这个IP?

Nandwani:我们确实有一个将这个IP贡献回来的计划。TessMaster这个工具是作为一个内部需求而产生的。我们将与云本地计算基金会甚至OpenStack基金会进行沟通,但是无论我们最终决定把它放在哪里它都是一个单独的项目。它不是核心Kubernetes。

诸如Azure这样的公共云不是已经对Kubernetes有了他们自己的支持吗?

Nandwani:当使用Azure的Kubernets时,用户有义务使用Azure提供的任何配置。特别对于那些运行混合云的公司来说,用户不希望在公共云和私有云裳使用不同风格的Kubernetes。我们在Azure上得到的Kubernetes并不适合我们使用。TessMaster允许我们灵活地使用我们自己的Kubernetes定制版,那才对eBay有价值。

我们的变更管理数据库是非常重要的,因为任何在我们Kubernetes集群上运行的应用程序都会自动填充到我们的CMDB中。我们还集成了我们自己的日志记录与监控平台,我们希望在公共云和内部云上都运行相同的日志记录与监控功能。除非用户是一家中小型企业,否则一个通用的东西是无法满足所有人的需求的,甚至对于那些与我们公司规模类似的企业来说,那是无法正常运行的。

您是如何让其他企业能够使用TessMaster的?EBay公司拥有的规模远超其他大多数的环境。

Nandwani:如果用户在一个内部云上运行Kubernetes,那么他仍然需要解决更小规模企业遇到的问题。用户有选择,他们看可以使用kops 或 Kolla或者一些其他的Kubernetes工具,但是我认为TessMaster拥有着一些比其他同类工具更多的固有优点。事实上,我们之前曾经调研过很多这类工具,结果我们发现它们都无法满足我们的需求。我们重点考察的基本条件之一就是防漂移。这意味着我们有一个大小规模已知的Kubernetes集群,然后我们又有了在环境中的实际集群规模,用户需要自动对它们进行调节。那就是TessMaster所赋予我们的。

您看过Red Hat OpenShift吗?

Nandwani:我们有看过。OpenShift主要用于在Kubernetes上运行的应用程序的生命周期管理,但是我们正在管理Kubernetes本身。

eBay是否会继续使用OpenStack,还是会最终使用TessMaster来取代它?

Nandwani:我们将在OpenStack基础之上运行Kubernetes,就如同谷歌在他们云基础设施上运行或Azure在他们云平台上运行一样。我们的Kubernetes位于OpenStack之上,我们能够看到可编程基础设施的价值所在,所以并不打算抛弃它。

本文转自d1net(转载)

时间: 2017-07-03

Kubernetes管理:看看EBay的蜜汁配方的相关文章

沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理200+配送中心

本文讲的是沃尔玛如何使用OneOps.Jenkins.Nexus和Kubernetes管理200+配送中心[编者的话]本文介绍了沃尔玛公司针对全球200+配送中心云化升级的具体情况,包括使用的方案.如何处理原来的虚拟机资源以及改造后的成效. 沃尔玛物流的关键竞争优势之一是过去十年间沃尔玛一直努力保持配送中心高效和自主运行.自主运行涉及到硬件和软件基础设施,它们运行在全球两百多个配送中心中.每一个配送中心以及包含的内容被视为一个微型数据中心. 管理如此多的配送中心是一个复杂的物流问题,从软件更新到

在ubuntu上部署Kubernetes管理docker集群示例

本文通过实际操作来演示Kubernetes的使用,因为环境有限,集群部署在本地3个ubuntu上,主要包括如下内容: 部署环境介绍,以及Kubernetes集群逻辑架构 安装部署Open vSwitch跨机器容器通信工具 安装部署Etcd和Kubernetes的各大组件 演示Kubernetes管理容器和服务 关于 Kubernetes 系统架构及组件介绍见这里. 1. 部署环境及架构 vSphere: 5.1 操作系统: ubuntu 14.04 x86_64 Open vSwith版本: 2

Kubernetes管理Docker集群之部署篇

什么是Kubernetes? Kubernetes是Google开源的容器集群管理系统,实现基于Docker构建容器,利用Kubernetes能很方面管理多台Docker主机中的容器. 主要功能如下: 1)将多台Docker主机抽象为一个资源,以集群方式管理容器,包括任务调度.资源管理.弹性伸缩.滚动升级等功能. 2)使用编排系统(YAML File)快速构建容器集群,提供负载均衡,解决容器直接关联及通信问题 3)自动管理和修复容器,简单说,比如创建一个集群,里面有十个容器,如果某个容器异常关闭

使用 Kubernetes 管理容器化的有状态应用

  编者按:本文转载自"才云 Caicloud",作者 Josh Berkus. 目前,几乎所有关于容器和微服务的谈论都跟"无状态"的应用挂钩.这完全可以理解,因为无状态应用程序更简单.而且容器和编排技术已经成熟到能够承工作负载的程度:即有状态的应用. Kubernetes 是一个用于自动部署.扩展和管理容器化应用程序的开源系统,我之前做过两次关于 Kubernetes.数据库以及容器的演讲. 什么是"无状态"应用? 无状态服务,即 Web 服务

eBay宣布拥抱容器,将全面整合Kubernetes和OpenStack

在线拍卖及购物网站eBay比亚马逊(Amazon)成立晚一年,但却比Google.Facebook等众多的巨无霸要早.和其他的伙伴们一样,eBay也为大量的用户提供服务,它在190个国家拥有1.59亿活跃买家而且支撑了超过8亿条商品信息.要支持海量用户并非易事,这需要持续扩展基础架构,所以eBay一直在积极地拥抱新技术. 为了管理云端基础架构,eBay在三年前把虚拟机从VMware的ESXi Hypervisor切换到了OpenStack之上的KVM,因而成为OpenStack的早期忠实用户(e

DockOne微信分享(一零三):Kubernetes 有状态集群服务部署与管理

本文讲的是DockOne微信分享(一零三):Kubernetes 有状态集群服务部署与管理[编者的话]本次分享将深入介绍Kubernetes如何满足有状态集群服务对容器编排系统提出的新需求,包括如何使用Kubernetes的动态存储请求与分配机制来实现服务状态的持久化存储,以及与高效部署和运行有状态集群服务相关的Kubernetes新特性,如Init Container.PetSet (StatefulSet)等.最后通过一个MySQL集群实例详解在Kubernetes中如何轻松部署一个高可用的

Kubernetes 火了!是时候扒一扒它的身世了

2014 年,Google 公布开源项目 Kubernetes,它由 Joe Beda.Brendan Burns 以及 Craig McLuckie 带头创建,并于 2015 年 7 月 21 日正式发布 Kubernetes v1.0 版本. 微软 Azure 在 2014 年便引入 Kubernetes 以及 libswarm,开发者可以在 Azure 上使用 Kubernetes 管理 Docker 容器.然而,将 Windows 的应用运行在 Linux 上,或者将 Linux 应用运

docker kubernetes dashboard安装部署详细介绍_docker

docker之kubernetes dashboard部署 1. 环境说明: 1). 架构: 注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install. 192.168.3.7 master 192.168.3.16 node 2).使用的软件包: master: docker kubernetes-master etcd flannel nodes: docker kubernetes-node flannel 3). 软件版本: docker: 1.10.3 k

Shell脚本快速部署Kubernetes集群系统

  本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本.   运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog