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 实际状态” 的核心思想。

posted @ 2026-05-28 11:11  Donaver  阅读(16)  评论(0)    收藏  举报