kubernetes在容器编排大战中因为应用的可移植性以及支持混合云/多云部署方式上的灵活性。加上开放可扩展的理念,使得周边社区很是活跃。从既有调研结果看,kubernetes已成为容器编排领域的标准。可是它并不成熟,不少方面都大有可为,下面就是列举了一些方面:mysql
kubernetes是一个集中式容器管理工具。横向上来讲,集群管理工具还有分布式和共享式等。表明性的分布式容器管理工具如yarn与kubernetes的区别是yarn的一台宿主机做为一个master来进行容器管理。分配速度很快。kubernetes以集群为单位,资源分配更好一些。共享式管理谷歌内部的borg在用,听说是一种更先进的分配方式。算法
kubernetes做为目前最受欢迎的容器管理工具,由于存储等方面的瓶颈,在集群规模大时须要拆分红多个集群分开管理。为了更达到在多个集群时能和一个集群同样统一管理,业界又出来了一个集群联邦的概念。就是让底层的多个集群对外像一个集群同样工做。目前这个技术还不是很成熟,在这方面是大有可为的。sql
kubernetes的scheduler模块作的并非很好,因此有意愿给kubernetes提patch的同窗从这部分入手,提的patch很容易被采纳,成为贡献者之一。docker
在实际大公司使用的使用。每每本身造轮子会重写这一部分。编程
kubernetes采用etcd作存储,直接形成了kubernets的容量瓶颈。因此不少公司都在这上面作了优化。阿里在etcd上加了一层tair缓存来使用。京东将etcd替换成了mysql。缓存
kubernetes的DNS大公司使用的也不多。由于通常大公司都有本身服务注册发现机制和命名规范。分布式
kubernetes的pod级别自动扩容分红两个层次:横向扩容HPA和纵向扩容VPA,来扩容容器可以使用的资源量。横向扩容HPA很好办,就是将容器缩掉,用更大配置再扩出来。纵向扩容VPA又称做原地升级,这个会麻烦。由于k8s容器自己就是一个docker进程。VPA就是进程不重启实现升级。工具
kubernetes核心功能并很少,不少功能都是以插件的形式提供,而且用户能够实现接口来作成本身的插件。学习
等上面这些都成熟了之后,kubernetes还有最大的问题。它为解决资源利用率而生。因此须要经过算法和AI层面进一步提升资源利用率。因此对go语言的学习、算法的学习是做为kubernetes相关的开发人员的必需技能。 优化
一线开发十二年,有日本东京和美国硅谷研发经验。有百余项技术发明专利,目前任美团点评技术专家。有本身的技术公众号「编程一辈子」。若是您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。