主流 Kubernetes 发行版梳理
2014 年,Kubernetes 作为内部 Google orchestrator Borg 开源版本推出,目前已是最成功和发展最快的 IT 基础架构项目之一。2018 年,Kubernetes 已广泛应用于各种业务,从软件开发商到航空公司。Kubernetes 得以迅速普及的原因之一就是其开源架构及由社区提供的大量手册、文档和支持。
就像所有成功的开源项目一样,Kubernetes 也存在很多发行版,开源版本固然好,但太过基础和存在很多错误,因此开发者需要不同的发行版提供额外功能。虽然市面上也有很多云供应商支持 Kubernetes,但本文侧重梳理可在本地运行或作为云托管选项的发行版,减少被单一供应商绑定的风险。
原版开源 Kubernetes
Kubernetes 由 Cloud Native Computing Foundation(云原生计算资金会)和 Kubernetes 用户组成的多样化社区支持,也是第一个从 CNCF 毕业的项目。
开发者对原版 Kubernetes 最为熟悉,通过官网或者 Github 开源网站可轻松找到原版 Kubernetes 的功能列表和官方文档。需要注意的是,如果选择该版本,你可以享受所有开源功能和社区支持,但原生开源版本往往存在一些问题或者无法第一时间获得社区帮助。
许可和定价模型
开源且 100%免费,可以像所有开源产品一样安装、使用和更新。
安装
设置 Kubernetes 集群的方法有很多,从非常容易到中等难度。 开发者可使用 minikube 在本地安装 Kubernetes 并进行实验和测试,或使用 kubeadm 在云中引导集群。对于故障排除或最佳实践示例,可以查阅各种资源或者在 GitHub 社区发问。
Kubernetes 很强大,但绝对不容易。如果没有准备就绪或者经验不足,处理问题时可能会导致停机,因此在将 Kubernetes 用于最终用户服务之前,开发者需要花一些时间在沙箱模式下练习。
红帽 OpenShift
在 Kubernetes 之前,OpenShift 作为一个单独项目并使用完全不同的技术运行。后来,红帽意识到 Kubernetes 的能力越来越强大,因此在第 3 版中明智地将其作为 OpenShift 的核心。
与原生开源 Kubernetes 相比的主要区别在于:
- 集成用户管理
- 集成 Docker 注册表
- 集成 CI 管道
- 集成资源模板
- 使用类似但略有不同的概念,如路由器而不是 Ingresses,Projects 而不是 Namespaces 等。
OpenShift 由红帽提供支持,根据 Stackalytics 的说法,红帽是继谷歌和社区之后 Kubernetes 项目的第三大贡献者,因此可能是维持 Kubernetes 发行版最合法的公司之一。
许可和定价模型
OpenShift 有三种定价模式:
- OKD,OpenShift 免费发布的 Kubernetes。
- OpenShift Enterprise,由红帽托管和管理,也可由客户端部署在本地,托管版本的起价为每年 48,000 美元,包括 3 个 master,3 个 etcd 和 4 个应用程序节点。
- OpenShiftOnline,在线提供的 PaaS 版本。每 2 Gb RAM 的成本约为每月 50 美元,与其他 Kubernetes 即服务提供商相比,这有点贵。
安装
该发行版的安装过程不是很复杂,但需要特定配置。安装使用 Ansible,因此建议使用此配置管理工具。
OpenShift 显然是一个企业级发行版,目标是稳定而不是功能,因此该发行版总是比原生开源版本的发布速度慢一些。
Platform9 Managed Kubernetes
这是一个非常重要的商业发行版,可在任何环境中部署 Kubernetes,无论是公有云还是本地,Platform9 的工程师也可以远程管理,该发行版基本每周六都会对 Managed Kubernetes 进行一次更新,也会与该公司开发的无服务期计算项目相集成,与几乎所有编程语言兼容。
许可和定价模型
可以免费试用,也有相关开源工具支持,但持续使用需要付费。
安装
安装过程比较容易,适合各种环境
Tectonic
Tectonic 是一种非常受欢迎的 Kubernetes 发行版,目前正在与红帽集成。与开源 Kubernetes 相比,优势功能如下:
- 易于设置
- 用户友好的 Web UI
- 用户管理
- 对供应商的支持
Tectonic 由 CoreOS 创建,CoreOS 是一家致力于发展容器技术公司,但已被红帽收购,因此可能会看到 RedHat 在集成路线图中宣布 OpenShift 和 Tectonic 融合。
许可和定价模型
Tectonic 拥有商业许可模式,最多可免费提供 10 个节点,而对于更大的集群,每 10 个节点的定价约为每月 1000 美元,其中包括支持。
安装
可以通过安装程序或 Terraform 安装。但是,Tectonic 的未来方向尚不确定,很可能将完全消失并最终与 OpenShift 集成。因此,从长远来看,Tectonic 可能不是最佳选择。
Stackube
HyperHQ 提供用于运行容器的 Hyper.sh 云服务,Stackube 是一款以 Kubernetes 为中心的 OpenStack 发行版。Stackube 的一大优势是可根据所用容器运行时环境提供不同程度的多租户机制,用户可选择 Docker 或者虚拟机进行配置。
Kubernetes Distribution by Containerum
Containerum 有两种不同但互补的产品,其中一个是 Kubernetes 发行版称为 KDC;另一个是开源 Containerum 平台,可作为 UI 安装在 Kubernetes 之上,具有一些额外功能,比如用户管理,指标监控,CI/CD 管道等。
许可和定价模型
KDC 和 Containerum 平台都是 100%开源,因此可以自由部署解决方案。
安装
设置相对容易,与 vanilla Kubernetes 安装非常相似,开发者可以在具有 Helm 图表的现有 Kubernetes 集群之上安装 Containerum Platform。
KDC + Containerum 平台可能是最简单的 Kubernetes 发行版,也符合已经拥有 Kubernetes 集群但需要比开源 Kubernetes 集群更多功能的用户需求。
Rancher
Rancher 是一个包含 Kubernetes 的容器管理平台,因此可以将其视为 Kubernetes 发行版。与开源 Kubernetes 相比,Rancher 的主要特点如下:
- 跨供应商集群部署
- 用户管理
- Web 用户界面
- 集成 CI/CD 管道
Rancher Kubernetes 由成立于 2014 年的创业公司 Rancher Labs 提供支持,该公司的明星产品是 Rancher 容器平台,但也创建 RancherOS,一个以容器为中心的 Linux 发行版。
许可和定价模型
Rancher 是 100%开源,该公司可提供咨询和支持服务,但此部分报价不公开。
安装
开发者可使用名为 RKE 的 Kubernetes 安装工具。
Canonical Kubernetes
该发行版由 Linux 发行版 Ubuntu 背后的公司 Canonical 支持,相当于是一个可在主流公有云提供商和 OpenStack 等私有云解决方案上轻松部署的 vanilla Kubernetes,能够轻松设置并管理跨供应商的 Kubernetes 集群,用户界面是官方 Kubernetes 仪表板。
许可和定价模型
Canonical Kubernetes 完全免费。但是,每个虚拟节点有几个支持包,起价为每年 200 美元(至少应用 2,500 美元),支持包从每十个节点 14,600 起步。
安装
开发者可使用 Canonical 开发的部署工具 Conjure-up 或 Juju 来完成安装。
Canonical Kubernetes 并没有给 Kubernetes 增添太多新功能,但是,它允许设置跨供应商和位置的 Kubernetes 集群,并提供企业级支持。
结论
对于这些发行版,不同公司有不同的盘算,有的愿意花时间培养内部人员的专业知识,从原生开源版本开始搭建;有些公司则更倾向于使用第三方服务。
如果将 Kubernetes 用于小型项目或仅仅是为了练习,更好的选择是原生开源版本;对于大型项目和关键应用程序,建议使用第三方供应商提供的 Kubernetes 发行版,以便即时访问支持和故障排除。
转载自:https://www.infoq.cn/article/Wt4PPS8h5_CO2gvSahhi
主流 Kubernetes 发行版梳理的更多相关文章
- 6个出色的Kubernetes发行版,哪款最适合你?
作者简介 Christopher Tozzi,自2008年来以自由职业者的身份对Linux.虚拟化.容器.数据存储及其相关主题进行报道. 本文来自Rancher Labs 时至今日,通过Kuberne ...
- 主流Linux发行版及联系
一.主流Linux主流发行版 RedHat:Red Hat Linux是由Red Hat公司发行的一个Linux发行包.其1.0版本于1994年11月3日发行,虽然其历史不及Slackware般悠久, ...
- 主流Linux发行版简介
发行版 包格式 所属厂商 发布年份 最新版本 说明 RHEL RPM RedHat 2004 7.3 RedHat Linux9.0后的企业方向,系统可以免费下载安装但无法使用官方yum源 Fedor ...
- linux目录结构 主流Linux发行版的目录结构
目录 目录结构 一般教学的目录 CentOS7 openSUSE15.1 Ubuntu18.04 详细说明: /dev目录 /etc目录 /proc目录 /usr目录 /var目录 比较重要的目录 文 ...
- 【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构(FHS)
从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了 ...
- 在各种Linux发行版上安装Git的教程
Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的.跟CVS或者SVN这些版本控制系统不同的是,Git的版本控制被认为是“分布式的”,某种意义上,git的本地工作目录可以作为一 ...
- linux桌面发行版简介
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/linux_desktop_distribution linux系 ...
- Linux系统起源及主流发行版
Linux系统起源及主流发行版 本文首先介绍了三大服务器系统,然后介绍了Linux系统的出现背景.以及主要release版本,最后介绍了Linux的文件系统和目录结构. 服务器系统,即安装在服 ...
- CoreOS,CoreOS,一款 Linux 容器发行版
CoreOS,一款最新的 Linux 发行版本,支持自动升级内核软件,提供各集群间配置的完全控制. 关于使用哪个版本的 Linux 服务器系统的争论,常常是以这样的话题开始的: 你是喜欢基于 Red ...
随机推荐
- Python学习:4.运算符以及数据类型解析
运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...
- ruby 反射机制常用方法
1. 获取类的名称: .class 2. 获取超类的名称:.superclass 3. 获取类包含的模块:.class.included_modules 4. 检查是否为实例对象:.instance_ ...
- web頁面優化以及SEO
轉載:https://blog.csdn.net/xustart7720/article/details/79960591 浏览器访问优化浏览器请求处理流程如下图: Etag:實體標籤.ETag是HT ...
- Wake-Sleep(W-S)算法【转载】
原文: https://www.zhihu.com/question/29648549 https://blog.csdn.net/zouxy09/article/details/8775518 en ...
- 浅谈fail-fast机制
fail-fast机制即为快速失败机制,个人认为是一种防护措施,在集合结构发生改变的时候,使尽全力抛出ConcurrentModificationException,所以该机制大部分用途都是用来检测B ...
- Scratch入门课程(1)——把工具准备好
为了让更多的同学了解少儿编程,从今天开始,我将以每周1次的频率发布Scratch的入门课程,大约在30课时左右. 几点情况说明: 1.这批课程主要面向2-4年级的同学,难度都不大,按照教程可以很轻松地 ...
- 【blockly教程】第六章 Blockly的进阶
6.1 模块化程序设计 一个较大的程序一般应分为若干个程序模块,每一个模块用来实现一个特定的功能.所有的高级语言中都有子程序这个概念,用子程序实现模块的功能.比如在C语言中,子程序的作用是由函数完成 ...
- MongoDB入门---文档查询操作之条件查询&and查询&or查询
经过前几天的学习之路,今天终于到了重头戏了.那就是文档查询操作.话不多说哈,直接看下语法: db.collection.find(query, projection) query :可选,使用查询操作 ...
- 堪称最好的A*算法(转)
如此好贴,不能不转!原文地址:http://dev.gameres.com/Program/Abstract/Arithmetic/AmitAStar.mht 中文译文转自:http://blog.c ...
- Hough变换-理解篇
Hough变换-理解篇 霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体.该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符 ...