Kubernetes 的工作负载(Workloads)是指运行在集群中的应用和服务,它们是 Kubernetes 的核心概念,用于定义和管理容器化应用程序的生命周期。工作负载资源帮助开发者和运维人员以声明的方式描述应用程序的部署、更新、扩展和管理需求。
Kubernetes 工作负载分类
Kubernetes 提供了多种工作负载资源,根据应用的需求,可以选择合适的类型:
1. 无状态工作负载
- Deployment
- 最常用的工作负载类型,用于管理无状态应用。
- 支持滚动更新、回滚、扩展和自愈。
- 使用场景:Web 服务、API 服务。
- 示例:
apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container image: nginx
2. 有状态工作负载
- StatefulSet
- 专为有状态应用设计,保证 Pod 的创建顺序和稳定的网络标识。
- 每个 Pod 都有一个固定的身份和存储卷,支持持久存储。
- 使用场景:数据库(MySQL、Po