QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Docker Swarm 新版本发布对 Kubernetes 的意义

  • 2020-03-13
  • 本文字数:1964 字

    阅读完需:约 6 分钟

Docker Swarm新版本发布对Kubernetes的意义

相比于普通的软件的开发速度,容器编排领域的发展速度相当惊人。基于容器的初创公司呈爆发式增长,这个领域的竞争也愈加激烈。这是一个好的开始,但是技术的选择却成为一个难题。在这样的情况下,我们目前关注了 Docker 和 Swarm。


在 Apprenda,我们的目标就是提交一个有创意的,稳定的,可以在长时间内比较好维护的编排技术。一个健康的社区有三个关键点。在对技术,社区和不同容器编排工具解决方案进行漫长的商业评估之后,我们选择了 Kubernetes。然而,随着其它容器集群管理选项的增加,要重点了解相比于 Kubernetes 他们分别可以提供什么样的功能进行对比。


Docker 即将发布 1.12 版本,这次的发布直接跟 Kubernetes 进行竞争。这次的新版本都是在名为 SwarmKit 的编排系统的基础上建立起来的。Docker Swarm 目前增加了一些有趣的新功能,也属于 Docker 的一部分。比如,Docker CLI 增加了一个将 Swarm 集群实例化的新功能。将 Swarm 实例化其实也就是创建一个 Swarm Manager 和 CA 证书的意思。值得注意的是,这个 CA 证书可以在不需要外部系统的情况下为 Swarm Manager 和所有 Swarm 集群生成证书,同时所有节点之间的交流由 TLS 来保证安全。这也就意味着不会再有不安全的 Swarm 集群了。对于创建和使用 Swarm 的开发者来说,安全已经完全是透明的了。


CLI 同样也有一些新的命令要把节点添加到已经存在的 Swarm 集群中。要注意的是,节点中有 manager 或者 worker 两者之一,但是 worker 可以被升级到 manager,manager 可以被降级到 worker。Swarm managers 使用 RAFT 协议来选举 leader,并且确定共识,这跟 Kubernetes 运用 etcd 工作的机制有点相似。另一方面,workers 使用 Gossip 协议来交流他们之间各自的状态,这样的话,Docker 用户就不再需要外部实体,也不需要键值存储来跟踪不断变化的集群拓扑。


同样,逻辑服务的概念对 Docker 来说也是很新的,是一个被 Docker Cloud 启发的概念。这个服务包括了一对多容器实例,而且这个逻辑观点的介绍使得服务管理更加容易。服务可以被创建,更新和扩容,这也就导致了容器的配置,更新和杀死。


Docker1.12 的一个弱点就是服务发现,在 Kubernetes 中,服务发现还是运行得很顺畅的。更加重要的是,自从项目的开始,“service”为容器代理的概念已经存在于 Kubernetes 中。它只是简单地联系你的集群中的 service,Kubernetes 确保你在容器服务之后连接到正确的 pod(一个或者多个容器的组合)。Kubernetes 也是被设计成模块化,可扩展的,这样的话,它的组件就可以轻松交换,这就使其更加适合你的整体需求。


从 Docker 发布的这个新版本面临来自 Kubernetes 的竞争,Kubernetes 被设计来帮助更新配置,缩放,操作主机上集群间的容器。鉴于 Kubernetes 超强的社区,已经有很多公司在使用 Kubernetes 了。Kube(社区是这么叫它的)同样也获得了企业客户的普遍接受,这些客户同样也希望使用新云原生算法来创建容器化应用程序。


Kubernetes 对自身的定义就是:将容器集群作为单个的系统进行管理,以此来加速开发,简化操作。Kubernetes 是一个开源平台,但是它同时也是 CNCF(Cloud Native Computing Foundation)开发和管理的社区。它从根本上就跟由初创公司控制,不属于开源社区的 Docker/Swarm 不一样。Kubernetes 很厉害,因为它带来的是谷歌十多年大规模运行容器的经验,Red Hat 在企业多年部署和管理开源平台的经验,CoreOS 灵活开发的经验,以及来自很多其他组织和社区成员的优点。


鉴于强大的多元化社区,Kuberentes 是一个跟 Swiss Army Chainsaw 一样灵活有弹性的平台。你可以在裸机上运行 Kubernetes,或者在你能想到的任意云提供商上运行。Kubernetes 另一个很棒的功能就是它同时支持多种类型的容器,比如 Docker 和 RKT 容器,以及多种容器的集群。


最后,Apprenda 已经被提交到 Kubernetes。这是我们所尝试过最强壮的解决方法,同时我们相信它在我们壮大的时候也还是会支持我们。Apprenda 和 Red Hat 也期望 Kubernetes 能够支持 Windows,并且能够运行 windows 容器。要记住的是,其它集群编排服务也不差,但是,就像我开篇提到的——这个领域发展得很快,我们要确保我们处理的是最主动,最稳定和最成熟的项目。我们对 Kubernetes 十分满意,而且自从 1.0 版本发布以来,就一直在生产过程中使用它了。


对于 Kubernetes1.3 版本的发布,我们满怀期待,同时新功能 PetSet(也就是之前的 nominal services)提供新的有状态的基本单元来运行你的 pods,这就需要强大的辨识和存储功能。我们对 Kubernetes1.3 中的“集群联盟”附加的功能也满怀期待!


我很感激整个 Kubernetes 社区为这个项目已经做的和继续做的努力!这真是一个很棒的技术,也是 Apprenda 所需的重要基石。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/-3JBYLoAZDFB964uxl356Q


2020-03-13 19:001030

评论

发布
暂无评论
发现更多内容

换个姿势,带着问题看Handler,android应用程序开发的流程

android 程序员 移动开发

我的副业已经成为了我的主业,Android软件开发面试题

android 程序员 移动开发

把Flutter扩展到微信小程序端的探索,androidstudio汉化

android 程序员 移动开发

拿来吧你,Compose尝鲜初体验!,Android开发真等于废人

android 程序员 移动开发

揭秘 Android 百万开发被迫转行背后的残酷真相,只是你没找对方向罢了

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识

android 程序员 移动开发

拔刀金九银十:2020年最新BAT大厂 Android 面试知识点,安卓开发入门到精通

android 程序员 移动开发

插件化框架解读之android系统服务实现原理(五),毕业工作5年被裁

android 程序员 移动开发

插件化框架解读之Class文件与Dex文件的结构(一),Android详解

android 程序员 移动开发

掌握Android和Java线程原理上,跨平台移动开发工具

android 程序员 移动开发

插件化&热修复系列——ClassLoader方案设计,开源至上

android 程序员 移动开发

手把手讲解--性能优化案例(2)app卡顿优化,androidsdk开发封装

android 程序员 移动开发

手撕专有钉钉Android面试题完全指南,安卓开发入门书籍

android 程序员 移动开发

打造自己的Android常用知识体系,android音视频开发面试

android 程序员 移动开发

手把手教你打通车载蓝牙与手机app的音频信息传输&车载反向控制手机app

android 程序员 移动开发

我敢打赌!你从未见过如此简单的Dagger-导航---基于-Android-Studio-4-1

android 程序员 移动开发

我是如何在一晚上拿到阿里巴巴Android研发offer的?,三年经验Android开发面经总结

android 程序员 移动开发

我草-28岁就年薪百万??直到我看到这个Alibaba Android技术图谱

android 程序员 移动开发

手把手讲解-一个复杂动效的自定义绘制2,html5移动端开发框架

android 程序员 移动开发

搞Android开发为什么这么难?想哭了!,kotlin中文

android 程序员 移动开发

收割腾讯等十几个Offer后,揭秘进大厂的秘诀和Android技术面试题汇总!

android 程序员 移动开发

拥抱-Koin,放弃-Dagger吧!,android开发技术难点

android 程序员 移动开发

插件化库VirtualAPK详解,你头秃都没想到还能这样吧

android 程序员 移动开发

插件化框架解读之Android-资源加载机制详解(二),kotlin语法印章类

android 程序员 移动开发

我的Android 求职简历,二本渣校,靠这份简历拿下BATJ等15家大厂Offer

android 程序员 移动开发

手把手讲解IPC框架,成为一名合格Android架构师

android 程序员 移动开发

手撕专有钉钉Android面试题完全指南(1),2021年网易Android岗面试必问

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识(1)

android 程序员 移动开发

我是怎么把业务代码越写越复杂的 _ MVP - MVVM - Clean Architecture

android 程序员 移动开发

技术迭代迷茫?Android资深架构师教你如何打破这个局面!

android 程序员 移动开发

抱着试一试的心态,没想到还真被录用了!年后我收到的第一个offer

android 程序员 移动开发

Docker Swarm新版本发布对Kubernetes的意义_语言 & 开发_才云科技_InfoQ精选文章