k8s静态pod

静态 Pod 其实很好理解:它就是"这台节点自己养的 Pod"。我们平时用 kubectl apply 创建的 Pod,是先写进 API Server,再由调度器挑节点、控制器去拉起;那静态 Pod 走的路完全不一样------它直接由 kubelet 在本机创建和保活,不需要调度器帮你选位置,也不靠 API Server 来下发创建指令。那它是怎么创建出来的?很简单,把 Pod 的 YAML 丢进 kubelet 监听的目录里(最常见就是 /etc/kubernetes/manifests),kubelet 看到文件就立刻在这台机器上把 Pod 拉起来;文件还在,它就一直盯着,挂了就重启;文件删掉了,Pod 也就跟着消失。你会发现,这更像是"守护进程 + 配置文件"的玩法,而不是"集群统一调度"的玩法。

你可能会问:既然不归 API Server 管,那我用 kubectl get pod 为什么还能看到它?这是因为 kubelet 会给静态 Pod 在 API Server 里同步一个"镜像 Pod"(mirror pod),让集群能观测到它的状态,但这个镜像只是"展示用"。换句话说,你在集群里删除这个镜像 Pod,并不会真正干掉静态 Pod;真正能决定它生死的,还是节点上的那份 YAML。顺带还有个明显特征:静态 Pod 的名字通常会带上节点名做后缀,一眼就能看出来它是绑死在某台机器上的。

那静态 Pod 适合用来跑什么?答案也很直观:必须固定在指定节点启动的关键组件。比如控制面那几位------kube-apiserver、kube-controller-manager、kube-scheduler,很多时候就是用静态 Pod 方式在控制节点上直接拉起来的。毕竟这种东西你敢让它"漂"吗?它要是被调度到别的节点上,或者因为调度失败起不来,那整个集群还怎么玩。静态 Pod 的价值就在这:不花里胡哨,但足够可靠,节点在,它就得在。

相关推荐
猫吃了源码9 小时前
CentOS7使用Kubeadm安装部署K8s(Kubernetes)最新稳定版本1.26.x
云原生·容器·kubernetes
倔强的石头1069 小时前
飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问
运维·docker·容器
张忠琳10 小时前
【k3s】AutoK3s v0.9.3 —— Part 7 辅助模块超深度逐行分析
云原生·容器·kubernetes·k3s·autok3s
张忠琳19 小时前
【k3s】AutoK3s v0.9.3 Part 1 入口与 CLI 命令模块 — 超深度逐行分析之三
云原生·容器·kubernetes·k3s·autok3s
m0_525724721 天前
AIOps全链路智能运维架构揭秘
云原生·devops
xiaoxiangsiyan1 天前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
AR_xsy1 天前
docker--资源配额 配置
运维·docker·容器
国际云,接待1 天前
Docker 容器突然退出、服务莫名重启:从 OOMKilled 到内存泄漏的生产排查手册
运维·docker·容器
阿里云云原生1 天前
一次请求只做一次决策:阿里云 AI 网关智能路由如何替大模型应用选模型
云原生
橙-极纪元1 天前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器