Linux:kubernetes(k8s)探针StartupProbe的使用(8)

Linux:kubernetes(k8s)pod的基础操作(6)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/136462030?spm=1001.2014.3001.5501

👆这一章里有我编写nginx-demo的一个文件 

apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据name: nginx-demo # pod名称labels:  # pod的标签type: app   #这个是随便写的 自定义的标签version: 1.0.0   #这个是随便写的test: 1.0.0    #都标签随便写的namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建containers:  #对于pod容器的描述- name: nginx #容器的名称image: nginx:1.7.9 # 指定容器的镜像imagePullPolicy: IfNotPresent  #镜像拉取策略command: # 指定容器启动时执行的命令- nginx- -g- 'daemon off;'workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录ports:- name: http # 端口名称containerPort: 80 # 描述容器内容要暴露的端口protocol: TCP # 端口是用什么协议通信env:   # 环境变量- name: JVM_OPTS  # 环境变量的名称value: '-Xms128m -Xmx128m'  # 环境变量的值resources:requests: # 最少需要多少资源cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心memory: 128Mi #限制内存最少使用129兆limits:  #最多可以用多少 cpu: 200m # 限制最多可以使用多少memory: 256MirestartPolicy: OnFailure #重启策略,只有失败的情况才会重启

 新加探针 :错误的路径

现在我要在这个demo文件中做出修改添加探针的一个检测

修改为

apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据name: nginx-demo # pod名称labels:  # pod的标签type: app   #这个是随便写的 自定义的标签version: 1.0.0   #这个是随便写的test: 1.0.0    #都标签随便写的namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建containers:  #对于pod容器的描述- name: nginx #容器的名称image: nginx:1.7.9 # 指定容器的镜像imagePullPolicy: IfNotPresent  #镜像拉取策略startupProbe: #应用容器探针httpGet: # 探测方式path: /api/path #http 请求路径port: 80 # 请求端口failureThreshold: 3 # 失败多少次,才算真正失败periodSeconds: 10 # 间隔时间successThreshold: 1 # 多少次检测成功算成功timeoutSeconds: 5   # 请求超时时间command: # 指定容器启动时执行的命令- nginx - -g- 'daemon off;'workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录ports: - name: http # 端口名称containerPort: 80 # 描述容器内容要暴露的端口protocol: TCP # 端口是用什么协议通信env:   # 环境变量- name: JVM_OPTS  # 环境变量的名称value: '-Xms128m -Xmx128m'  # 环境变量的值resources: requests: # 最少需要多少资源cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心memory: 128Mi #限制内存最少使用129兆limits:  #最多可以用多少 cpu: 200m # 限制最多可以使用多少memory: 256MirestartPolicy: OnFailure #重启策略,只有失败的情况才会重启

在里面加了探针这一块,我的/api/path目录并不存在,等会启动的时候肯定会失败 

现在去查看一下pod

kubectl get pod

 

可以看到是创建中,现在去看一下他的创建过程 

可以看到是失败的


探针目标:正确的路径

apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels:  # pod的标签type: app   #这个是随便写的 自定义的标签version: 1.0.0   #这个是随便写的test: 1.0.0    #都标签随便写的namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建containers:  #对于pod容器的描述- name: nginx #容器的名称image: nginx:1.7.9 # 指定容器的镜像imagePullPolicy: IfNotPresent  #镜像拉取策略startupProbe: #应用容器探针httpGet: # 探测方式path: /index.html #http 请求路径port: 80 # 请求端口failureThreshold: 3 # 失败多少次,才算真正失败periodSeconds: 10 # 间隔时间successThreshold: 1 # 多少次检测成功算成功timeoutSeconds: 5   # 请求超时时间command: # 指定容器启动时执行的命令- nginx - -g- 'daemon off;'workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录ports: - name: http # 端口名称containerPort: 80 # 描述容器内容要暴露的端口protocol: TCP # 端口是用什么协议通信env:   # 环境变量- name: JVM_OPTS  # 环境变量的名称value: '-Xms128m -Xmx128m'  # 环境变量的值resources: requests: # 最少需要多少资源cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心memory: 128Mi #限制内存最少使用129兆limits:  #最多可以用多少 cpu: 200m # 限制最多可以使用多少memory: 256MirestartPolicy: OnFailure #重启策略,只有失败的情况才会重启

 

这次我们监控的目录肯定是存在的了

通过该命令 

kubectl describe po nginx-po

可以看到一下创建成功了

 

 


探针目标:tcp

apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels:  # pod的标签type: app   #这个是随便写的 自定义的标签version: 1.0.0   #这个是随便写的test: 1.0.0    #都标签随便写的namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建containers:  #对于pod容器的描述- name: nginx #容器的名称image: nginx:1.7.9 # 指定容器的镜像imagePullPolicy: IfNotPresent  #镜像拉取策略startupProbe: #应用容器探针#  httpGet: # 探测方式#     path: /index.html #http 请求路径tcpSocket :port: 80 # 请求端口failureThreshold: 3 # 失败多少次,才算真正失败periodSeconds: 10 # 间隔时间successThreshold: 1 # 多少次检测成功算成功timeoutSeconds: 5   # 请求超时时间command: # 指定容器启动时执行的命令- nginx - -g- 'daemon off;'workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录ports: - name: http # 端口名称containerPort: 80 # 描述容器内容要暴露的端口protocol: TCP # 端口是用什么协议通信env:   # 环境变量- name: JVM_OPTS  # 环境变量的名称value: '-Xms128m -Xmx128m'  # 环境变量的值resources: requests: # 最少需要多少资源cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心memory: 128Mi #限制内存最少使用129兆limits:  #最多可以用多少 cpu: 200m # 限制最多可以使用多少memory: 256MirestartPolicy: OnFailure #重启策略,只有失败的情况才会重启

 现在是使用tcp进行一个监控了


探针目标:目录内容

apiVersion: v1 # api文档版本
kind: Pod  # 资源对象类型
metadata:  # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels:  # pod的标签type: app   #这个是随便写的 自定义的标签version: 1.0.0   #这个是随便写的test: 1.0.0    #都标签随便写的namespace: 'default'  #命名空间的配置
spec: #期望pod按照这里面的描述进行创建containers:  #对于pod容器的描述- name: nginx #容器的名称image: nginx:1.7.9 # 指定容器的镜像imagePullPolicy: IfNotPresent  #镜像拉取策略startupProbe: #应用容器探针#  httpGet: # 探测方式#     path: /index.html #http 请求路径#  tcpSocket :#     port: 80 # 请求端口exec:command:- sh- -c- " echo 'success' > /inited"failureThreshold: 3 # 失败多少次,才算真正失败periodSeconds: 10 # 间隔时间successThreshold: 1 # 多少次检测成功算成功timeoutSeconds: 5  # 请求超时时间command: # 指定容器启动时执行的命令- nginx - -g- 'daemon off;'workingDir: /usr/local/nginx/html # 定义容器启动后的工作目录ports: - name: http # 端口名称containerPort: 80 # 描述容器内容要暴露的端口protocol: TCP # 端口是用什么协议通信env:   # 环境变量- name: JVM_OPTS  # 环境变量的名称value: '-Xms128m -Xmx128m'  # 环境变量的值resources: requests: # 最少需要多少资源cpu: 100m #限制cpu最少使用 1000m=1核心 100m就是0.1个核心memory: 128Mi #限制内存最少使用129兆limits:  #最多可以用多少 cpu: 200m # 限制最多可以使用多少memory: 256MirestartPolicy: OnFailure #重启策略,只有失败的情况才会重启

这个就是会在根目录下创建一个文件并且写入内容

kubectl exec -it nginx-po -c nginx -- cat /inited

将nginx-po修改为你的pod名称就能看到了容器目录内的内容 


 

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

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

相关文章

2024【问题解决】Github 2024无法克隆git clone自从签了2F2安全协议之后

项目场景:ping通Github但没法clone–502 问题描述 提示:ping通Github但没法clone--502: 例如:git clone https://gitclone.com/l.git/*** $ git clone https://github.com/darrenpig/Yocto Cloning into Yocto_tutorial... fatal: unable to access https://gitclone.co…

数据库:2024/3/6

作业1&#xff1a;使用C语言完成数据库的增删改 代码&#xff1a; #include <myhead.h>//定义添加员工信息函数 int Add_worker(sqlite3 *ppDb) {//准备sql语句printf("请输入要添加的员工信息:\n");//从终端获取员工信息char rbuf[128]"";fgets(r…

解决cs不能生成Linux木马的问题

要解决的问题&#xff1a;众所周知&#xff0c;msf上面的shell或者是其他的shell想反弹给cs默认情况下是只支持windows的&#xff0c;因为cs的监听模块默认没有linux的&#xff0c;但是有些主机就是用linux搭建的&#xff0c;这可怎么办呢。就要用到一个插件CrossC2。 下载插件…

[LeetCode][8]【学习日记】实现字符串转换整数 (atoi)函数

题目 8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格检查下一个字…

ky10 server 离线编译安装nginx

代码地址 https://gitcode.net/zengliguang/linux_video_audio_nginx_proxy.git 下载代码 查看服务器上下载的代码 编译安装 进入代码路径 cd /root/linux_video_audio_nginx_proxy 执行离线编译安装脚本 source centos7_nginx_offline_comp_install.sh安装编译相关依赖 …

Java二级--操作题详解(1)

目录 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 1.2 题解分析&#xff1a; 2.1 简单应用&#xff1a; 2.2 解题分析&#xff1a; 3.1 综合应用&#xff1a; 3.2解题分析&#xff1a; 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 在考生文件夹中存有文件名为J…

SystemVerilog构造、包

包 包提供了一种共享不同构造的附加方式。他们的行为与VHDL包。包可以包含函数、任务、类型和枚举。的语法包是&#xff1a; package package_name; items endpackage : package_name 最终的package_name不是必需的&#xff0c;但它使代码更易于阅读。包是import命令在其他…

LeetCode每日一题 二叉树的最大深度(二叉树)

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;root [1,nul…

Kubernetes-3

Kubernetes学习第3天 Kubernetes-31、查看实时的cpu和内存消耗1.1、kubectl top node 2、卷的使用2.1、什么是卷&#xff1f;1. 解决数据持久性问题2. Kubernetes 中的卷抽象概念3. 共享数据示例4. Kubernetes 中的卷使用5. 不同类型的卷6. 灵活、可靠的数据管理 2.2、联想到do…

数据结构与算法-线性查找

引言 在计算机科学领域&#xff0c;数据结构和算法是构建高效软件系统的核心要素。今天我们将聚焦于最基础且广泛应用的一种查找算法——线性查找&#xff0c;并探讨其原理、实现步骤以及实际应用场景。 一、什么是线性查找&#xff1f; 线性查找&#xff08;Linear Search&am…

计算机考研❗️这些院校(含985)性价比巨高

✅厦门大学 (985) 不歧视双非&#xff0c;全靠实力&#xff0c;校园环境还贼美 ✅重庆大学 (985) 信息公开透明&#xff0c;复试抽签 ✅北京师范大学 (985) 不歧视本科出身&#xff0c;面试抽签答题。 ✅东南大学 (985) 保护第一志愿&#xff0c;复试抽签 ✅吉林大学 (…

Hello C++ (c++是什么/c++怎么学/c++推荐书籍)

引言 其实C基础语法基本上已经学完&#xff0c;早就想开始写C的博客了&#xff0c;却因为其他各种事情一直没开始。原计划是想讲Linux系统虚拟机安装的&#xff0c;后来考虑了一下还是算了&#xff0c;等Linux学到一定程度再开始相关博客的写作和发表吧。今天写博客想给C开个头…