swarm与kubernetes的对比

2023-11-20

前言:docker swarm 与kubernetes都是集群管理工具,一个是docker原生自带,一个是谷歌项目下的容器编排工具,那么到底他们到底有什么有缺点呢?

kubernetes:

kubernetes,是Google多年大规模容器管理技术的开源版本,是众多厂商推崇的docker管理优秀之作,随着越来越多的厂商不停地贡献代码,kubernetes功能也愈发完善

swarm:

Swarm是Docker公司在2014年12月初发布的一套用来管理Docker集群的较为简单的工具,由于Swarm使用标准的Docker API接口作为其前端访问入口,所以各种形式的Docker Client(dockerclient in go, docker_py, docker等)都可以直接与Swarm通信。随着Swarm0.2发布,swarm增加了新的策略来调度集群中的容器方式,使得在可用的节点上传播它们,以及支持更多的Docker命令以及集群驱动。

swarm结构图

示例

那么到底是docker亲儿子swarm管理上更胜一筹还是Google的kubernetes管理更加受人们青睐,下面是本人总结的对比详情。

swarm与kubernetes

swarm优点:

1 架构简单,部署运维成本较低

docker swarm 集群模式由于原生态集成到docker-engine中,所以首先学习成本低,对于使用docker-engine 1.12版本及以上可以平滑过渡,service服务可以满足动态增减容器个数,同时具备自身的负载均衡,swarm管理者多台设定保证了机器在出错后有一个良好的容灾机制

2 启动速度快

swarm集群只会有两层交互,容器启动是毫秒级

swarm劣势:

1 无法提供更精细的管理

swarm API兼容docker API,所以使得swarm无法提供集群的更加精细的管理

2 网络问题

在网络方面,默认docker容器是通过桥接与NAT和主机外网络通信,这样就出现2个问题,一个是因为是NAT,外部主机无法主动访问到容器内(除了端口映射),另外默认桥接IP是一样的,这样会出现不同主机的容器有相同的IP的情况。这样两容器更加不能通信。同时网络性能方面,有人测试经过桥接的网络性能只有主机网络性能的70%。当然以上问题可以通过其他工具解决,比如用 Flannel 或者 OVS网桥

3 容器可靠性

在容器可靠性方面,相较于Kubernetes的Replication Controllers可以监控并维持容器的生命,swarm在启动时刻可以控制容器启动,在启动后,如果容器或者容器主机崩溃,swarm没有机制来保证容器的运行。

kubernetes优点:

1 管理更趋于完善稳定

kubernetes 集群管理更趋于完善稳定,同时pod功能上比swarm的service更加强大

2 健康机制完善

Replication Controllers可以监控并维持容器的生命

3 轻松应对复杂的网络环境

kubernetes默认使用Flannel作为overlay网络。

Flannel是CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(OverlayNetwork)工具,其目的在于帮助每一个使用 Kuberentes 的CoreOS 主机拥有一个完整的子网。

kubernetes劣势:

1 配置、搭建稍显复杂,学习成本高

由于配置复杂,学习成本相对较高,对应运维的成本相对高点

2 启动速度稍逊

kubernetes会有五层交互,启动是秒级,启动速度慢于swarm

通过以上介绍,相信大家应该对docker容器集群管理工具的选择有了一个基本的认识,不管怎么选择,最终我们的目的都是为了减少人为干预,更智能的生产环境运维,所以应该根据实际情况斟酌选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

swarm与kubernetes的对比 的相关文章

随机推荐

  • linux下查看进程启动、运行的时间等命令

    可通过ps 来查看 通过参数 o 来查看 ps eo pid tty user comm lstart etime grep redis 参数说明 pid 进程ID tty 终端 user 用户 comm 进程名 lstart 开始时间 e
  • SpringBoot启动微服务报错Consider defining a bean of type ‘org.springframework.data.redis.core.RedisTemplate

    最近遇到一个问题 项目之前使用了Redis 可正常启动 然后最近对Redis部分进行了一些微调 再启动服务提示如下错误 Consider defining a bean of type org springframework data re
  • 通过无人机技术,搭建边防无人机基站实现边境巡防系统的构思。

    本篇文章主要讲解 利用无人机技术 信息化技术 图像识别技术实现边境巡防一体化监控系统的构思 日期 2023年7月7日 作者 任聪聪 要知道祖国的疆域是异常庞大的 边境线的长度也是一个庞大的数字 依靠铁丝网又或者岗哨等传统的方式实际上存在很大
  • Go语言写的选择排序

    选择排序是不稳定的排序算法 不稳定发生在最小元素与A i 交换的时刻 比如序列 5 8 5 2 9 一次选择的最小元素是2 然后把2和第一个5进行交换 从而改变了两个元素5的相对次序 package main import fmt 选出最大
  • 版本控制工具SVN配置及使用

    1 官网下载 http subversion apache org packages html window TortoiseSVN为客户端 VisualSVN为服务器 下载可能需要VPN 服务器选择上面的选项 2 安装和配置 2 1服务器
  • mysql的rpm文件安装顺序问题_MySQL 5.6.17 rpm 文件安装顺序

    Linux系统安装MySQL时 将MySQL 5 6 17 1 el6 x86 64 rpm bundle tar包打开 有7个rpm文件 如下 MySQL client 5 6 17 1 el6 x86 64 rpmMySQL devel
  • UFT 小飞机测试

    1 1 新建GUI测试 1 2 录制 点击小红点或者菜单上的录制 任选一个 找到小飞机的文件地址 选择小飞机 地址可以参考我的目录 之后就点击确定 之后的每一步都要亲自用鼠标进行点击录制 包括下拉框的选择 选择好后点击Insert Orde
  • 集合的初始容量与扩容

    arraylist 0 50 linkedlist 0 链表每次加一 hashmap 16 加载因子0 75 超过容量的0 75才会进行扩容 扩容 容量的2倍 2 当某个桶的链表长度达到8 就转成红黑树
  • Java 常用的大算法详解

    Java 常用的大算法详解 排序算法是计算机科学中的重要主题之一 Java 提供了许多常用的排序算法 本文将详细介绍其中的几种 并提供相应的源代码实现 冒泡排序 Bubble Sort 冒泡排序是一种简单直观的排序算法 它重复地遍历待排序的
  • [LeetCode-100]-Same Tree(判断两颗二叉树是否相同)

    文章目录 0 题目相关 1 Solution 0 题目相关 题目解读 给定两颗二叉树 对这两颗二叉树进行比较 判断这两棵二叉树是否相同 原题描述 原题链接 Given two binary trees write a function to
  • @PostConstruct和线程池导致事务问题

    测试一个xxl job 遇到问题事务问题 情景再现 使用 PostConstruct注解来测试 由于是上传素材 比较耗时 所以使用了线程池 一切很顺利的是时候 保存日志的时候报了个错 org springframework transact
  • uniapp 上传音频(H5可以App不行),并播放后端返回的音频

    1 上传 record let this this uni chooseFile count 1 默认100 extension m4a mp3 根据文件拓展名过滤 每一项都不能是空字符串 默认不过滤 success function re
  • python爬虫环境准备-安装anaconda

    在windows环境下 比较头疼的就是包管理和Python不同版本的问题 为了解决这些问题 有不少发行版的Python 比如WinPython Anaconda等 这些发行版将python和许多常用的package打包 方便python开发
  • 华为OD机试 - 猜数字(Java)

    题目描述 一个人设定一组四码的数字作为谜底 另一方猜 每猜一个数 出数者就要根据这个数字给出提示 提示以XAYB形式呈现 直到猜中位置 其中X表示位置正确的数的个数 数字正确且位置正确 而Y表示数字正确而位置不对的数的个数 例如 当谜底为8
  • 将本地的代码上传到github完整版本

    1 注册github账号 2 安装git https git for windows github io 3 进入Github首页 点击New repository新建一个项目 Public Private 仓库权限 公开共享 私有或指定合
  • 1077 Kuchiguse

    PTA 程序设计类实验辅助教学平台 一个测试点没过 不知道哪的原因 include
  • 逍遥子突然辞去阿里一切职务!之前不再担任董事长,现在阿里云CEO也卸了

    金磊 发自 凹非寺量子位 公众号 QbitAI 阿里巴巴史上最大架构重组仅半年后 再次迎来重大变革 原集团CEO张勇 花名 逍遥子 正式卸任 同时辞去阿里云董事长和CEO职务 这一次 阿里巴巴掌门的接力棒交到了蔡崇信和吴泳铭 花名 东邪 手
  • dalle2:hierarchical text-conditional image generation with clip

    DALL E 2 论文精读 哔哩哔哩 bilibili更多论文 https github com mli paper reading 视频播放量 30350 弹幕量 256 点赞数 1767 投硬币枚数 1318 收藏人数 751 转发人数
  • Linux之编辑器强大的vim使用手册

    目录 vim三种模式 vim常用操作 环境参数配置 命令合集 方向命令 插入命令 定位命令 删除命令 复制和剪切命令 替换和取消命令 搜索和搜索替换命令 保存和退出命令 其他命令 使用技巧 把一个文件的内容导入当前文件中光标所在位置 定义快
  • swarm与kubernetes的对比

    前言 docker swarm 与kubernetes都是集群管理工具 一个是docker原生自带 一个是谷歌项目下的容器编排工具 那么到底他们到底有什么有缺点呢 kubernetes kubernetes 是Google多年大规模容器管理