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技术堆栈
Operator Framework : 参见 Red Hat OpenShift Operators