最近看一段时间容器集群,越看越迷糊了。大家来看看如何选择??


k8s 已经是事实标准了。

但你如果要做选择 也需要考虑一下实际情况 比如你就一个小项目 预期也不会很复杂 那即使是 compose 都能满足 那你也没必要非上 k8s


目前生产环境Swarm 运行了400多个容器,谈谈一点感受:

1、业务量访问高峰期的时候,内部service通信的时候就会出现超时的问题,总的来说,swarm的网路让人从惊喜到担忧

2、docker service在系统异常的情况下,不能被正常kill容器,docker service scale | rm 失控的状态

3、多个service打一样的别名,在负载的时候,也会出现网路不通的问题。

基于以上问题,真的是有点又爱又恨,正在尝试k8s……


没有最适合的环境,只有最适合自己环境与人员的环境。

就目前来说.. k8s 的大局与支持更好,从各大云厂商的产品就可以看出来..

如果是学习的话,从 k8s 开始无疑是最好的..

不过大概未来...大概都不会关心... 底层技术了....只关心应用了....

因为.....


现在哪里还有人选择swarm啊,都选择k8s了。首先从底层支持的容器类型,k8s多了很多选择。其次从支持的网路,k8s不光选择多,可扩展性也抢了很多。再看ingress controller,swarm没法比。最后看看社区支持,那就啥都不说了。


这俩个都可以选择,前提是看你公司的环境!!!

公司的伺服器体量大,建议选择k8s(这也是趋势)。

公司的伺服器体量小,而你们有需要快速做到容器化部署,那你就选择 swarm.。

k8s的学习成本比较高,但是管理精度高,功能丰富,k8s+istio会成为微服务架构的主流

但是部署相对困难,建议尝试二进位部署,可以更好的理解里面组件的性能,实际上还有一个kubesphere,这是对k8s的一个集成,有时间尝试一下

swarm就是docker的原生态管理软体,学习成本低,而且容器启动也快,但是功能比较少。如果你们公司伺服器体量不大可以一直用swarm


无论跑得多慢,你都会最终跑到k8s里面去。

如果是个人项目的话,swarm+traefik是可以的,需要的话在加一个portainer或者swarmit也能玩一会。

但是就容器编排而言,k8s目前来说是终点。


都这个时候了,不用纠结了,大胆的选择k8s,准没有错的。


简单的容器调度可以使用swarm,上手快。k8s功能齐全,上手有难度


最近也在这两者之间做选择,最后选择K8s,前景自然不必多说,我的另一个理由是可玩性比较高,对自己、团队的技术成长也比较好。


期待facebook出一个AutoContainer

google出的东西大都能用但api稀烂。。。


毫无疑问k8s,没大公司参与的开源项目注定没前途。k8s已经是容器编排事实标准了,围绕k8s的开源生态已经形成。


推荐阅读:
相关文章