首页 > 其他分享 >Pod的类型

Pod的类型

时间:2025-01-21 18:47:36浏览次数:1  
标签:控制器 管理 静态 适用 自动 类型 Pod

在 Kubernetes 中,Pod 可以根据其创建和管理的方式分为不同的类型,主要包括静态 Pod、自主式 Pod 和动态 Pod。它们之间的主要区别体现在生命周期管理、控制方式和自动恢复等方面。

1. 静态 Pod

  • 管理方式:kubelet 直接管理,而不是由 Kubernetes 控制平面中的 API Server 或控制器来管理。
  • 配置存储: 配置文件通常存储在节点本地,而不是通过 API Server 提交给集群。
  • 生命周期:kubelet 启动时,会根据本地路径下的静态 Pod 配置文件创建 Pod。即使在节点重启后,kubelet 也会自动重新创建这些 Pod。
  • 元数据: 静态 Pod 的元数据(如 Pod 信息、状态)不会存储在 etcd 中,因此无法通过 kubectl 命令直接对其进行管理。
  • 适用场景: 静态 Pod 通常用于那些需要在特定节点上运行的应用,且不需要集群级别的调度管理。例如,某些系统组件(如监控代理、日志收集器)可能会部署为静态 Pod。

2. 自主式 Pod(Ad-Hoc Pod 或 Non-Controller Managed Pod)

  • 管理方式: 由用户直接创建,但不受任何控制器(如 Deployment、ReplicaSet 等)管理。
  • 创建方式: 通过 kubectl run 命令或者直接向 API Server 提交 YAML/JSON 配置文件来创建。
  • 生命周期: 一旦 Pod 创建,除非用户手动删除,否则不会自动消失或重建。如果 Pod 因故障退出,它不会被自动恢复。
  • 适用场景: 自主式 Pod 适用于那些不需要持续管理和自动恢复的临时任务或一次性任务。例如,临时调试任务、实验性 Pod 等。

3. 动态 Pod

  • 管理方式: 由控制器(如 Deployment、StatefulSet、DaemonSet 等)管理。控制器负责监控集群状态,确保实际运行的 Pod 数量符合预期。
  • 生命周期: 动态 Pod 的生命周期受到控制器的严格管理。当 Pod 因故障退出或被删除时,控制器会自动创建新的 Pod 来替代它们。
  • 自动恢复: 控制器负责确保 Pod 持续运行在集群中,通常会执行健康检查、滚动更新、扩展缩容等操作。
  • 适用场景: 动态 Pod 是 Kubernetes 中常见的应用部署方式,适用于需要高度自动化和弹性伸缩能力的应用场景,如 Web 服务、微服务架构、后台作业等。

总结:

  • 静态 Pod: 适用于需要在特定节点上运行且不依赖 Kubernetes 控制器管理的任务。
  • 自主式 Pod: 适用于临时性的或一次性任务,不依赖控制器自动恢复机制。
  • 动态 Pod: 适用于常态化的应用部署,能够通过控制器进行自动管理和弹性伸缩,适用于大规模集群中的服务和应用。

标签:控制器,管理,静态,适用,自动,类型,Pod
From: https://www.cnblogs.com/leojazz/p/18683237

相关文章

  • Pod的创建流程
    执行流程执行命令连接APIServer:用户执行命令(例如创建RC资源),系统会加载位于$HOME/.kube/config的证书文件来验证与APIServer的连接。假设用户正在创建一个副本数量为5的ReplicationController(RC)。此时,Pod状态为Pending,说明Pod尚未调度到集群中的节点。APISer......
  • IDEA中将String类型转json格式
    目录问题描述问题原因解决方案结果问题描述最近做项目需要使用Ai生成json,可生成String类型的json字符串以后,IDEA识别不了,仍然将目标json视为String类型,其中的转义字符\,全都没有识别。将变量打印出来,如下:JSONString:[\n{\"options\":[{\"value\":\"基于四大维......
  • typescript is用法,函数返回值类型限制收窄
    is关键字主要用于定义类型谓词,它确实主要出现在函数的返回类型声明中,用于实现类型保护。然而,它的使用场景并不仅限于简单的类型检查函数。下面是一些详细的说明和扩展用法:主要用途:类型保护函数如前所述,最常见的用途是定义类型保护函数,以帮助TypeScript更准确地推断变量的类型......
  • ROS自定义消息类型
    1.std_msgs消息类型如下:来源:std_msgsMsg/SrvDocumentationstd_msgs的消息类型大致可以分为:基础类型,如Bool数组类型,如Float32MultiArray结构体类型。如Header我们可以在ROSIndex这里查到各种类型的消息包。std_msgs相对比较常用,包含各种基本的消息类型,我们在构建自......
  • Pod数量的扩缩容
    在K8s中,Pod的扩容和自动扩容是帮助实现弹性伸缩和高可用性的关键功能。1.水平扩容(HorizontalScaling)水平扩容通过增加多个相同配置的Pod来应对增加的流量或负载。与垂直扩容不同,水平扩容是通过在集群中分布更多相同的资源来实现的。手动水平扩容:通过命令kubectl......
  • Pod调度方式(下)
    6.Pod调度之nodeSelector1.作用nodeSelector是Kubernetes的一种简单的节点调度策略,通过基于节点的标签来调度Pod。每个节点可以拥有多个标签,nodeSelector用来选择具有特定标签的节点。2.实战案例2.1给节点打标签在这个案例中,我们给所有节点都打上了一个school=oldb......
  • 「酉矩阵是什么?几种常见的酉矩阵类型」
    0.酉矩阵的定义酉矩阵(UnitaryMatrix)是复数域中的一个重要矩阵类型。如果一个矩阵的逆等于它的共轭转置(Hermitiantranspose),那么这个矩阵被称为酉矩阵。用数学表示如下:U......
  • Kubeadm 启动原理之静态 Pod 技术
    Kubeadm启动原理之静态Pod技术1.作用静态Pod是一种特殊的KubernetesPod类型,允许你在不通过kubectl命令来创建Pod的情况下,通过直接将Pod资源清单放置在Kubelet可识别的目录中来创建Pod。Kubelet会定期检查该目录并自动管理这些Pod。对于kubeadm部署方式来......
  • 后盾人JS--JS值类型使用(续章)
    电话号码模糊处理对电话号码进行模糊处理,要进行一些类型转换<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><titl......
  • Java的数据类型
    4.数据类型4.1java中的数据类型分为两大类:基本数据类型和引用类型。基本数据类型:数值型byte[1],short[2],int[4],long[8]浮点型float[4],double[8]字符型char[2]存放单个字符布尔型boolean[1]存放true,false引用类型:类(class)接口(interface)数组([])4.2整数类型4......