去年OpenShift 2是我的最喜欢的开源PaaS。我当时说过,“OpenShift非常易于使用、管理和安装,对于熟悉Git的开发人员和熟悉Puppet的管理员来说,学习曲线很小。”启用自动水平伸缩就像在应用程序配置中选中一个框一样简单。自动齿轮空转是默认启用,并允许非常高的应用密度。更新一个应用程序就像执行一个git推送一样简单。对于开发者和运营商来说,OpenShift实现了PaaS的承诺。”
从那时起,OpenShift已经经历了一次彻底的重写使用Docker容器,而不是“墨盒”和“gears”来部署应用程序。理论上,这将使OpenShift PaaS使用起来更加简单,并为其提供更大的语言和应用程序池,这要感谢Docker Hub上已经存在的容器。但它在实践中是如何运作的呢?让我们找出答案。
OpenShift 3架构
正如您在图1中看到的,OpenShift 3仍然构建在Red Hat Enterprise Linux之上。然而,除此之外,几乎一切都变了。运行单元不再是一个“齿轮”——而是一个“荚膜”,荚膜由一个或多个Docker容器组成,它们在一个“节点”上一起运行。语言环境不再是“墨盒”;它们是Docker图像,使用源代码到图像工具与代码结合在一起。节点是RHEL的实例,应用程序将在其中运行。
调度、管理和复制现在是master的一部分,它在RHEL上实现Kubernetes。服务层与底层物理或虚拟硬件或公共或私有云通信。路由层将应用程序连接到互联网上,以便在计算机或移动设备上运行的客户端使用它们。