码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 同事提出个我从未想过的问题,为什么Kubernetes要"多此一举"推出静态Pod概念?


    同事提出个我从未想过的问题,为什么Kubernetes要"多此一举"推出静态Pod概念?

    我们知道k8s中Pod可以说是一个合格的容器小管家,Pod 被设计成支持多个容器可以一起进行调度,容器之间可以共享资源和依赖、彼此通信、协调何时以及何种方式运行或终止自身。

    不知道小伙伴有没有注意到我们小管家的孪生兄弟静态Pod?

    为什么k8s会推出静态Pod概念?

    啦啦啦

    囧么肥事胡说八道开课啦

    101

    102

    静态 Pod 有什么特殊的地方呢?

    正常情况下Pod是在Master上统一管理,指定,分配。所谓静态Pod就是不接受Master的管理,在指定的node上当 kubelet 启动时,会自动启动所有定义的静态Pod。

    静态 Pod 直接由特定节点上的 kubelet 进程来管理,不通过 master 节点上的 apiserver 。⽆法与我们常⽤的控制器 Deployment 或者 DaemonSet 进⾏关联,kubelet 直接监控每个Pod,并在故障失效时进行重启自愈。

    静态 Pod 始终绑定在某⼀个 kubelet ,并且始终运⾏在同⼀个节点上。

    既然发现API不能管理,为什么能“看见”运行的静态Pod?

    kubelet会为每个它管理的静态Pod,调用api-server在 Kubernetes 的 apiserver 上创建⼀个镜像 Pod(Mirror Pod)。因此我们可以在 apiserver 中查询到该 Pod,也能通过kubectl等方式进行访问,但是不能通过 apiserver 进⾏控制(例如不能删除)。

    普通Pod失败自愈和静态Pod有什么区别?

    常规Pod用工作负载资源来创建和管理多个 Pod。 资源的控制器能够处理副本的管理、上线,并在 Pod 失效时提供自愈能力。

    本身节点可以尝试重启或者完全替换操作,kubernetes默认的自愈机制是当Pod退出时对Pod进行重启。

    如果重启失败,可以重新拉取Pod,实现替身替换:

    例如,如果一个节点失败,控制器注意到该节点上的 Pod 已经停止工作, 就可以创建替换性的 替身Pod。调度器会将替身 Pod 调度到一个健康的节点执行。

    下面是一些管理一个或者多个 Pod 的工作负载资源的示例:

    • Deployment
    • StatefulSet
    • DaemonSet

    静态Pod是指定在特定的节点上运行的Pod,完全交给kubelet进行监督自愈,重启也会在同一个指定的节点上进行重启。静态 Pod 始终绑定在某⼀个 kubelet ,并且始终运⾏在同⼀个节点上。

    如果kubectl停止或者删除静态Pod会怎样?

    如果尝试删除或者停止,静态Pod会进入Pending状态,并且很快会被kubelet重启。

    那如果我非要删除它呢?

    kubelet 启动时,由 –Pod-manifest-path= or –manifest-url= 参数指定的⽬录下定义的所有 Pod 都会自动创建。

    删除只需要在配置目录下删除对应的 yaml 配置文件。

    运行中的 kubelet 会定期扫描配置的目录,并且根据文件中出现或者消失的 Pod配置文件来创建或者删除 Pod。

    静态Pod有什么作用?有哪些内置静态Pod?

    静态 Pod 通常绑定到某个节点上的 kubelet。 其主要用途是运行自托管的控制面。

    因为使用静态Pod可以有效预防通过kubectl、或管理工具操作的误删除,可以利用它来部署一些核心组件应用,保障应用服务总是运行稳定数量和提供稳定服务。

    在自托管场景中,使用 kubelet 来管理各个独立的控制面组件。例如:

    • 调度组件kube-scheduler
    • 秘书组件kube-apiserver
    • 核心大脑组件 kube-controller-manager
    • 数据仓组件 etcd

    喵喵喵


    《Kubernetes-企业级容器应用托管》-持续胡说八道

    第一段:推荐阅读:【云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜?】

    第二段:推荐阅读:【趁着同事玩游戏偷偷认识k8s一家子补补课】

    第三段:推荐阅读:【Kubernetes家族容器小管家Pod在线答疑❓】

    第四段:推荐阅读:【同事提出个我从未想过的问题,为什么Kubernetes要"多此一举"推出静态Pod概念?】

    第五段:推荐阅读:【探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器?】

    第六段:推荐阅读:【kubernetes集群之Pod说能不能让我体面的消亡呀?】

    第七段:推荐阅读:【k8s家族Pod辅助小能手Init容器认知答疑?】

    第八段:待更新?推荐休闲阅读:【囧么肥事】

  • 相关阅读:
    【非真实渲染】【卡通渲染技术点介绍】
    2022云计算国赛---SkyWalking服务应用部署
    CSS特效004:hover图片,显示文字或附加层
    【Eclipse】取消按空格自动补全,以及出现没有src的解决办法
    vi-vim常用命令
    JavaScript练手小技巧:我破解了原神官网全屏滚动的秘密
    计算机毕设 LSTM的预测算法 - 股票预测 天气预测 房价预测
    MySQL的DCL语句
    SSM整合(三)
    调用华为API实现身份证识别
  • 原文地址:https://www.cnblogs.com/jiongmefeishi/p/15903274.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号