今天继续给大家介绍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存活性探针应用实战相关推荐

  1. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  2. K8SPod详解之pod配置

    K8SPod详解之pod配置 Pod定义 Pod配置 pod.spec.containers 基本配置 镜像拉取 启动命令 环境变量 端口设置 资源配额 每个pod中都可以包含一个或者多个容器,这些容 ...

  3. Kubernetes详解(五十三)——Kubernetes Role创建和Rolebinding

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes Role创建和Rolebinding. 一.Kubernetes Role创建 首先,我们先来创建一个Role.我们可以通 ...

  4. Kubernetes详解(三十九)——Storage Class

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Storage Class相关内容. 一.Storage Class简介 在前文Kubernetes详解(三十八)--NFS对PVC和PV使用实 ...

  5. python 动态执行 内存变化_详解Pytorch显存动态分配规律探索

    下面通过实验来探索Pytorch分配显存的方式. 实验显存到主存 我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下: import torch 打开任务管理器查看主存与 ...

  6. Kubernetes详解(五十一)——Kubernetes用户创建

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes用户创建. 在上文Kubernetes详解(五十)--Kubernetes权限配置中,我们介绍了Kubernetes的con ...

  7. 详解与重构hyman《Android SurfaceView实战 打造抽奖转盘》

    详解与重构hyman<Android SurfaceView实战 打造抽奖转盘> 作者:邵励治 一.概述--关于SurfaceView您不得不知道的二三事 1.SurfaceView是干什 ...

  8. Kubernetes详解(三十七)——PV与PVC

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes PV与PVC. 一.PV和PVC详解 当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解. ...

  9. 【kubernetes详解08】-Pod控制器

    目录 一.Pod控制器介绍 二.ReplicaSet(RS) 1.介绍 2.创建ReplicaSet 3.扩缩容 4.镜像升级 5.删除ReplicaSet 三.Deployment(Deploy) ...

  10. kubernetes 详解(中)

    十三.kubernetes高级调度 1.CronJob Job可以干什么: 更简单的计划任务CronJob: CronJob用于以时间为基准周期性地执行任务,这些自动化任务和运行在Linux或UNIX ...

最新文章

  1. As3.0 一些好书连接
  2. 统计java文件中的代码行数
  3. 【单调栈 前缀和 异或】7.21序列求和
  4. C#语言与面向对象技术(5)
  5. php聊天程序后端,php写后端运作程序总结
  6. 电脑电视兼容成科技行业新课题
  7. 您有一份阿里云云原生直播攻略待查收
  8. 7.1.2 定义改进的Sales_date类
  9. 手机App扫描多个网站显示的二维码的数据结构设计
  10. 递归javascript_JavaScript中的递归
  11. python中的字典及注意事项
  12. golang中的匿名组合
  13. 猛料一顿狂堆!华为P40 Pro详细参数被曝光
  14. 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
  15. JWT全面解读、详细使用步骤
  16. 吴恩达-deep learning 02.改善深层神经网络:优化算法 (Optimization algorithms)Week2
  17. 在线编辑、在线预览、在线转换,基于wps.js + java + react / vue,无需任何插件,零安装
  18. S3DIS数据集的几个bug
  19. datadog的数据流转
  20. SQL面试问题及回答

热门文章

  1. 《MYSQL必知必会》—1.了解SQL
  2. 时间序列-LSTM长期预测
  3. 真·不怪云原生:探寻IT大厂逐渐云化的秘密!
  4. 性能优化是数据库应用的核心问题
  5. 深入搜索引擎的关键——索引
  6. IT技术人需要具备哪些才能成功
  7. TransformerEncoder
  8. 计算机msoffice怎么复习,全国计算机一级MSoffice怎样复习我在 – 手机爱问
  9. mysql 增加一列 伦理名_MySQL错误提示mysql Statement violates GTID consistency
  10. Flutter进阶第6篇: 获取设备信息 以及 使用高德Api获取地理位置