许多开发者已经求助于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中国
翻译
相关推荐
-
获Kubernetes社区技术委员会席位:技术实力是华为最大的筹码
2017年,可谓是Kubernetes技术元年:开发者开始认识它,技术服务商开始研究它。我们看到,Kubernetes一经出世,就受到了各大巨头及初创公司的青睐,如微软、VMWare、红帽、CoreOS、Mesos等。
-
企业数字化转型:容器需纳入到发展路线图
容器技术能够帮助企业尝试实现数字化转型,但是这样做也不是无懈可击的。专家Christopher Tozzi在这里与我们分享了需要询问的正确问题。
-
收购Codenvy:红帽认为容器技术未来将继续呈碾压之势
红帽将其基于云的集成环境OpenShift.io与收购的Codenvy进行了集成。Codenvy就一家云原生工作空间管理工具制造商。
-
Docker植根中国:镜像服务更快、更稳定
Docker容器一经出现,就因其可移植性、不依赖于任何基础设施,而为大量开发人员所喜爱。我们也看到,在经过几年 […]