docker swarm和 k8s对比
2024-09-01 16:14:52
Swarm的优势:
swarm API兼容docker API,使得swarm 学习成本低,同时架构简单,部署运维成本较低。
Swarm的劣势:
同样是因为API兼容,无法提供集群的更加精细的管理。
在网络方面,默认docker容器是通过桥接与NAT和主机外网络通信,这样就出现2个问题,一个是因为是NAT,外部主机无法主动访问到容器内(除了端口映射),另外默认桥接IP是一样的,这样会出现不同主机的容器有相同的IP的情况。这样两容器更加不能通信。同时网络性能方面,有人测试经过桥接的网络性能只有主机网络性能的70%。当然以上问题可以通过其他工具解决,比如用 Flannel 或者 OVS网桥。
在容器可靠性方面,相较于K8s的Replication Controllers可以监控并维持容器的生命,swarm在启动时刻可以控制容器启动,在启动后,如果容器或者容器主机崩溃,swarm没有机制来保证容器的运行。
在网络方面,k8s 默认使用Flannel作为overlay网络。
Flannel是CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(OverlayNetwork)工具,其目的在于帮助每一个使用 Kuberentes 的CoreOS 主机拥有一个完整的子网。
简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。
K8s 的优势:
容器的高可用性,集群的精细管理,复杂的网络场景。
K8s 的劣势:
K8s的学习曲线陡峭,同时运维的成本相对高点。
最新文章
- CozyRSS开发记录5-订阅列表栏里的项
- 【BZOJ1087】 [SCOI2005]互不侵犯King 状压DP
- Swift开发小技巧--自定义Log
- yourphp 遇见问题及解决办法
- javascript优化--14模式2(DOM和浏览器模式)
- MySQL相关操作知识
- HDU 4901 The Romantic Hero
- Struts2的Action名称搜索顺序:2014.12.30
- ListView排序并隔色显示
- 802.1X和NAP整合实验手册
- MongoDB 数据库引用
- R语言:安装及使用
- RSP小组——团队冲刺博客六
- JSON Web Token 入门教程
- DataGridView修改数据并传到数据库
- nginx的启动与停止
- 【idea】之使用SVN一些技巧
- 阻止默认事件preventDefault与returnValue
- 白鹭引擎 - 资源文件的加载 ( RES, loadConfig, loadGroup )
- python性能还是不错的