叙述
- k8s 与 docker swarm都是用于容器编排工具;
- docker swarm 兼容docker API,使得swarm 学习成本低,同时架构简单,部署运维成本较低;
- k8s 组件多维护复杂,运维的成本相对高点。
对比
| swarm | k8s |
|---|
| 设计初衷 | 跨宿主机管理容器集群 | 支持分布式、服务化的应用架构 |
| 社区主力 | docker | google、redhat、coreos、华为、浙大sel |
| 核心功能 | 管理节点高可用、调度任务、服务发现、回滚、更新、通讯安全、容器HA、服务自愈、配置管理、健康检查、服务伸缩 | 资源调度、服务发现、服务编排、资源逻辑管理、服务自愈、安全配置管理、job任务支持、自动回滚、内部域名服务、健康检查、扩容伸缩、负载均衡、灰度升级、应用HA、容灾恢复 |
| 服务发现的实现 | 内置DnsServer | 内置 |
| 规模 | 1000节点、50000容器 | 节点数不超过 5000、Pod 总数不超过 150000、容器总数不超过 300000、每个节点的 pod 数量不超过 100 |
| ui界面 | portainer、rancher、docker manager | dashboard、Weave Scope、Kuboard |
小结
- swarm与k8s对比,从功能与支持规模上来说都有些差距;
- 但对于中小型公司来说,少于200名开发人员的团队或少于服务器1000台,推荐使用docker swarm;
- 相较于k8s,复杂的组件部署安装;swarm仅需几行命令即可组成集群。
参考链接
docker swarm官网
docker swarm性能测试
k8s官网
k8sui