5.4 Kubernetes企业级实战:OpenShift
OpenShift 是由 RedHat 推出的企业级 Kubernetes 平台,其主要目标是构建以 OCI(Open Container Initiative)容器封装和Kubernetes容器集群管理为核心,对应用生命周期进行管理并实现DevOps工具链等完整功能的开源容器PaaS平台。OpenShift对应用的持续开发、多租户部署和安全管控等进行了优化,并在Kubernetes的基础上增加了以开发人员和操作管理人员为中心的工具集,以便实现应用程序的快速开发、轻松部署、简单扩展和全生命周期维护。OpenShift在上游开源社区的版本名称是OKD(最初叫Origin),OKD版本与Kubernetes发行版本相对应,如OKD 1.10对应Kubernetes 1.10。
Kubernetes是主流的容器编排引擎,Kubernetes已成为OpenShift不可分割的一部分。那么,OpenShift与Kubernetes之间究竟有什么关系?企业为什么不直接使用Kubernetes,而要选择使用OpenShift呢?首先,OpenShift更像一个完整产品,而Kubernetes只是一个开源项目,这就意味着 OpenShift 在安全性、易用性、多租户和用户体验等方面必然优于 Kubernetes。其次,OpenShift的商业产品叫作OpenShift容器平台(OpenShift Container Platform,OCP),通过订阅 RedHat 的 OCP 服务,企业用户可以获得来自 RedHat 的专业服务和支持。而如果使用Kubernetes,企业用户就只能获取社区的技术支持,其实有没有专业服务是很多企业用户在进行技术选型时的一个重要考虑因素。此外,OpenShift还提供了开源版本OKD,OKD具有与商业版本类似的功能,只是RedHat不提供技术支持和服务,企业用户需要自己对OKD有较为深入的理解。
总体而言,从功能上看,Kubernetes 所具备的功能特性,OpenShift 也一定具备,但是OpenShift所拥有的某些企业级功能特性,Kubernetes却不一定拥有。从集成度上看,OpenShift是基于Kubernetes的高度集成产品,如果将OpenShift看成操作系统,那么Kubernetes就是这个系统的内核。总之,OpenShift是一个用于构建、部署和智能化管理生产环境中Kubernetes应用程序的完整平台。