【Kubernetes】从不同的角度理解静态Pod和动态/普通Pod的区别

本文详细介绍了Kubernetes中的Namespace概念,Pod在K8s中的角色,以及静态Pod与普通Pod的区别。重点讨论了管理角度、受控范围、命名方式和适用场景,并阐述了静态Pod的特性和在kubectl停止或删除时的行为。最后,提供了删除静态Pod的方法。
摘要由CSDN通过智能技术生成

系列文章目录

K8s中的Namespace是什么?
Kubernetes 集群的组件介绍
Kubernetes 对象是什么?
Pod——k8s中最重要的对象之一
Kubernetes 和 Docker 之间有什么区别?
部署安装 K8s 为什么要关闭 swap 分区?
k8s中容器之间、pod之间如何进行网络通信?



从管理角度看

  • 普通Pod(比如Deployment)由控制平面管理,需要接受api-server的监管。并且可以由控制器进行副本的管理。资源的控制器能够处理副本的管理、上线,并在 Pod 失效时提供自愈能力。
  • 静态Pod直接由节点上的 kubelet 进程来管理。不通过 master 节点上的 apiserver 。⽆法与我们常⽤的控制器 Deployment 或者 DaemonSet 进⾏关联。

从受控范围角度看

  • 普通Pod可以在整个Kubernetes集群中部署
  • 静态Pod始终绑定在某一个节点上。(这意味着每个节点可以有自己的静态Pod配置)

从名称角度来看

  • 普通Pod的名称自定义
  • 静态Pod的名称把以连字符开头的节点主机名作为后缀。也就是服务名+节点名

从适用场景角度来看

  • 静态Pod适用于一些特殊场景,例如在节点引导时运行一些必要的服务,或者用于一些与Kubernetes集群本身无关的应用。比如master节点上的apiserver 、controller manager 、schedule这些核心组件都是静态Pod。由master节点上的kubelet直接监管,这样就无法使用kubectl对静态pod做出不好的操作。有效的保护了这些核心服务。
    在这里插入图片描述

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

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

那如何删除静态Pod

静态Pod的配置文件所在目录由–Pod-manifest-path= or –manifest-url= 参数指定。通常是/etc/kubernetes/manifests。如果要删除静态Pod,只需要在配置目录下删除对应的 yaml 配置文件就可以。因为运行中的 kubelet 会定期扫描配置的目录,并且根据文件中出现或者消失的 Pod配置文件来创建或者删除 Pod。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不怕娜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值