k8s中的工作负载是什么,都有哪几种类型的工作负载

我用最通俗、最贴合你环境、一看就懂 的方式,一次性把 K8s 工作负载(Workload) 讲透!

先回答最核心:什么是工作负载?

一句话大白话

工作负载 = 让 K8s 帮你"托管运行程序"的方式

你告诉 K8s:

  • 我要运行几个副本
  • 挂了要不要自动重启
  • 需不需要固定名字/固定IP
  • 是不是每个机器都要跑一个

K8s 提供5 种标准工作负载,对应不同业务场景。


K8s 有哪 5 种工作负载?(必须记住)

我按你最常用 → 最少用排序:

1)Deployment(最常用、无状态)

适合:微服务、API、前端、Nginx、vLLM 大模型推理

  • 随便扩缩容
  • 挂了自动重启
  • 不保存数据
  • 名字随机
  • 随便调度到任何节点

你 90% 的业务都用这个!

2)StatefulSet(有状态)

适合:MySQL、Redis、Kafka、ES、ZooKeeper

  • 固定名字
  • 固定 DNS
  • 固定存储 PVC
  • 有序启动、有序删除

有数据、有身份的服务用它。

3)DaemonSet(每个节点跑 1 个)

适合:监控采集、日志采集、节点代理

比如你环境里的:

  • otel-agent
  • fluentbit
  • node-exporter
  • kube-proxy

特点:集群加一个节点,自动多一个 Pod;删节点,自动少一个。

4)Job(一次性任务)

适合:数据导出、备份、清洗、离线计算

  • 运行完就退出
  • 不长期运行
  • 成功完成就停止

5)CronJob(定时任务)

适合:每天备份、每小时报表、定时清理

  • 按时间自动执行 Job
  • 类似 Linux crontab

用你自己的环境举例子(你一看就懂)

复制代码
Deployment → 你的 vllm-qwen(大模型推理)
DaemonSet → otel-agent、fluentbit(每个节点都跑)
StatefulSet → Kafka、ES、MySQL
Job → 数据备份
CronJob → 每天凌晨清理日志

超级简单记忆法

✅ 长期运行、无状态 → Deployment

✅ 存数据、固定身份 → StatefulSet

✅ 每个机器必须跑一个 → DaemonSet

✅ 跑一次就结束 → Job

✅ 定时跑 → CronJob


最后一句最关键(面试必问)

工作负载 = K8s 管理 Pod 的不同"运行模式"

  • Deployment:托管无状态服务
  • StatefulSet:托管有状态服务
  • DaemonSet:托管节点全局组件
  • Job/CronJob:托管一次性/定时任务

总结(你只要记住这 5 个)

  1. Deployment
  2. StatefulSet
  3. DaemonSet
  4. Job
  5. CronJob
相关推荐
阿里云云原生2 小时前
从页面渲染到智能体:ARMS Node.js 探针解锁 SSR + AI 全链路可观测
云原生
程序员老赵5 小时前
Docker 部署 Portainer CE:轻松搭建容器管理平台
docker·容器·开源
大侠归来6 小时前
Docker 部署 Dolibarr:从零开始的完整指南
运维·docker·容器
七月吃橘子6 小时前
WSL2+Docker+Ollama,本地部署大模型实践(Qwen1.8b)
运维·docker·容器
Nontee7 小时前
K3s vs K8s:差的不是功能,是交付方式
云原生·容器·kubernetes
做运维的阿瑞7 小时前
Docker常见故障全方位排查指南
运维·docker·云原生·容器
谢亮_vipxieliang7 小时前
云原生存储进阶:CSI 演进与 AI 工作负载的存储架构设计
人工智能·云原生
木子欢儿7 小时前
Zabbix 7.4 Alpine 版 Docker Compose 部署
android·运维·docker·容器·zabbix
朱包林7 小时前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
打工仔折腾 AI8 小时前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战