如何通过自动化Kubernetes集群管理容器

日期:2015-12-22作者:George Lawton翻译:boxi来源:TechTarget中国 英文

【TechTarget中国原创】

许多开发者已经求助于Docker容器来实现云端和本地的新应用迭代时的一致性,而且很多应用都要依赖多个Docker容器的编排。而围绕着容器集的启动以及为了让它们能够协作而连带的相关设置和配置又引发了一系列新的挑战。

为了弥补这一差距,软件产业一直在向容器管理系统Kubernetes靠拢,它承担了生态体系的职能,实现对容器集的自动化部署。在旧金山举行的KubeCon会议上,专家们讨论了其中一些基于Kubernetes的集群自动化部署的最佳实践和工具。

Univa工程总监Cameron Brunner说创建Kubernetes有很多很好的工具,但对一致的集群自动化部署却没有好的路径。“我们喜欢把硬件当作家畜来看待,” Brunner说:“这个我们在app上面一直都是这么听说的。但把你的硬件当作宠物会导致令人不快的内部管理问题。”

Univa内部大约有5个集群在跑Kubernetes,每一个都包括多个节点。有一条可靠的工具链有助于快速生成符合一致性的Kubernetes集群,快到能够在数分钟内开发和启动。

Brunner说组织需要应对一下问题才能生成一个一致可靠的Kubernetes集群:

  • 从什么样的基础操作系统开始?
  • 该操作系统是怎么部署和配置的?
  • Kubernetes打算怎样安装和配置?

幸运的是,环境中有许多工具支持这一过程,Brunner说。像Atomic和CoreOS这样的不变操作系统已经变得相当稳定。预引导执行环境(PXE boot)未来启动技术可以简化部署。Cloud-Init是一个很好的启动时配置工具。

建立一致性

Brunner建议要一直通过网络启动你的硬件。这可以在机器出问题或需要升级时快速进行服务开通的再次准备。PXE启动有助于简化这一过程。理想情况下,好的做法是有一个工具去动态生成PXE,而这个东西不是跟PXE一起的。

安装不变的操作系统也是一个好的做法。这可以在数据中心做出一致的软件集和一致的环境。Brunner说:“这降低了总体的管理复杂性,理解集群中发生的事情更容易。”

在本地托管容器镜像也是好想法。Brunner建议要有一个本地库。另一个好做法是用Cloud-Init管理配置。这样把所有东西放在一个地方会更简单,同时还能有一个不变的OS。这可以用Systemd来集成,完成证书登记、密钥提取等辅助操作,从而建立一条系统启动操作的流水化的工作流。

AWS自动化Kubernetes

旧金山的程序员Jimmy Cuadra说,在AWS上面以一致的方式部署Kubernetes集群是个挑战。他说,“操作生产集群这个东西我不敢信任,哪怕我尊重Kubernetes团队的艰苦工作。对于我们这些需要管理自己集群的人来说,我们需要更健壮的东西。”

Cuadra说,对于在托管应用上面运行来说,Google Container Engine是个好的选择。但在AWS上面进行集群的自动化部署需要更健壮的办法。该问题部分在于与集群的声明式配置工具相关的大多数信息已经过时或包含有失效链接。Cuadra希望能够利用声明式配置文件,在Git上登记生成集群。

Cuadra建议用Hashicorp的Terraform。它允许组织使用声明式配置语言去买搜狐资源以及云基础设施的状态,从而匹配Git库里面的东西。

控制配置复杂性

部署Kubernetes集群方面有很多服务开通问题,这些不是Terraform容易解决的。需要有特别的配置设置来描述容器间相互对话的不同。还要有其他的设置来指定如何对Kubernetes API进行鉴权,给团队不同的人提供分布式访问证书。保持多个Kubernetes实现的状态的工作流也需要管理。

为了填补这一差距,Cuadra开发了一个名为KAWS的开源工具,它可以更容易地指定基础设施为代码,且内置一个域名系统。它还生成Kubernetes访问证书,并可以安全地把它分发出去。KAWS是用Rust编程语言开发的。

自动化Kubernetes部署的过程从KAWS库(基本上就是一个创建状态的Git库)的创建开始。它还包括了一个密钥导出命令,可以管理团队成员的公钥。这样就可以无需暴露各人私钥的情况下管理用户访问了。Cuadra说此类自动化办法使得在10分钟内筹划和部署一个新的Kubernetes集群成为可能。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

George Lawton
George Lawton

TechTarget中国特约作者

API>更多

  • API项目中 官方客户端不再是可有可无的

    在API项目中,有官方支持的客户端才能给API社区传达积极的信息。没有官方支持客户的API就像是没有方向盘的汽车。可能是辆好车,但是却哪儿也去不了。

  • Google收购Apigee,焦点在于企业本身还是API?

    Axway的Suraj Kumar认为Apigee收购案不一定是件好事。尽管Google也许会像Borg一样行动,这也许预示着Google的态度需要转变。

  • Google的新收购是否意味着API变得更酷了?

    Google对API管理解决方案提供商Apigee的收购,我们应该怎么评价呢?是为了打造一个改变游戏的联盟吗?或者只是技术巨头想尽快吞食市场份额的尝试?

  • 如何创建成功的RESTful API设计

    设计好的API是一项困难的任务,存在很多主观指标。哪怕是完全拥抱RESTfulAPI设计并对其问题域拥有完整视图的小型初创企业最终也会出现命名不一致、界面模糊以及无记录语义等问题。

相关推荐

  • 中国市场DevOps应用趋势分析

    为了解决开发人员与运维之间的协作问题,从而提升工作效率,DevOps方法论应运而生。几年的发展,DevOps现在国内市场的应用情况如何?如何才能取得DevOps实施的成功?

  • 容器技术的间接后果

    本文探讨了为什么和容器技术可能带来的好处比起来可能更容易造成问题。我会尝试在错误发生之前就深入地思考,利用可用的工具来避免错误的发生。

  • 采用容器技术的关键策略

    在对开发伙伴进行了30次访谈之后,我意识到很显然有一些大的拦路石需要搬走才能让容器技术步入正轨。

  • 容器安全概览:看看你了解多少

    对很多企业来说,容器化相对VM而言,可以帮助企业更快更高效地发布稳定的软件。同时,容器引入了一种全新的部署模型,要求企业架构师和安全专家重新思考保护应用程序的方式。

技术手册>更多

  • ESB选择备忘录

    也许你曾经设计一些架构,但都绕过了对于ESB的需求。因为你想知道从SOA的角度来看,ESB 究竟是好的还是坏的?曾经我们将EAI奉为圣杯,那么ESB和EAI究竟是什么关系呢?

  • SOA实现与交付指南

    随着SOA渐成IT潮流, 越来越多的SOA项目启动了。有些项目彻底失败了,有些项目则勉强成功了。为什么有些项目成功了,有些去失败了,最大的问题出在哪里?如何吸取这些失败项目的教训,并形成自己规划SOA路线图所需的远见与策略。同样的,我们又要如何判断SOA项目是否已经成功实现?这些将是未来SOA项目成功实现的关键。下面让我们来看看个中因由。

  • 银行SOA应用案例简报

    本世纪初,全球金融崩溃后,曾听到花旗银行企业架构部高级VP讲假如他或者其他金融巨头的IT系统架构师能够最终在企业内推行SOA的话,这场金融危机将不会发生。因为SOA的应用能够很容易地对即将发生的金融风险进行预警。但可惜的是,企业的各个部门并不愿意在应用SOA方面花费太多的精力。时过境迁,现在面对全球经济的快速发展,很多银行已经开始了SOA之行并从中开始获益,下面我们就来看看这些内容。

  • 应用生命周期管理(ALM)学习

    在当今世界,IT对于一个企业的重要性是毋庸置疑的,简单的用一句话可以概括——“应用就是业务”!IT的发展速度非常之快,我们不仅要问,究竟是什么原因会促使这种反战的继续?答案只有一个,业务驱动。这就对IT提出了一种挑战,快速地生产并交付出能够满足新的业务过程的需要的业务应用系统,这就涉及到了应用生命周期管理。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算