总结来说,云原生的三大特征是:docker、kubernetes,微服务和devops。此外,云原生强调自动化以提升能够开发效率和运维效率。
OpenShift是由红帽公司推出的PaaS云计算平台,它诞生于2011年,核心架构采用自研容器编排平台Gear。Kubernetes推出后,红帽决定对OpenShift进行重构。2015年6月,红帽推出了基于Kubernetes1.0的OpenShift3.0。2018年6月,OpenShift4.1发布,它与OpenShift3.0相比,较大的变化是引入了CoreOS作为默认操作系统。当前最新版本的OpenShift平台是2019年12月17日发布的4.2.11,新版系统进一步实现了混合云环境企业级服务的简化和自动化,同时可以让开发者通过云原生应用实现创新并提高业务价值。
OpenShift在Kubernetes的基础上扩展提供了软件定义网络、软件定义存储、权限管理、企业级镜像仓库、统一入口路由、持续集成流程(S2/Jenkins统一管理控制台、监控日志等功能,形成覆盖整个软件生命周期的解决方案,提供了企业级的服务支持。当前其提供三种产品:OpenShift Online、OpenShift Enterprise和OpenShift Origin。其中,OpenShift Online是面向普通开发者和小微企业的线上公有云平台;OpenShift Enterprise是面向企业的私有云平台;OpenShift Origin是一个开源项目,是构成前两个的基础
IAAS思想:将物理机虚拟成虚拟机,出现IAAS来解决这类问题
PAAS思想:如何在虚拟机上部署应用?本地环境和生产环境不一致,如何打包部署?需要部署多台服务器,如何实现?出现PAAS来解决这类问题
Docker思想:在PAAS解决上述问题时,绕不开的是打包和部署,而部署用容器化部署,本质上是Namespace和Cgroup来做这块,但是如何打包保证本地远程环境一致,Docker的image镜像横空出世,解决了这块的问题,使得Docker一下子步入大家的视野
Kubernetes思想:k8s杀出之前,存在docker swarm和mesos两者支撑大规模集群部署,前者拥有和docker生态无缝兼容的优势,后者则是拥有大规模集群部署的经验能力;而CNCF主要是由Google和RedHat牵头的,k8s本身又是脱胎于borg和omega这两个google本身已经开发的系统,自身已经集成了pod、sidebar等设计理念,加之Kubernetes重开发者思想,在每一层的API上都充分支持开发者撰写插件接入,其发展态势瞬间超越docker
总括:
微服务、容器、云原生、Kubernetes、SOA、Paas平台、Devops 之间相互促进、相互依赖、相互关联,它们之间的关系如下:
