飞天使-k8s知识点18-kubernetes实操3-pod的生命周期

文章目录

      • 探针的生命周期
        • 流程图
          • prestop

探针的生命周期

在这里插入图片描述
docker
创建:在创建阶段,你需要选择一个镜像来运行你的应用。这个镜像可以是公开的,如 Docker Hub 上的镜像,也可以是你自己创建的自定义镜像。创建自己的镜像通常需要编写一个 Dockerfile,这个文件定义了创建镜像所需的所有步骤,包括基础镜像、需要安装的软件包以及需要运行的命令。

运行:运行阶段是容器生命周期中最活跃的阶段。在此阶段,容器会运行定义在 Dockerfile 中的命令。你可以通过命令行工具如 Docker CLI,或者通过编排工具如 Kubernetes 来启动容器。一旦容器开始运行,它就会持续运行,直到进程结束或者被明确停止。

暂停和恢复:在某些情况下,你可能需要暂时停止容器的运行。这可以通过 Docker CLI 的 pause 命令来完成。当你准备恢复容器的运行时,可以使用 unpause 命令。这些命令可以让你在不完全停止容器的情况下,暂时释放一些系统资源。

停止:当你不再需要运行容器时,可以使用 Docker CLI 的 stop 命令来停止它。这会结束容器中的所有进程,并释放所有使用的系统资源。在某些情况下,你可能希望容器在完成一些任务后自动停止。这可以通过在 Dockerfile 中定义的命令来实现。

删除:如果你确定不再需要一个容器,可以使用 Docker CLI 的 rm 命令来删除它。这会从你的系统中完全移除容器,并释放所有相关的资源。

k8s
Pod 调度:一旦你创建了一个 Pod,Kubernetes 的调度器会找到一个合适的节点来运行这个 Pod。这个阶段,Pod 的状态为 Pending。

Pod 初始化:在 Pod 被调度到一个节点后,kubelet 会开始创建和启动 Pod 中的每个容器。对于每个容器,kubelet 会拉取所需的镜像(如果本地没有的话),然后运行这个镜像创建容器,最后执行用户指定的命令。如果 Pod 配置了 Init 容器,那么这些容器会在应用容器之前按顺序启动。

容器运行:一旦所有的容器都启动了,Pod 就进入 Running 状态。在运行过程中,kubelet 会定期执行用户配置的探针(如果有的话)来监控容器的健康状态。如果某个容器的探针检查失败,kubelet 可能会根据探针的配置来重启这个容器或者整个 Pod。

容器终止:当 Pod 要被删除时,或者 Pod 中的某个容器完成了它的任务并退出时,这个容器就进入终止阶段。在这个阶段,kubelet 会首先发送 SIGTERM 信号给容器中的进程,然后等待一段时间,最后如果进程还在运行,kubelet 就会发送 SIGKILL 信号强制终止这个进程。

Pod 删除:当所有的容器都终止后,Pod 就会被 kubelet 删除,并从 API server 中删除。删除后,这个 Pod 的所有资源都会被清理掉,包括日志、挂载的卷等。

流程图

在这里插入图片描述

prestop
我们添加 lifecycle 字段来添加一些生命周期钩子:apiVersion: apps/v1
kind: Deployment
metadata:name: my-app
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-appimage: my-app:1.0.0ports:- containerPort: 8080lifecycle:postStart:exec:command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]preStop:exec:command: ["/bin/sh", "-c", "nginx -s quit; while killall -0 nginx; do sleep 1; done"]
在这个配置中,我们添加了两个生命周期钩子。postStart 钩子就像是一个欢迎仪式,当容器创建后,它会打印一条欢迎消息。preStop 钩子则像是一个礼貌的道别,它会优雅地关闭 nginx 服务,然后等待所有的 nginx 进程退出。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/471019.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tuxera NTFS2024版本的文件操作功能有哪些特点?

Tuxera NTFS通过集成先进的文件系统驱动程序和算法,实现了对多种文件系统的全面支持。具体来说,它具备以下功能和特点,使其能够支持多种文件系统: Tuxera NTFS2024下载如下: https://wm.makeding.com/iclk/?zoneid58824 先进的…

wechat协议接口免费分享(价值5w)

几乎涵盖所有功能,仅供学习交流使用! 接口地址 https://apifox.com/apidoc/shared-86280587-c0f0-480a-85de-ee292b4aae82/doc-3721193

RK3568平台开发系列讲解(实验篇)杂项设备驱动实验

🚀返回专栏总目录 文章目录 一、什么是杂项设备驱动二、杂项设备的注册和卸载三、杂项设备驱动实验代码沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是杂项设备驱动 在 Linux 中,把无法归类的五花八门的设备定义成杂项设备。相较于字符设备,杂项设备有以下两…

Activation of network connection failed(ubuntu连不上网)

ubuntu连不上网,看了好几个方法找到个有用的记录一下 1. 还原默认设置 2. 更改适配器:加上vmware bridge protocol

(13)Hive调优——动态分区导致的小文件问题

前言 动态分区指的是:分区的字段值是基于查询结果自动推断出来的,核心语法就是insertselect。 具体内容指路文章: https://blog.csdn.net/SHWAITME/article/details/136111924?spm1001.2014.3001.5501文章浏览阅读483次,点赞15次…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第三天-ARM Linux ADC和触摸屏开发 (物联技术666)

链接:https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd1688 提取码:1688 教学内容: 1、ADC S3C2440的A/D转换器包含一个8通道的模拟输入转换器,可以将模拟输入信号转换成10位数字编码。 在A/D转换时钟频率为2.5MHz时&…

【C语言】volatile关键字

目录 一、引入 二、volatile关键字 三、对编译器优化的理解 一、引入 我们先来看一段代码&#xff1a; #include <stdio.h> #include <signal.h>int flag 1;void handler(int signo) {flag 0;printf("已收到%d号信号,flag:%d\n", signo, flag); }…

DIY耳机壳制作使用倒模UV树脂胶液对HIFI动铁音质有什么优势?

使用倒模UV树脂胶液制作DIY耳机壳并在HIFI动铁耳机上应用&#xff0c;可能会带来以下优势&#xff1a; 提高声音隔离度&#xff1a;UV树脂胶液可以有效地将动铁单元封装在耳机壳内&#xff0c;减少外界噪音的干扰&#xff0c;提高声音的隔离度。这有助于提高耳机的聆听体验&am…

紫微斗数双星组合:天同天梁在寅申

文章目录 前言内容总结 前言 紫微斗数双星组合&#xff1a;天同天梁在寅申 内容 紫微斗数双星组合&#xff1a;天同天梁在寅申 性格分析 天同星&#xff0c;天梁星入命宫&#xff0c;称做天同天梁坐命的人。其人外表温和&#xff0c;本性善良&#xff0c;但内心固执&#x…

蓝桥杯每日一题----单调栈和单调队列

单调栈和单调队列 单调栈 单调栈即栈内的元素是单调递减或者单调递增的&#xff0c;我们通过一个题目来理解。 单调栈模板题 题目描述 给出项数为 n 的整数数列 a 1 … a n a_1…a_n a1​…an​。 定义函数 f ( i ) f(i) f(i)代表数列中第 i 个元素之后第一个大于 a i …

核心篇-OSPF技术之序(下)

文章目录 一. 实验专题1.1. 实验1&#xff1a;配置OSPF特殊区域1.1.1. 实验目的1.1.2. 实验拓扑图1.1.3. 实验步骤&#xff08;1&#xff09;配置IP地址&#xff08;2&#xff09;创建环回口&#xff08;3&#xff09;查看路由表&#xff08;4&#xff09;设置Stub区域&#xf…

linux 安装docker

目录 环境 操作步骤 1 下载脚本 2 执行脚本 3 检查docker版本&#xff0c;证明安装成功 环境 阿里云 ubuntu 22.04 64位 操作步骤 参考linux系统安装docker-腾讯云开发者社区-腾讯云 (tencent.com) 1 下载脚本 curl -fsSL https://get.docker.com -o get-docker.sh …