ReplicaSet

ReplicaSet 是 Kubernetes 中的副本控制器,它的作用是保证在任意时刻都有指定数量的 Pod 副本在运行。相比早期的 Replication Controller,ReplicaSet 功能更强大,支持更灵活的标签选择器,并且通常由 Deployment 来自动管理。


🧩 ReplicaSet 的核心职责

  • 维持副本数:确保 Pod 数量始终等于用户定义的值。
  • 自动替换:当 Pod 崩溃或被删除时,ReplicaSet 会自动创建新的 Pod。
  • 标签选择器:通过 selector 字段决定哪些 Pod属于它的管理范围。
  • Pod 模板:当需要新建 Pod 时,ReplicaSet 使用模板来创建。

📌 类比理解

  • ReplicaSet = 工人数量监督员 2.0
    • 它不仅检查工人(Pod)的数量,还能通过标签选择器更灵活地决定哪些工人属于自己管理。
    • 如果工人缺席,就招聘新工人;如果工人过多,就裁掉多余的。

⚠️ 注意事项

  • 推荐使用 Deployment:Deployment 是更高级的控制器,它会自动管理 ReplicaSet,并提供声明式更新、滚动升级等功能。
  • 直接使用场景:只有在需要自定义更新编排,或者完全不需要更新时,才会直接使用 ReplicaSet。

📝 示例配置

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      labels:
        tier: frontend
    spec:
      containers:
      - name: php-redis
        image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend:v5

👉 这个 ReplicaSet 会确保始终有 3 个 frontend Pod 在运行。 Kubernetes kubernetes.ac.cn 博客园


💡 总结

  • ReplicaSet 是 副本控制器的升级版,保证 Pod 数量稳定。
  • 它支持更灵活的标签选择器。
  • 在实际生产中,通常通过 Deployment 来间接使用 ReplicaSet,而不是直接操作它。
posted @ 2026-05-28 11:12  Donaver  阅读(14)  评论(0)    收藏  举报