1. OpenShift与微服务运行平台认知

在讨论“如何建设一个微服务运行平台”之前,必须先厘清两个基础问题:OpenShift 到底是什么,以及一个企业级微服务运行平台应当具备哪些关键能力。很多团队在选型阶段容易把 OpenShift 简单理解为“带界面的 Kubernetes”,或者把平台建设等同于“装一套容器编排软件”,这两种理解都会导致后续建设范围失控。本节从 OpenShift 的核心架构出发,梳理微服务运行平台的关键能力,再通过企业级容器平台选型对比,最终落到平台建设目标与范围的界定上。

一、OpenShift 核心架构

OpenShift 是 Red Hat 基于 Kubernetes 构建的企业级容器应用平台。它与 Kubernetes 的关系可以概括为:Kubernetes 提供容器编排内核,OpenShift 在其上叠加了面向企业生产环境的完整能力层。理解这一点,是理解整个平台建设逻辑的起点。

从架构分层看,OpenShift 可以划分为四个层次。最底层是基础设施层,包括物理机、虚拟机或公有云实例,以及操作系统(RHCOS,即 Red Hat Enterprise Linux CoreOS)。RHCOS 是专为容器运行设计的不可变操作系统,节点通过 Machine Config Operator 统一管理配置,避免人工登录节点修改系统导致环境漂移。

第二层是集群编排层,即 Kubernetes 核心组件:控制平面包含 kube-apiserver、etcd、kube-scheduler、kube-controller-manager;工作节点运行 kubelet、CRI-O 容器运行时和 kube-proxy。OpenShift 使用 CRI-O 替代 Docker 作为运行时,并通过 OVN-Kubernetes 提供网络与网络策略能力。

第三层是平台能力层,这是 OpenShift 区别于原生 Kubernetes 的核心价值所在。它包含:内置镜像仓库(Image Registry)、Source-to-Image 与 BuildConfig 构建体系、Routes 路由与 Ingress、OperatorHub 与 Operator 生命周期管理、基于 OAuth 的统一认证、RBAC 与 Security Context Constraints(SCC)安全约束、内置监控(Prometheus + Alertmanager)与日志(Loki/Elasticsearch)等。这些能力让平台具备“开箱可用”的生产属性。

第四层是应用与开发者层,包括 Web Console、oc CLI、Developer 视角、Pipelines(基于 Tekton 的 CI/CD)、Service Mesh(基于 Istio 的服务网格)、Serverless(基于 Knative)等,直接面向微服务的开发、交付与治理。

OpenShift 四层架构与微服务运行平台能力映射 应用与开发者层 Web Console oc CLI Pipelines Service Mesh Serverless Developer 平台能力层(OpenShift 增值核心) 内置镜像仓库 Image Registry 构建体系 S2I / BuildConfig 路由与入口 Routes / Ingress Operator 管理 OperatorHub 认证与安全 OAuth / RBAC / SCC 集群编排层(Kubernetes 内核) kube-apiserver / etcd scheduler / controller kubelet / CRI-O OVN-Kubernetes kube-proxy 基础设施层 物理机 / 虚拟机 / 公有云 RHCOS 不可变操作系统 Machine Config Operator 存储 / 网络基础设施 微服务运行平台关键能力映射: 弹性调度 服务发现 配置管理 灰度发布 可观测性 安全隔离 多租户

二、微服务运行平台的关键能力

微服务运行平台不是“能跑容器”就够了。一个真正支撑企业微服务生产运行的平台,至少需要具备以下六类关键能力,它们也是后续平台建设验收的核心维度。

第一,弹性调度与资源治理。平台需要支持基于 CPU、内存、QPS 或自定义指标的自动扩缩容(HPA/VPA),并能够通过 ResourceQuota 和 LimitRange 对命名空间进行资源配额约束。例如,为某业务命名空间设置 requests.cpu=4、limits.cpu=8,防止单个团队耗尽集群资源。

第二,服务发现与流量治理。微服务之间通过 Service 和 DNS 实现服务发现,通过 Service Mesh 实现熔断、限流、重试、超时和灰度路由。平台需要提供统一的入口网关(Routes/Ingress)和东西向流量治理能力。

第三,配置与密钥管理。ConfigMap 管理非敏感配置,Secret 管理敏感信息,并支持配置热更新与版本回滚。平台应避免把配置硬编码进镜像,实现“一次构建、多环境部署”。

第四,持续交付与发布策略。平台需要集成 CI/CD 流水线,支持滚动更新、蓝绿发布、金丝雀发布等策略,并能够与 GitOps 工具链(如 ArgoCD)对接,实现声明式交付。

第五,可观测性。包括指标(Metrics)、日志(Logging)和链路追踪(Tracing)三位一体。OpenShift 内置 Prometheus 监控和 Alertmanager 告警,配合 Loki 或 Elasticsearch 实现日志聚合,配合 Jaeger 实现分布式追踪。

第六,安全与多租户隔离。通过 Namespace 实现逻辑隔离,通过 RBAC 控制访问权限,通过 SCC 限制容器特权,通过 NetworkPolicy 控制 Pod 间网络访问,通过镜像扫描和签名确保供应链安全。

三、企业级容器平台选型对比

企业在建设微服务运行平台时,通常会在 OpenShift、原生 Kubernetes 发行版(如 RKE2、K3s)、公有云托管 Kubernetes(如 ACK、EKS、TKE)以及商业发行版(如 Rancher、Tanzu)之间做选择。选型的核心不是“哪个最强”,而是“哪个最匹配企业的运维能力、合规要求和成本预算”。

对比维度 OpenShift 原生 Kubernetes 公有云托管 K8s
开箱即用能力 高,内置 CI/CD、监控、日志、镜像仓库 低,需自行集成大量组件 中,云厂商提供部分托管能力
安全合规 SCC、OAuth、镜像签名、FIPS 支持完善 需自行设计安全策略 依赖云厂商安全体系
运维复杂度 中,有 Operator 自动化但学习曲线陡 高,组件版本兼容需自行维护 低,控制面由云厂商托管
成本 订阅费用较高 软件免费,人力成本高 按量付费,长期成本需评估
适用场景 混合云、信创、强合规、多租户中大型企业 技术能力强、追求定制化的团队 已深度绑定某云厂商的企业

需要特别说明的是,选型对比表中的“成本”不能只看软件许可费。原生 Kubernetes 虽然软件免费,但企业需要投入大量人力维护 etcd 备份、证书轮换、版本升级、监控告警集成等工作,三年总拥有成本(TCO)往往并不低于 OpenShift 订阅。因此,选型应基于 TCO 而非采购单价。

四、平台建设目标与范围界定

平台建设最容易失败的原因不是技术选型错误,而是范围失控。建议在项目启动阶段就明确“建设目标”和“范围边界”两个清单。

建设目标应当是可衡量的。例如:支撑 200 个微服务实例稳定运行;应用平均部署时间从 30 分钟缩短到 5 分钟以内;生产环境故障平均恢复时间(MTTR)控制在 15 分钟以内;平台可用性达到 99.95%。这些目标将直接决定集群规模、高可用架构和运维投入。

范围界定则需要明确“做什么”和“不做什么”。建议至少界定以下边界:

  • 纳入范围:容器集群的规划与部署、命名空间与租户模型设计、镜像仓库与构建流水线、基础监控告警、日志采集、入口网关、RBAC 权限体系、平台运维 SOP。
  • 暂不纳入:业务应用的代码改造、业务数据库的容器化、遗留单体应用的迁移、业务侧的 APM 深度定制、跨集群多活容灾(可作为二期目标)。
范围界定不是“砍需求”,而是把有限的人力集中在平台底座上。业务改造应由业务团队在平台就绪后逐步推进,平台团队负责提供标准接口和接入规范。

综合来看,OpenShift 的核心价值在于它把 Kubernetes 之上大量“企业生产必需但原生不提供”的能力做了产品化封装。理解四层架构,就能理解平台建设的工作面在哪里;理解六类关键能力,就能理解验收标准是什么;理解选型对比和范围界定,就能理解项目边界在哪里。这三件事想清楚了,后续的集群规划、租户设计、流水线建设和运维体系才有稳固的出发点。