OpenShift简介

备注

我的实践基于OpenShift社区版本 OKD ,所以后续文档中基本不区分两者,只在特定差异部分注明。

文档会同时参考 Red Hat官方OpenShift文档 以及 OKD开源社区文档 ,进行两者对比梳理,并结合自己的部署实践。

Red Hat官方文档提供了中文版(社区只有英文),所以相对更为方便,可以快速阅读。

早期的OpenShift集成了太多RedHat特有的功能,会比较困扰。不过 4.x 之后有很大改善,基本上就是对标准cncf工具或开源工具(argocd/prometheus/tekton/operatormanager...)的自定义设置。所以一定程度上可以视为标准 Kubernetes 集成了大量开源工具来更便于使用,也为自己今后迁移回标准Kubernetes(避免厂商锁定)提供了可能。此外,OpenShift 4.x提供了很多operator来方便管理,使用上会比较轻松。( 参考 Why should one use Openshift vs the managed Kubernetes services in public cloud? )

我将OpenShift作为一个开源解决整体方案来参考,通过解析软件堆栈构成,可以对开源生态以及合理的组合加深理解。

OpenShift

OKD

OKD是OpenShift的 社区版本 ,提供了针对 持续应用部署多租户部署 优化的 Kubernetes 社区分发。OKD在Kubernetes之上添加了开发和中心化操作工具,以便能够快速部署应用,灵活扩展应用以及面向小型和大型团队的应用长期生命周期维护。OKD提供了在云计算或裸金属服务器上运行Kubernetes能力,并且简化了运行和更新集群的方式,也提供了容器化运行的全面工具。

OKD功能

  • 在主流云计算和裸金属,以及 OpenStack 或其他虚拟化供应商平台上自动部署Kubernetes

  • 集成了服务发现和持久化存储的轻松构建应用

  • 按需快速和方便的扩展应用

  • 支持自动化高可用,负载均衡,健康检查和故障切换

  • 通过Operator Hub扩展了Kubernetes的自动化应用生命周期管理

  • 在Kubernetes上提供了构建容器化应用的开发者中心话工具和控制台

  • 只需要将源代码推送到Git仓库就能自动化部署容器化应用

  • 构建和监控应用的WEB控制台和命令行工具

  • 面向全栈、团队和组织的中心化管理

  • 为系统的组件创建可重用模版,就能够随时部署

  • 以可控方式滚动修改软件堆栈

  • 可以集成到现有认证系统,包括LDAP,Active Diretory以及类似GitHub的公共OAuth认证

  • 多租户支持,包括团队和用户隔离的容器、构建和网络通讯

  • 在生产环境提供良好授权控制的容器安全

  • 在平台提供限制、跟踪和管理开发者以及团队的能力

  • 集成容器镜像仓库,自动化边缘负载均衡以及使用 Prometheus监控 全面监控

OKD技术堆栈

参考