2026/3/2 9:40:37
网站建设
项目流程
找人做购物网站,广东网络推广项目,竞价推广论坛,南京市网站建设公司前言Kubernetes#xff08;简称K8s#xff09;作为云原生时代必须要掌握的一门技术#xff0c;其整个体系还是比较庞大的。但是其实用一段时间你就会发现#xff0c;在整个庞大的K8s体系中#xff0c;最主要承载承载业务的还是五大工作负载#xff0c;即Deployment、Daem…前言Kubernetes简称K8s作为云原生时代必须要掌握的一门技术其整个体系还是比较庞大的。但是其实用一段时间你就会发现在整个庞大的K8s体系中最主要承载承载业务的还是五大工作负载即Deployment、Daemonset、StatefulSet、Job和CronJob其余的像serviceconfigmappvc都是为这五大工作负载添砖加瓦的。 另外我还发现在K8s体系复杂的同时同样体系复杂的MOBA游戏《英雄联盟》简称LOL却受众广泛休息时有很多同事都是在看LOL相关的视频。 于是为了帮各位想要入门K8s的“最强王者”更好的理解K8s的核心五大工作负载我为各种抽象的K8s工作负载在LOL中找了一个同样表现或者起同样作用的英雄让各位最强王者能从LOL出发更好的理解K8s的五大核心工作负载。1. Deployment (部署) - 无状态应用的智慧管家核心功能Kubernetes 中最常用、最核心的工作负载。它像一个精明的管家专门负责部署和管理无状态应用如Web服务器、API微服务。它的超能力在于声明式的滚动更新和优雅回滚——只需修改镜像版本它就能自动、平滑地逐步替换旧Pod实例万一新版本有问题一键就能秒回旧版。它还通过副本数Replicas设定确保应用始终有指定数量的健康副本在运行自动修复“不健康”的Pod是高可用的基石。典型场景你的网站前端、RESTful API服务、无状态微服务。对应的LOL英雄盖伦盖伦是LOL入门会最先接触到的英雄3个初始免费英雄之一你可能没玩过沙皇/阿罗拉/厄斐琉斯但你一定玩过这个“大宝剑”而Deployment也是几乎所有K8s入门教程都会拿来举例的工作负载比如拿deployment起一个nginx镜像而真正用上k8s之后你也会发现你的集群里面可能没有Job/CronJob等但deployment是基本上一定会有的盖伦什么都有回血、沉默、伤害、强化、AOE、斩杀Deployment也是什么功能都包含但它又不是专门为了某一项功能而生的。2. StatefulSet (有状态副本集) - 秩序严谨的数据管理者核心功能当你的应用需要持久化数据和稳定标识时比如数据库、消息队列StatefulSet就是你的不二之选。它与Deployment的关键区别在于秩序和唯一性。它为每个Pod提供唯一且固定的名称如mysql-0, mysql-1、稳定的网络标识DNS记录以及专有的持久化存储卷。扩缩容增加或减少副本时它会严格遵守顺序优雅地一个接一个操作完美保障集群化有状态应用的数据安全和启动顺序。典型场景MySQL集群、Redis集群、Kafka、ZooKeeper、Etcd。对应的LOL英雄邪恶小法师 · 维迦核心被动技能是【超凡邪力】通过用Q技能补刀或击杀英雄永久性地增加自己的法术强度。这个法强值是他的“状态数据”会随着时间持久化并不断增长绝不会因为回城或死亡而重置。Statefulset也是一样它里面的数据不会随着pod的重启而消失。3. DaemonSet (守护进程集) - 每个节点上的忠实哨兵核心功能DaemonSet 确保集群中的每一个节点或符合标签选择器的节点上都运行一个你指定的Pod副本。就像一个忠诚的哨兵节点加入集群时它会自动部署节点离开时它也会自动清理。它非常适合运行那些需要与节点本身深度绑定的基础架构服务这些服务需要感知节点并为节点提供功能而不是为用户业务提供服务。典型场景日志收集代理Fluentd、节点监控组件Node Exporter、网络插件Calico、安全代理。对应的LOL英雄索拉卡索拉卡的大招可以给地图上的所有的己方英雄回血而DaemonSet也是强制在集群中的每个节点都会有一个pod都主打一个“全局控制”“雨露均沾”确保每一个节点都能有一个服务实例在运行。⏳4. Job (任务) - 使命必达的一次性行者核心功能Job 负责创建一个或多个Pod来执行一个一次性的任务Task而不是持续运行的服务。它的核心目标是确保任务成功完成。你定义一个任务比如一个计算脚本Job会启动Pod去执行直到Pod内的容器成功退出Exit Code为0。如果任务执行失败Job会根据配置尝试重试。一旦任务成功完成Job及其创建的Pod就会功成身退保留记录以供查询。典型场景执行数据库迁移脚本、运行一次性的数据分析任务、批处理作业。对应的LOL英雄像劫这样的刺客LOL里面的刺客不擅长持续输出他们会等技能齐全和时机成熟时一套技能看能不能切入敌方后排秒杀掉对手的C位一套技能打完以后他们会暂时丧失威胁等下一次CD转好又是他们伺机而动的时候。Job也是一个道理等需要它时执行一次然后就会潜伏等待下次需要执行的时候才会再次被执行。⏳5. CronJob (定时任务) - 精准的自动化闹钟核心功能CronJob 是基于时间调度的Job相当于Linux系统中的Crontab。它让你可以用熟悉的Cron语法如 0 * * * *来定义并周期性地运行Job。到了预定时间CronJob控制器就会自动创建一个新的Job对象来执行任务。它是实现自动化运维和周期性任务的利器让你彻底从手动执行重复任务中解放出来。典型场景每天凌晨2点执行数据库备份、每小时发送一次系统健康报告、每周清理一次临时文件。对应的LOL英雄LOL这个游戏机制本身LOL在游戏开始后会在3路定期生成小兵这些小兵的生成是一开始就设定好的不会受场上英雄被击杀或者防御塔被拆掉等各种事件的影响而稳定定时运行。CronJob也是一样不管其它工作负载工作情况怎么样它都会按照设定好的时间或间隔周而复始的自动执行。