会创建Pod的资源

Kubernetes 可创建工作负载的资源类型 完整详解

你想了解的是 Kubernetes 中所有用于创建和管理工作负载(Workload) 的资源类型,K8s 对「工作负载」有官方明确定义工作负载是 Kubernetes 中用于表示并运行容器化应用实例的 API 资源的总称,核心目的是:创建容器 Pod、调度 Pod 到节点、保障 Pod 按预期运行(扩缩容 / 自愈 / 更新)、管理 Pod 生命周期。

✅ 一、K8s 官方「标准原生、稳定可用」的工作负载资源(共 8 类,全部 GA 稳定版,必掌握)

这是 Kubernetes 内核自带、完全标准化、生产环境可直接使用的核心工作负载资源 ,也是你提到的 DeploymentDaemonSet 所属的范畴,这 8 类是真正能「创建工作负载」的核心资源,按「使用频率 + 重要性」排序,每类都标注核心特性 + 用途,方便你区分:

1. Pod (核心基础,最底层工作负载)

  • 核心特性:K8s 中最小的可调度部署单元 ,是所有上层工作负载的「基石」,所有其他工作负载本质都是封装并管理 Pod
  • 核心用途:运行一个或多个紧密协作的容器(共享网络 / 存储),Pod 是原子性的,删除 / 重建即销毁旧实例。
  • 注意:生产中极少直接创建裸 Pod,因为裸 Pod 被删除 / 节点宕机后不会自动重建,所有业务都通过上层工作负载管理 Pod。

2. Deployment (最常用,无状态应用首选)

  • 核心特性:无状态应用的标准工作负载 ,基于 ReplicaSet 封装,支持声明式更新、滚动升级、版本回滚、扩缩容、自愈
  • 核心用途:部署无状态服务(比如微服务、Web 服务、API 服务、前端应用),不需要固定的网络标识、不需要持久化的存储关联、Pod 实例完全等价。
  • 典型场景:90% 的业务服务都用 Deployment 部署。

3. StatefulSet (有状态应用专属)

  • 核心特性:有状态应用的标准工作负载 ,解决 Deployment 无法满足的「有状态需求」,支持:固定的 Pod 名称 / 主机名、固定的 DNS 域名、有序的创建 / 删除 / 扩缩容、有序的滚动更新、持久化存储与 Pod 绑定(PVC 随 Pod 生命周期)
  • 核心用途:部署有状态服务,实例之间有依赖、需要持久化数据、需要固定标识。
  • 典型场景:数据库(MySQL/PostgreSQL)、中间件(Redis 集群 / ZooKeeper/Kafka/Elasticsearch)、分布式存储(Ceph)等。

4. DaemonSet (节点守护进程,每节点必跑一个)

  • 核心特性:确保集群中「所有(或指定)节点上都运行且仅运行一个该 Pod 实例」,节点新增时自动在新节点创建 Pod,节点删除时自动清理 Pod,支持滚动更新 / 回滚。
  • 核心用途:部署节点级的守护进程 / 代理服务,必须在每个节点部署的服务。
  • 典型场景:日志收集(Fluentd/Filebeat)、监控采集(Node Exporter)、网络插件(Calico/Flannel 的节点代理)、存储插件(CSI 节点驱动)等。

5. Job (一次性任务,执行完即结束)

  • 核心特性:运行「一次性、非持续性」的任务 ,创建一个或多个 Pod,确保任务成功完成一次后就终止,Pod 执行成功后不会重启,失败可重试。
  • 核心用途:处理批处理任务、数据迁移、数据备份、一次性计算、初始化任务等「做完就停」的业务。
  • 关键特点:任务完成 → Pod 变为Completed状态,不会被重建。

6. CronJob (定时任务 / 周期性任务)

  • 核心特性:基于时间调度的 Job ,相当于 K8s 中的「Linux Crontab」,支持按固定时间 / 周期性规则创建并执行 Job 任务,可配置执行规则、并发策略、任务保留策略。
  • 核心用途:部署定时批处理、定时备份、定时清理日志、定时数据同步等周期性任务。
  • 语法:和 Linux Crontab 完全兼容(分 时 日 月 周),比如 0 3 * * * 表示每天凌晨 3 点执行。

7. ReplicaSet (副本集,Deployment 的底层依赖)

  • 核心特性:保证集群中始终运行指定数量的 Pod 副本,实现 Pod 的扩缩容、自愈(Pod 挂了自动重建),是 Deployment 的「底层实现组件」。
  • 核心用途:极少直接手动创建,因为 ReplicaSet 只负责「保副本」,不支持版本回滚、滚动更新策略配置,Deployment 完全封装了 ReplicaSet 的能力并做了增强。
  • 关系:Deployment → 管理 ReplicaSet → 管理 Pod,所有 Deployment 的 Pod 都是由其关联的 ReplicaSet 创建的。

8. ReplicationController (旧版副本控制器,已被淘汰)

  • 核心特性:K8s 最早期的副本管理资源,功能和 ReplicaSet 几乎一致,都是保 Pod 副本数。
  • 核心用途:已被 ReplicaSet 完全替代,不推荐在生产中使用,仅用于兼容老旧集群。
  • 区别:ReplicaSet 支持更灵活的 标签选择器(Label Selector),而 ReplicationController 只支持简单的标签匹配。
相关推荐
一次旅行2 天前
网络安全总结
安全·web安全
red1giant_star2 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透2 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全
一名优秀的码农3 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Libraeking3 天前
05 安全边界:MCP Server 的权限沙箱与敏感数据保护
安全
龙仔7253 天前
在麒麟V10服务器安全加固,sshd防暴力破解加固,实现“密码错误3次封IP”的需求
服务器·tcp/ip·安全
上海云盾-小余3 天前
即时通讯App的DDoS防御架构设计
运维·服务器·安全
上海云盾商务经理杨杨3 天前
2025年重大网络安全事件回顾与趋势分析
网络·安全·web安全
T_Fire_of_Square3 天前
工控安全-2024振兴杯-被攻击的电机wp
安全
PM老周3 天前
2026年软硬件一体化项目管理软件怎么选?多款工具对比测评
java·安全·硬件工程·团队开发·个人开发