会创建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 只支持简单的标签匹配。
相关推荐
程序员清洒21 分钟前
CANN模型安全:从对抗防御到隐私保护的全栈安全实战
人工智能·深度学习·安全
秋邱34 分钟前
不仅是极速:从 CANN SHMEM 看 AIGC 集群通信的“安全微操”艺术
安全·aigc
初恋叫萱萱39 分钟前
CANN 生态安全加固指南:构建可信、鲁棒、可审计的边缘 AI 系统
人工智能·安全
麦聪聊数据2 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
m0_466525293 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
晚霞的不甘3 小时前
守护智能边界:CANN 的 AI 安全机制深度解析
人工智能·安全·语言模型·自然语言处理·前端框架
枷锁—sha3 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
数字护盾(和中)3 小时前
信创生态 + 国密算法 筑牢数字安全韧性根基
安全
devmoon4 小时前
在 Polkadot 上部署独立区块链Paseo 测试网实战部署指南
开发语言·安全·区块链·polkadot·erc-20·测试网·独立链
成茂峰4 小时前
软考高级·系统架构设计师 | 四、信息技术安全知识
安全·信息安全·系统架构·架构设计师