InfoQ 研究中心诚意出品,一份报告带你走进中国 2000 万开发者 了解详情
写点什么

6 个出色的 Kubernetes 发行版,哪款最适合你?

  • 2020-05-25
  • 本文字数:2392 字

    阅读完需:约 8 分钟

6个出色的Kubernetes发行版,哪款最适合你?

时至今日,通过 Kubernetes 编排容器化应用程序已经成为绝大多数人的第一选择,Kubernetes 可以帮助用户轻松实现企业级部署。但是,在安装 Kubernetes 之前,你还需要再了解一件事:Kubernetes 发行版。绝大多数情况下,用户不会直接从源代码中安装 Kubernetes,而是在软件公司和云供应商提供的众多 Kubernetes 发行版中进行选择。


那么,什么是 Kubernetes 发行版?当前又有哪些出众的 Kubernetes 发行版呢?


什么是 Kubernetes?

在讨论 Kubernetes 发行版之前,我们先来回顾一下什么是 Kubernetes。


Kubernetes 是一个用于容器编排的开源平台,它使容器部署应用程序所需的许多任务实现了自动化,包括启动和停止单个容器,以及确定集群中的哪些服务器应当承载哪些容器。如果你还想了解更多关于 Kubernetes 的基础知识,欢迎查阅以下文章:


再也不用担心学不会K8S!17个K8S初学者必须掌握的知识点


零基础入门│带你理解Kubernetes


Kubernetes 是容器生态系统中的其中一个容器编排平台,另外两个容器编排工具分别是 Docker Swarm 和 Mesos Marathon,在本文中我们不会详述。当我们提及容器编排平台时,我们首先想到的是 Kubernetes——因为 Kubernetes 享有最高的市场关注度,或许还占有最大的市场份额。


什么是 Kubernetes 发行版?

作为一个开源项目,用户可以在 GitHub 上免费获取 Kubernetes 的源代码。任何人都可以使用这个源代码在自己选择的基础架构上下载、编排和安装 Kubernetes。然而,大多数想要安装 Kubernetes 的人并不会选择下载和编排源代码,主要有如下三方面的原因:


  • 费时费力: Kubernetes 源代码数量非常庞大,从头开始构建它们需要花费大量的时间和精力。另外,无论你什么时候要更新安装,都必须重新构建所有内容。

  • 多组件: Kubernetes 不是单一应用程序,而是一套不同的应用程序和工具。如果你从源代码安装它,那么你必须在构建 Kubernetes 集群的所有服务器上分别安装这些组件。

  • 配置复杂: 由于 Kubernetes 没有安装向导或是自动配置脚本,因此你还必须手动配置 Kubernetes 的所有组件。


大多数人选择 Kubernetes 发行版来满足他们的容器编排需求。Kubernetes 发行版是一个提供了预先构建版本的 Kubernetes 的软件包。大多数 Kubernetes 发行版还提供了安装工具,使安装过程变得更加简单。部分 Kubernetes 发行版还集成了其他软件,可以处理集群监控和安全性等任务。


从这个意义上讲,你可以将 Kubernetes 发行版看作是 Linux 发行版的同类。当大多数人想要在 PC 或是服务器上安装 Linux 的时候,他们使用的发行版是一个预先构建的 Linux 内核,该内核与各种其他软件包集成在一起。几乎没有人会选择从头下载 Linux 源代码。


主要的 Kubernetes 发行版有哪些?

从技术上看,任何包含 Kubernetes 预先构建版本的 Kubernetes 的软件包或平台都可以算作 Kubernetes 发行版。就像任何人都可以构建自己的 Linux 发行版一样,任何人都可以建立一个 Kubernetes 发行版。


但是,如果你希望使用 Kubernetes 发行版来完成重要的工作,你可以在以下几个主要的发行版中进行选择:


  • Rancher :Rancher 容器管理平台是基于 Kubernetes 来构建的,多集群 Kubernetes 部署是 Rancher 的 Kubernetes 发行版强调的重点。如果你想跨多个云部署 Kubernetes,或者由于某些原因不希望使用命名空间隔离 Kubernetes 工作负载,那么 Rancher 将是你的首选项。Rancher 可以部署在本地数据中心和云上,甚至可以在包含两者的跨基础设施架构上工作。Rancher 和 OpenShift 的相似之处在于它在 Kubernetes 上集成了多种工具,但 Rancher 更为灵活,基于 Rancher 你可以自由选择组件。

  • OpenShift :OpenShift 是一个包含了 Kubernetes 以及其他各种运行、部署和管理容器所需工具的容器化平台。这是一个相对不太灵活的 Kubernetes 发行版,当你在使用工具和平台来构建完整的容器化堆栈时,它并不会给予你太多的选择。另一方面,OpenShift 提供了几乎所有你可能需要的开箱即用的工具,你将获得尽可能接近完整的 Kubernetes。OpenShift 由 Red Hat 开发,可以同时在本地数据中心和云中运行。

  • Canonical Kubernetes :开发 Ubuntu Linux 的 Canonical 公司提供了功能强大且具有支持良好的 Kubernetes 发行版。除了要求你必须使用 Ubuntu,Canonical 的 Kubernetes 发行版相对“纯粹”,如果你希望安装组件,你可以将它与你所需的任何组件进行集成。它可以在本地数据中心或者云中运行。

  • Google Kubernetes Engine :当其他云供应商专注于自己的编排工具时,谷歌云就已经押注在 Kubernetes 身上了,这并不稀奇,从 Kubernetes 项目伊始,Google 便是 Kubernetes 的主要支持者。如今,Google Kubernetes Engine 是一种灵活且简单的 Kubernetes 发行版。由于它运行在谷歌云中,因此你无需担心安装问题。

  • Azure Kubernetes Service :Azure 曾经将赌注押在 Docker Swarm 上,但是 Azure Kubernetes Service(AKS)现在是 Azure 云的主要编排解决方案。这是一款仅运行在云上的 Kubernetes 发行版。

  • AWS Elastic Kubernetes Service :虽然 AWS 云上的容器服务 Elastic Container Service(ECS)拥有自己的编排器,但 AWS 还提供了 Elastic Kubernetes Service(EKS),这是一种围绕 Kubernetes 构建的替代方案。和 AKS 一样,EKS 仅在云上运行。


结语

Kubernetes 是一个复杂的容器编排平台,并非每个人都可以消化它。但幸运的是,Kubernetes 发行版可以轻松实现 Kubernetes 的优势,而无需自己从头开始建立 Kubernetes。对于大多数用例而言,以上所提及的 Kubernetes 发行版是安装和运行 Kubernetes 最实用的解决方案。


标题:How to Choose the Right Kubernetes Distribution

链接:

https://www.itprotoday.com/hybrid-cloud/how-choose-right-kubernetes-distribution


作者简介


Christopher Tozzi,自 2008 年来以自由职业者的身份对 Linux、虚拟化、容器、数据存储及其相关主题进行报道。


2020-05-25 16:41758

评论

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

程序员成长第二十三篇:员工不符合预期,怎么办?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

准备参加软考的小伙伴注意了!

IT蜗壳-Tango

IT蜗壳 3月日更

Python 数据类型

HoneyMoose

几千次的重复提交,我用 SpringBoot+Redis 居然扛住了!

Java小咖秀

redis 后端 springboot 幂等

什么是职业

ES_her0

28天写作 3月日更

雪花算法,到底是个啥?

架构精进之路

算法 七日更 3月日更

《接口测试入门》 学习笔记

骆俊

七日更 3月日更

one day

旭陽

vm

梅花鹿鹿

28天写作 3月日更

【动态规划/总结必看】从一道入门题与你分享关于 DP 的分析技巧 ...

宫水三叶的刷题日记

面试 算法 LeetCode

Elasticsearch Dynamic Mapping

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

算法喜刷刷

Kylin

算法 3月日更 21天挑战

面试被吊打系列 - Redis原理

数据库 架构 面试

如何用python优雅的写论文

张鹤羽

28天写作 3月日更

(28DW-S8-Day17) 讲故事能力

mtfelix

28天写作 讲故事能力 复述能力

2021金三银四必备:“基础-中级-高级”Java程序员面试复习路线

比伯

Java 编程 程序员 架构 面试

今日随想

Nydia

进步

lenka

3月日更

正则表达式.04 - 引用

insight

正则表达式 3月日更

更新60篇的复盘:持续书写,见证文字的力量

boshi

写作 七日更

搞定计算机网络的常见面试问题

LeetCode题解:518. 零钱兑换 II,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

优雅编程 | javascript代码优化的15个小知识

devpoint

ES6 JS代码优化 JS迭代

Apache Ranger的部署安装

大数据技术指南

大数据 3月日更

线上MySQL读写分离,出现写完读不到问题如何解决

程序员历小冰

MySQL 读写分离

Wireshark数据包分析学习笔记Day5

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

冰河公开了进大厂的核心技能,服了!

冰河

程序员 面试 大厂技能 硬核技能图谱

如何在 Python 中清屏

HoneyMoose

事务消息应用场景、实现原理与项目实战(附全部源码)

中间件兴趣圈

RocketMQ 实战 消息中间件 事务消息

不一样的软件们——GitHub 热点速览 v.21.10

HelloGitHub

数据库 GitHub 开源

redis工作原理(上)

Sakura

28天写作 3月日更 21天挑战

6个出色的Kubernetes发行版,哪款最适合你?_文化 & 方法_Rancher_InfoQ精选文章