他做的事情就是当我检测的一个东西他不在规定的时间内存在的话,我就让他重启,这个检测的目标可以是文件或者端口等

我这个是在上一章的基础之上继续操作,我会保留startupProbe探针让后看一下他俩的执行优先的一个效果

Linux:kubernetes(k8s)探针StartupProbe的使用(8)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/136544481?spm=1001.2014.3001.5501 


1.探针目标:错误的请求接口

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
        - "sleep 3; echo 'success' > /inited"
      failureThreshold: 3 # 失败多少次,才算真正失败
      periodSeconds: 10 # 间隔时间
      successThreshold: 1 # 多少次检测成功算成功
      timeoutSeconds: 5  # 请求超时时间
    livenessProbe: #应用容器探针
      httpGet: # 探测方式
         path: /abc.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: 256Mi
  restartPolicy: OnFailure #重启策略,只有失败的情况才会重启

abc.html这个接口肯定是没有的 

我这里让他请求一个错误的接口肯定是请求不到的,去看一下效果

这里失败了 

这时我们直接cp复制过去一个文件 abc.html

kubectl cp abc.html nginx-po:/usr/share/nginx/html/

 这样在下一次重启后就可以了

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐