首页 > 其他分享 >D17 kubernetes Pod生命周期

D17 kubernetes Pod生命周期

时间:2024-09-05 19:51:48浏览次数:8  
标签:容器 D17 kubernetes 创建 server kubelet API Pod pod

1、创建pod

  • 当创建一个pod时,它是通过多个组件来完成的
  • 假设通过kubelet run nginx --image=ningx命令创建一个pod,其工作流程如下:
1、kubectl向API server发起创建pod的请求,请求中包含pod的配置信息
2、API server接收到请求后,校验字段合法性,例如格式、镜像地址不能为空等,校验通过后,将pod配置数据写入到etcd中
3、schedule通过与API server进行交互感知到新的pod创建。它获取到pod的配置信息,根据调度算法选择一个合适的节点,将选择的节点添加到配置中,并响应给API server,然后API server将配置数据写入到etcd中
4、kubelet通过与API server进行交互感知到已分配到自身节点的pod。因此将pod配置传递给底层容器运行时(如docker)创建相应的容器,并将容器的状态上报给API server,然后API server将状态数据写入到etcd中
在上述创建pod的过程中,并没有涉及到kube-Controller-manager和kube-proxy组件,这是因为kube-Controller-manager和kube-proxy组件分别负责控制器管理和Service网络代理管理。上述创建pod的命令并没有涉及相关工作负载资源(如deployment)和Service资源,因此这两个组件未参与工作

2、启动pod

  • kubelet 在创建pod过程中会执行一系列任务,以确保pod达到预期的配置和状态。
  • kubelet创建pod的过程如下:
1、kubelet调用容器运行时创建pause容器,以建立一个容器环境
2、创建初始化容器。如果有多个初始化容器,则按顺序创建它们,并确保每个初始化容器都是在上一个初始化容器成功运行后创建的
3、最后一个初始化执行完成后,并行创建主容器。在主容器启动前执行postStart回调,在该回调执行完成前,pod处于pending状态
4、postStart回调执行完成后,主容器启动,开始执行应用程序的监控检查
最终,一个pod启动

标签:容器,D17,kubernetes,创建,server,kubelet,API,Pod,pod
From: https://www.cnblogs.com/suyj/p/18399146

相关文章

  • 从Workload中优雅隔离Pod
    线上集群中,业务跑着跑着,突然发现有个Pod上出现大量错误日志,其他的Pod是正常的,该如何处理呢?直接删除Pod?这样不便于保留现场,可能会影响判断问题的根因让业务方忍一会,先排查下问题?会被喷死最好的方案是既让Pod停止接收流量,又保留Pod思路:停止接收流量停止接收流量这个动......
  • D14 kubernetes 容器服务质量和容器环境变量
    1、容器服务质量 服务质量(qualityofServices,QoS),是kubernetes用于对pod的进行优先级划分的一种机制。通过QoS,kubernetes将pod划分为3个等级。如下所示Guaranteed 优先级最高 pod中每个容器都被设置了CPU/内存的资源请求和资源限制,并且资源请求的值与资源限制的值相等Burstabl......
  • D16 kubernetes 容器生命周期回调
    1、简介容器生命周期回调是指在容器的生命周期中执行用户定义的操作。kubernetes支持以下生命周期回调PostStart(容器启动后):在容器启动后立即执行的回调,它可以用于执行一些初始化任务PreStop(容器停止前):在容器停止之前执行的回调。它可以用于执行清理或保存状态的操作......
  • D15 kubernetes 初始化容器(initContainers)
    初始化容器(initContainers)是Pod中一种特殊类型的容器,专用于在主容器启动之前执行一些初始化任务和操作,以满足主容器所需的环境。 初始化容器在整个pod的生命周期内仅运行一次,并且在主容器启动之前完成它们的任务,既初始化容器一旦任务完成,就必须退出。初始化容器有以下应用场......
  • Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群
    Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群1、配置YUM源###在所有Master节点执行#配置yum源cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x8......
  • 最新版Kubernetes部署教程v1.31.0
    最新版Kubernetes高可用部署教程v1.31.0系统:Almalinux9架构:192.168.100.10control-plane-endpoint.k8s.localcontrol-plane-endpoint#负载均衡服务器,配置负载均衡后修改ip后续会讲解192.168.100.10masterA.k8s.localmasterA192.168.100.20masterB.k8s.localma......
  • Kubernetes学习指南:保姆级实操手册04——主机系统初始化
    四、Kubernetes学习指南:保姆级实操手册04——主机系统初始化前言:本章节主要内容是对主机操作系统的初始化操作,如发另外标注,所有的节点操作步骤一致,可以使用软件批量初始化。1.检查系统端口确保以下端口未被占用:运行后未有任务显示,表示端口未被占用。[root@k8s-master01~]#ss-......
  • Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡
    五、Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡简介:Keepalived提供VRRP实现,并允许您配置Linux机器使负载均衡,预防单点故障。HAProxy提供可靠、高性能的负载均衡,能与Keepalived完美配合1、配置Keepalive官方文档提供了两种运行方式(此案例使用选项1):选项1:在......
  • Kubernetes从零到精通(03-资源对象)
    资源对象的种类今天我们开始研究Kubernetes中的资源对象,资源对象是Kubernetes这个软件定义的抽象逻辑概念,这些资源对象及其对应的属性(如资源对象之间的对应关系),都会保存到ectd数据库中并通过Kubernetes各控制组件实时更新,下面我们先看一下资源对象的分类和用途,然后再根据一个......
  • kubernetes初始化集群时报错
    报错:kubernetes初始化端口占用及文件存在(本人是之前初始化过一次)[root@master~]#kubeadminit--apiserver-advertise-address=192.168.20.200--image-repository=registry.aliyuncs.com/google_containers--kubernetes-version=v1.28.0--pod-network-cidr=10.244.0.0/16--......