OpenShift被其供应商——Red Hat称为“ Enterprise Kubernetes”。在本文中,我将描述OpenShift和Kubernetes之间的真正差异。由于Red Hat倾向于将其描述为PaaS,因此常常令人困惑,有时掩盖了Kubernetes是OpenShift不可或缺的一部分,并围绕它构建了更多功能这一事实。让我们深入研究一下两者之间的真正区别。
1. OpenShift产品与Kubernetes项目
Kubernetes是一个开源的项目(甚至框架),而OpenShift是一个产品是有多种版本。其中一个称为OKD的OpenShift开源版本。以前它被称为OpenShift Origin,但是Red Hat的一些“聪明”的人想出了这个新名称,它的意思是“推动Red Hat OpenShift的Kubernetes的Origin社区发行版”(?)。但是,让我们暂时忘掉名称,只关注其含义。
有几个:
-
OpenShift Container Platform是一种产品,您可以将其安装在基础设施上,该产品包含订阅附带的付费支持
-
您需要为集群续订OpenShift订阅,并且随着集群的增长需要支付更多费用
-
Kubernetes有很多发行版,但这是一个项目,如果出现了故障,您可以主要依靠社区或外部专家(在某些情况下,它们有时可能比Red Hat支持的要好)
-
Kubernetes每年有很多版本(实际上是4个),OpenShift也有很多版本,但是它落后于Kubernetes的发布时间表—— 在撰写本文时,版本3远远落后于它(包括Kubernetes 1.11,而最新版本是1.14)而版本4是仅落后于一个版本,在以后的版本中应该紧随上游Kubernetes
-
作为产品,OpenShift订阅包括CloudForms(仅在版本3中),这些CloudForms通过其功能(例如,可配置的计费,监控,集中配置等)增强了它的功能。
-
OKD版本可以免费使用,并包含其商业产品的大多数功能,但是您不能购买支持,也不能使用基于Red Hat的官方镜像
因此,如果您需要对Kubernetes的支持,一种选择是购买OpenShift的订阅。如果您对自己的支持感到满意,那么当然会有Kubernetes,其中有大量的附带项目,整个生态系统和完善的社区。对于犹豫不决的人,有一个具有几乎所有OpenShift功能的OKD项目——您以后可以决定迁移到商业产品还是坚持使用OKD。
哪个更好?
这取决于您是否愿意付费和使用支持以及产品(OpenShift)附带的所有功能,而不是带有自助模型的项目(Kubernetes,还有OKD)。
2. OpenShift受限安装vs Kubernetes的无限制安装
如果您决定安装OpenShift,则需要使用
-
OpenShift 3上的Red Hat Enterprise Linux(RHEL)或Red Hat Atomic
-
仅在OpenShift 4上,Red Hat CoreOS(控制平面需要——主服务器和基础服务器,默认为计算节点),以及可选的RHEL(用于计算节点)
-
RHEL或CentOS(用于OKD)。
您不能将其安装在其他Linux发行版上。另一方面,Kubernetes几乎可以安装在任何Linux发行版上,例如Debian,Ubuntu(最受欢迎的发行版)和许多其他发行版。
在选择OpenShift进行安装时,您可以根据版本将其安装在多个平台上:
-
OpenShift 3——手动遵循参考指南(是的,您需要使用ssh,yum,vim和其他旧式工具进行安装)或带有openshift-ansible项目。后者可能是一个更好的选择,但是由于它需要通用并且是用Ansible编写的,所以它有点慢,