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,而不是直接操作它。

浙公网安备 33010602011771号