Replication Controller
Replication Controller(RC)是 Kubernetes 的早期核心控制器之一,它的作用是确保在任意时刻都有指定数量的 Pod 副本在运行。虽然现在推荐使用 Deployment + ReplicaSet,但理解 RC 有助于掌握 Kubernetes 的演进和副本管理机制。
🧩 Replication Controller 的职责
- 维持副本数:保证 Pod 数量始终等于用户定义的值。
- 自动替换:如果 Pod 因故障、删除或节点维护而消失,RC 会自动创建新的 Pod。
- 缩放控制:当 Pod 数量过多时,RC 会终止多余的 Pod;过少时则会启动新的 Pod。
- 跨节点管理:RC 不仅监控单节点,而是跨多个节点维持副本。
📌 类比理解
- Replication Controller = 工人数量监督员
- 它每天检查工人(Pod)的数量是否符合计划。
- 如果少了,就招聘新工人;如果多了,就裁掉多余的。
- 保证生产线始终有人在岗。
⚠️ 注意事项
- 已被替代:RC 是旧 API,现在推荐使用 ReplicaSet 和 Deployment 来管理副本。
- 仍可使用:在一些旧版本或简单场景下,RC 仍然能运行。
- 单 Pod 场景:即使只需要一个 Pod,也建议用 RC/ReplicaSet 来保证自动恢复。
📝 示例配置
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
👉 这个 RC 会确保始终有 3 个 nginx Pod 在运行。 Kubernetes v1-33.kubernetes.ac.cn Kubernetes中文社区
💡 总结
Replication Controller 是 Kubernetes 最早的副本管理机制,保证 Pod 数量稳定。它的理念延续到了 ReplicaSet 和 Deployment,因此理解 RC 就是理解 Kubernetes “期望状态 vs 实际状态” 的核心思想。

浙公网安备 33010602011771号