title: k8s13-WorkLoad
date: 2025-08-26 11:10:08
tags:
一、复制:从资源角度理解的核心功能是可靠性
1. 复制的概念
1) Pod 复制的背景与原理
- 独立 Pod 的缺陷:如果运行 Pod 的节点故障,该 Pod 会终止且不会自动恢复,需手动使用
kubectl或 REST API 重建。 - 复制机制的原理:通过运行多个相同应用的 Pod 来替代单 Pod 部署,由
ReplicationController、ReplicaSet或Deployment控制器自动维护期望的 Pod 数量。 - 核心区别:复制机制保证的是容器模板的一致性(包括名称、镜像、端口等配置),但不会同步数据。若应用需要数据一致性或持久存储,仍需结合外部存储解决方案。
ReplicaSet 的主要目标就是确保在任意时刻运行指定数量的 Pod 副本
2) Pod 复制的示例
- 副本集行为:当设置
replicas: 3,若实际运行的 Pod 数不足,控制器会立刻创建新的 Pod 以达到预期状态 - 数据隔离性:虽容器模板相同,但各副本 Pod 的数据是互不干扰的,彼此独立。
- 实现高可用:通过负载均衡器将流量分发到多个 Pod,当某个 Pod 故障时,其余健康 Pod 可继续提供服务,保证访问不中断
2. 复制机制的功能价值
1) 负载均衡
- Service 的核心作用:为拥有动态 IP 的 Pod 提供统一访问入口(DNS 名称或 Cluster IP),前端统一通过 Service 访问 Pod,避免 Pod 重建导致 IP 变化造成的访问中断
- 流量分配机制:Service 会将请求均匀分发到所有健康的 Pod 副本,实现横向扩展和负载均衡
2) 应用案例:服务复制示例
- 弹性扩缩容:当业务激增时,可通过手动修改
replicas值来增加 Pod(scale-out);当负载降低时,减少 Pod(scale-in)。 - 自动扩缩容:结合 Horizontal Pod Autoscaler(HPA),可根据 CPU、内存或自定义指标自动调整 Pod 数量,类似于云平台中的
3) 扩展性
- 复制机制支持实时调整 Pod 数量,无论是手动还是自动方式,都能快速响应业务需求变化。它是 Kubernetes 中核心的工作负载扩展能力{index=7}。
总结与补充说明
复制(Replicas)机制在 Kubernetes 中提供关键的可靠性保障:
- 自愈能力:控制器持续监控 Pod 状态,失败或删除时会自动替换;无单点故障。
- 负载分担:多个 Pod 副本提供服务,提高高可用性与系统稳健性。
- 扩缩灵活:支持即时或自动扩容 / 缩容,配合 Service 实现动态负载调度和发布策略。
这些功能在生产环境里通常通过 Deployment 进行管理,Deployment 进一步封装了 ReplicaSet,简化操作并支持滚动更新、回滚等策略。