Kubernetes详解(十七)——Pod存活性探针应用实战
今天继续给大家介绍Linux运维相关知识,本文主要内容是Pod存活性探针应用实战。
在上文Kubernetes详解(十六)——Pod容器探测中,我们讲解了Pod容器的探针。今天,我们就来进行以下Pod容器的探针实战。
一、EXEC探针实战
首先,我们进行EXEC的探针实战,创建liveness-probe.yaml的资源配置清单,并写入如下内容:
apiVersion: v1
kind: Pod
metadata:name: liveness-probenamespace: defaultlabels:probe: liveness
spec:containers:- name: liveness-probe-containerimage: busyboximagePullPolicy: IfNotPresentcommand: ["/bin/sh","-c","touch /tmp/healthy;sleep 30;rm -rf /tmp/healthy","sleep 600"]livenessProbe:exec:command: ["test","-e","/tmp/healthy"]initialDelaySeconds: 2periodSeconds: 5
完成后的资源配置清单文件如下所示:
在上述配置中,我们使用了命令的存活性探针,该探针会不断探测/tmp/healthy文件的存在性,如果该文件不存在,探针就会探测处异常。根据我们镜像的command的配置,容器在启动后,运行30秒就会删除该文件,因此该Pod的运行必然会引发探针异常。我们只需要观察探针异常后是否有Pod容器的重启,就可以判定探针是否工作正常。
然后,我们运行该资源清单配置文件,创建Pod容器,执行命令:
kubectl create -f liveness-probe.yaml
Pod容器运行后如下所示:
从上图中可以看出,我们的Pod容器运行成功。接下来,我们等待一段时间,来测试一下探针的作用。
等待一段时间后,Pod容器结果如下:
在上图中可以看出,在pod容器的运行中,随着command命令的作用,探针探测到容器异常,因此Kubernetes会杀死容器并重启。我们的命令探针配置成功!
二、HTTP探针实战
接下来,我们进行HTTP的探针实战,创建http-probe.yaml的资源配置清单,并写入如下内容:
apiVersion: v1
kind: Pod
metadata:name: http-probenamespace: defaultlabels:probe: http
spec:containers:- name: http-probeimage: nginx:1.12imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80lifecycle:postStart:exec:command: ["/bin/bash","-c","echo Http-Probe > /usr/share/nginx/html/ishealth.html"]livenessProbe:httpGet:path: /ishealth.htmlport: httpscheme: HTTP
完成后的资源配置清单文件如下所示:
在上述配置中,我们定义了一个HTTP的探针,该探针会不断探测网站根目录下/ishealth.html文件(该文件由容器中的command命令创建)的存在性,如果该文件不存在,探针就会探测到异常。
我们运行该资源清单配置文件,创建Pod容器,执行命令:
kubectl create -f http-probe.yaml
该容器运行后,我们进入该容器,删除ishealth.html的文件,观察容器状态,结果如下所示:
可以看出,当我们删除容器后,由于探针探测到异常,引发容器的重启。我们的HTTP探针成功!
三、TCP探针实战
最后,我们进行TCP的探针实战,创建tcp-probe.yaml的资源配置清单,并写入如下内容:
apiVersion: v1
kind: Pod
metadata:name: tcp-probenamespace: defaultlabels:probe: tcp
spec:containers:- name: tcp-rpobeimage: nginx:1.12ports:- name: httpcontainerPort: 80livenessProbe:tcpSocket:port: http
完成后的资源配置清单文件如下所示:
在上述配置中,我们的探针会不断探测容器的80端口,如果80端口不通,则探针会探测到异常。
我们运行该资源清单配置文件,创建Pod容器,执行命令:
kubectl create -f tcp-probe.yaml
启动容器。
容器启动后,我们可以执行命令:
kubectl describe pods/tcp-probe
来查看该Pod的TCP探针设置,结果如下所示:
从上图中,也可以看出我们配置的TCP探针的内容。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Kubernetes详解(十七)——Pod存活性探针应用实战相关推荐
- 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard
笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...
- K8SPod详解之pod配置
K8SPod详解之pod配置 Pod定义 Pod配置 pod.spec.containers 基本配置 镜像拉取 启动命令 环境变量 端口设置 资源配额 每个pod中都可以包含一个或者多个容器,这些容 ...
- Kubernetes详解(五十三)——Kubernetes Role创建和Rolebinding
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes Role创建和Rolebinding. 一.Kubernetes Role创建 首先,我们先来创建一个Role.我们可以通 ...
- Kubernetes详解(三十九)——Storage Class
今天继续给大家介绍Linux运维相关知识,本文主要内容是Storage Class相关内容. 一.Storage Class简介 在前文Kubernetes详解(三十八)--NFS对PVC和PV使用实 ...
- python 动态执行 内存变化_详解Pytorch显存动态分配规律探索
下面通过实验来探索Pytorch分配显存的方式. 实验显存到主存 我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下: import torch 打开任务管理器查看主存与 ...
- Kubernetes详解(五十一)——Kubernetes用户创建
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes用户创建. 在上文Kubernetes详解(五十)--Kubernetes权限配置中,我们介绍了Kubernetes的con ...
- 详解与重构hyman《Android SurfaceView实战 打造抽奖转盘》
详解与重构hyman<Android SurfaceView实战 打造抽奖转盘> 作者:邵励治 一.概述--关于SurfaceView您不得不知道的二三事 1.SurfaceView是干什 ...
- Kubernetes详解(三十七)——PV与PVC
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes PV与PVC. 一.PV和PVC详解 当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解. ...
- 【kubernetes详解08】-Pod控制器
目录 一.Pod控制器介绍 二.ReplicaSet(RS) 1.介绍 2.创建ReplicaSet 3.扩缩容 4.镜像升级 5.删除ReplicaSet 三.Deployment(Deploy) ...
- kubernetes 详解(中)
十三.kubernetes高级调度 1.CronJob Job可以干什么: 更简单的计划任务CronJob: CronJob用于以时间为基准周期性地执行任务,这些自动化任务和运行在Linux或UNIX ...
最新文章
- As3.0 一些好书连接
- 统计java文件中的代码行数
- 【单调栈 前缀和 异或】7.21序列求和
- C#语言与面向对象技术(5)
- php聊天程序后端,php写后端运作程序总结
- 电脑电视兼容成科技行业新课题
- 您有一份阿里云云原生直播攻略待查收
- 7.1.2 定义改进的Sales_date类
- 手机App扫描多个网站显示的二维码的数据结构设计
- 递归javascript_JavaScript中的递归
- python中的字典及注意事项
- golang中的匿名组合
- 猛料一顿狂堆!华为P40 Pro详细参数被曝光
- 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
- JWT全面解读、详细使用步骤
- 吴恩达-deep learning 02.改善深层神经网络:优化算法 (Optimization algorithms)Week2
- 在线编辑、在线预览、在线转换,基于wps.js + java + react / vue,无需任何插件,零安装
- S3DIS数据集的几个bug
- datadog的数据流转
- SQL面试问题及回答
热门文章
- 《MYSQL必知必会》—1.了解SQL
- 时间序列-LSTM长期预测
- 真·不怪云原生:探寻IT大厂逐渐云化的秘密!
- 性能优化是数据库应用的核心问题
- 深入搜索引擎的关键——索引
- IT技术人需要具备哪些才能成功
- TransformerEncoder
- 计算机msoffice怎么复习,全国计算机一级MSoffice怎样复习我在 – 手机爱问
- mysql 增加一列 伦理名_MySQL错误提示mysql Statement violates GTID consistency
- Flutter进阶第6篇: 获取设备信息 以及 使用高德Api获取地理位置