常用工作负载控制器
- Deployment :无状态应用部署- StatefulSet :有状态应用部署
- DaemonSet :确保所有Node运行同一个Pod
- Job :一次性任务
- Cronjob:定时任务
-
Deployment
Deployment的功能
- 管理Pod和ReplicaSet
- 具有上线部署、副本设定、滚动升级、回滚等功能
- 提供声明式更新,例如只更新一个新的Image
应用
- 网站、API、微服务
- 法1:kubectl apply -f xxx.yaml
- 方法2:kubectl create deployment web --image=ngin:
- Deployment 升级
- kubectl apply -f xxx.yaml
- kubectl set image deployment/web nginx=nginx
- kubectl edit deployment/web #此方法不建议使用
-
DaemonSet(默认集群中的每个节点,
-
通过nodeSelector 可被节点选择器匹配到节点范围内每个节点)
-
- 在每一个Node上运行一个Pod
- 新加入的Node也同样会自动运行一个Pod
应用场景
- 网络插件(kube-proxy、calico)、其他Agent 系统级应用。
-
Job
- Job分为普通任务(Job)和定时任务(CronJob):
一次性执行,运行完就结束。
应用场景:离线数据处理,视频解码等业务