内容简介:CoreOS的Tectonic新发行版支持Kubernetes自我管理
为了充分利用Kubernetes原生管理容器化应用的能力,CoreOS更新了自家的Kubernetes商业发行版Tectonic,增加了无停机更新的功能。
CoreOS的CTO Brandon Philips 在本周纽约举办的Tectonic Summit的keynote中提到:“我们现在已经做到使用完全相同的APIs和函数监控Kubernetes和applications。我们把所有的功能集成到Tectonic控制台钩子函数中,你只需要点击一下按钮就可以完成部署。”
Philis还提到,“目前为止,Tectonic和Kubernetes的安装过程繁琐到令人抓狂。本质上是因为,人们不得不手动去更新整个分布式系统。”
“人们ssh登录到每个节点上人工修改文件,或者至少写个脚本来执行这些任务。和管理Kubernetes应用相比这些操作需要一系列技能。”
一篇 CoreOS博文 在谈到自我管理能力时指出,“事实上,掌握 kubectl 和相关 工具 来管理Kubernetes应该转换为,将如何安装Kubernetes并保证它运行放在第一位。”
“这就是为什么我们非常努力地投入到上游代码,实现了Kubernetes自我管理的功能。”Philips讲到。
Philips把自我管理的能力类比为Linus Torvalds使用 Linux 来编译新版本的Linux。Linus Torvalds使用minix平台编译第一个Linux版本。但是Linux稳定之后,Linus就把编译器移植到稳定的Linux上,来编译新的Linux。
Kubernetes自己可以保证,某个pod故障后,它会运行一个新的pod来替代挂掉的。在这次新的Tectonic版本中,被启动的不再是新的pod,而是新版本的Kubernetes,它被打包到一组pods中。这里Tectonic利用了Kubernetes新的安装工具:kubeadm。
Kubernetes的典型升级中,与工作节点相比,所有的控制节点是优先升级的理想节点。Tectonic升级时,会在控制节点为新版本保留空间。一旦新版本运行起来,Jobs会从每个旧组件过渡到对应的新组件,直到更新完成。下面的视频介绍了Kubernetes自我更新的过程(需自备梯子)。
这个方法和CoreOS更新自身的Linux发行版类似( 最近更名为Container Linux )。由于Tectonic是分布式应用,所以组件的更新顺序是指定的,通常以api server,scheduler,proxy,kubeket的顺序更新。
CoreOS自身通过组件 CoreUpdate 、以容器的方式更新,这些操作在管理控制台里执行。
在Tectonic更新发布之前,CoreOS为企业测试提供了获取alpha和beta版本的渠道。
如果更新后出现问题,可以通过机制回退到以前的版本。Kubernetes的数据存储、 etcd 都会备份上一个版本的信息。我们也提供了手册指导用户从不同的故障中恢复,比如scheduler故障。
Philips还讲到,大部分企业部署案例中,自动更新相比于人工更新表现更加出色。
CoreOS不止于仅仅自我管理Kubernetes,这项技术会应用在未来的软件中。毋庸置疑,其它发行版也会使用这项技术。
CoreOS还发布了 Dex 2.0 ,基于 openID connect 的认证服务。openID connect是一个广泛应用的认证协议,它可以通过加密令牌管理Kubernetes上的用户、与企业用户的轻量目录访问协议(LDAP)连接。版本2允许Kubernetes不依赖外部数据库运行Dex。Dex使用Kubernetes的APIs来持久化认证数据。但是旧版本需要数据库。
“我个人认为自我驱动技术的想法有很好的前景,那会是我们的最终方案。”DigitalOcean技术经理 Joonas Bergius 谈到新版本Tectonic时如是说。
Tectonic 现在免费支持10的节点。
原文连接: CoreOS Offers Self-Hosting Kubernetes with New Tectonic Release (翻译:adolphlwq)
=========================================
译者介绍
adolphlwq ,LinkerNetworks南京分公司软件工程师,2016年7月毕业于南京信息工程大学。大学时期是校技术社团 多火工作室 核心成员,博客地址: QuanTalk
以上所述就是小编给大家介绍的《CoreOS的Tectonic新发行版支持Kubernetes自我管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 7 个支持敏捷的开源项目管理工具,更好地管理项目
- SOFABoot 3.1.1 发布,支持 Gradle 依赖管理
- SOFABoot 3.1.1 发布,支持 Gradle 依赖管理
- 接口管理平台 DOClever 4.2.2 发布,支持环境变量
- Rainbond 5.0 发布,支持管理对接已有 Kubernetes 集群
- 接口管理平台 YApi 1.3.19 发布,支持新版本通知
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。