OpenShift
openshift;企业 K8s 发行版。
35 分钟
OpenShift
Red Hat OpenShift 是基于 Kubernetes 的 企业 PaaS 发行版:在 upstream K8s 之上叠加 内置镜像仓库、Router/Ingress、SCC、Operator 生命周期、Developer Console 等,降低平台团队搭建门槛。本课衔接 kubernetes-essentials 的 K8s 基础,补全 /roadmaps/devops 的 platform / container-orchestration 企业分支;底层 VM 与网络可由 terraform-essentials 与 devops-cloud-essentials 供给。
学习目标
- 区分 OpenShift Container Platform(OCP) 与 OKD(社区版) 及与 vanilla K8s 的关键差异
- 理解 Project、Route、SCC、BuildConfig/ImageStream 等 OpenShift 特有概念
- 能将 CodeRoadMap 组件映射为 Deployment + Route + Secret 的 OCP 部署模型
OpenShift vs vanilla K8s
| 能力 | vanilla K8s | OpenShift |
|---|---|---|
| 入口 | 需自建 Ingress Controller | 内置 Router(HAProxy)+ Route CRD |
| 镜像 | 外部 Registry | 内置 Internal Registry + ImageStream |
| 安全 | PodSecurity / PSA | SCC(Security Context Constraints)更细 |
| 构建 | CI 外部完成 | BuildConfig 可从 Git/S2I 构建 |
| 控制台 | 需 Lens/Rancher 等 | 内置 Developer + Admin Console |
| 安装 | kubeadm / 托管 EKS/GKE | IPI/UPI 安装器或 ROSA/ARO 托管 |
部署 CodeRoadMap 示例
# deployment-backend.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: coderoadmap-backend
namespace: coderoadmap
spec:
replicas: 2
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
spec:
containers:
- name: backend
image: registry.example.com/coderoadmap/backend:1.0.0
ports:
- containerPort: 8080
envFrom:
- secretRef:
name: backend-db-credentials
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "1000m"