首页 > 其他分享 >在K8S中,陈述⼀下创建Pod的流程?

在K8S中,陈述⼀下创建Pod的流程?

时间:2024-08-12 19:07:55浏览次数:7  
标签:容器 创建 陈述 Server Kubelet API Pod K8S

创建Pod是Kubernetes集群管理的基本操作之一。创建Pod的流程涉及多个组件和步骤,包括API server、Controller Manager、Scheduler等核心组件的交互和协作。以下是创建Pod的一般流程:

  1. 发起创建Pod请求
    • 认证授权:用户通过kubectl命令向API Server发起创建Pod的请求,API Server对请求进行认证和授权,确保操作符合RBAC策略[1]。
    • 信息存储:API Server接收到请求后,将Pod的配置信息存储在etcd中。这些信息包括Pod的YAML配置,如容器镜像、资源需求等[2]。
  2. Pod信息处理
    • 资源整合:Controller Manager监听API Server的资源变化,当发现有新的Pod资源配置时,会将其加入待处理队列,并进行资源的拓扑结构整合[3]。
    • 调度绑定:Scheduler根据调度算法(如资源需求、节点亲和性等)为Pod选择一个合适的节点,并将绑定信息更新至etcd,API Server再同步这些信息到对应的节点上[4]。
  3. Pod创建执行
    • 初始化网络:Kubelet在目标节点上启动,通过CRI接口调用容器运行时(如Docker)创建容器,并初始化网络,分配IP地址等[5]。
    • 下载镜像:如果本地不存在Pod指定的容器镜像,Kubelet会从镜像仓库下载所需的镜像,这一过程可能影响Pod的启动时间[2]。
    • 挂载存储卷:Kubelet还会负责挂载Persistent Volumes定义的存储卷,确保数据持久化需求得到满足[3]。
  4. Pod运行维护
    • 状态监控:Controller Manager持续监控Pod的状态,确保其与期望状态一致。若节点或容器故障,Controller Manager会重新调度Pod到其他节点[1]。
    • 健康检查:Kubelet会进行健康检查,确保容器处于运行状态。若检测到异常,Kubelet会自动重启容器以维持服务的可用性[2]。

综上所述,这个流程体现了Kubernetes的高度自动化和灵活性,确保了在复杂环境中也能高效地管理和调度容器。这不仅提高了集群的稳定性和可靠性,还为用户提供了便捷的操作体验。

标签:容器,创建,陈述,Server,Kubelet,API,Pod,K8S
From: https://www.cnblogs.com/huangjiabobk/p/18355563

相关文章

  • 在K8S中,简单陈述⼀下K8S架构?
    K8S(Kubernetes)是一个开源的容器编排和管理平台,它提供了容器部署、扩展、管理以及服务发现等功能。K8S的架构可以大致分为控制平面(ControlPlane)和工作节点(WorkerNodes)两部分。以下是对K8S架构的详细陈述:一、控制平面(ControlPlane)控制平面是K8S集群的“大脑”,负责集群的调度、......
  • 在K8S中,K8S外部节点访问Pod有哪些方式?
    在Kubernetes(K8S)中,外部节点访问Pod的方式主要有以下几种:1.hostNetwork原理:通过将Pod配置为使用hostNetwork,Pod中的容器将直接看到并共享宿主机的网络接口。这意味着外部流量可以直接通过宿主机的IP地址和端口访问Pod内的服务。配置示例:apiVersion:v1kind:Podmeta......
  • 在K8S中,影响Pod调度策略的有哪些?
    在Kubernetes(K8S)中,影响Pod调度策略的因素众多,这些因素共同决定了Pod最终将被调度到哪个节点上运行。以下是影响Pod调度策略的主要因素:1.资源请求与限额资源请求(Requests):Pod在创建时会声明需要的最小资源量,如CPU和内存。调度器会寻找至少能满足这些资源请求的Node进行调度。资......
  • kubernetes记录一起因为磁盘容量不足造成pod无线驱逐pod状态为Evicted
    线上的pod遭到无线的驱逐fxxx-xxxx-deploy-86684b76ff-2vkdx0/1Evicted030m<none>10.10.10.10<none><none>fxxx-xxxx-deploy-86684b76ff-5j6fd0/1Evicted030m<none&......
  • k8s技术总结(一)
    在学习完docker之后,也很有必要再学习k8s的一些理论和技术。一、基础概念kubernetes(k8s)和docker在容器管理领域具有不同的侧重点和优势。当前docker主要关注单个容器的构建、运行和管理,而k8s则专注于大规模的容器编排和管理。k8s在以下几个特性中,更具有优势。特性1:自动化部署和......
  • Kubernetes-Init容器与静态Pod
    目录Init容器什么是Init容器?理解init容器Init容器与普通容器的不同之处静态Pod通过配置文件创建Init容器在Pod的生命周期中,可以执行多种操作如下图:什么是Init容器?Init容器也就是我们平时常说的初始化容器。InitContainer就是用来做初始化工作的容器,可以是一个或者多个,如果有......
  • kubernetes-POD的基本原理
    目录什么是POD?POD有以下特点:为什么使用POD作为最小单元,而不是container为什么允许一个POD里有多个容器POD中如何管理多个容器POD的yaml格式定义配置文件说明如何使用PodPOD的持久性和终止Pause我们首先在节点上运行一个pause容器然后再运行一个nginx容器,nginx将为localhost:2368......
  • CertBot搭配DNSPod
    CertBot搭配DNSPodsummary:cetbot搭配dnspod实现自动注册ssl证书和自动续期......
  • k8s命令
    k8s关键命令集群详细信息:显示Kubernetes版本:kubectlversion显示集群信息:kubectlcluster-info列出集群中的所有节点:kubectlgetnodes查看一个具体的节点详情:kubectldescribenodesrenode列出所有命名空间:kubectlgetnamespaces列出所有命名......
  • 【云原生之kubernetes实战】在k8s环境下部署Note Mark笔记工具
    【云原生之kubernetes实战】在k8s环境下部署NoteMark笔记工具一、NoteMark介绍1.1NoteMark简介1.2NoteMark特点1.3NoteMark使用场景二、本次实践介绍2.1本次实践简介2.2本次环境规划2.2k8s存储介绍三、检查k8s环境3.1检查工作节点状态3......