努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • Docker

  • Kubernetes

    • K8S常见组件记录
    • 安装DNS服务(bind-9)
    • 私有仓库harbor部署
    • 证书签发环境CFSSL
    • 一步步部署k8s组件(上)
    • 一步步部署k8s组件(中)
    • 一步步部署k8s组件(下)
    • kubelet常用命令
    • K8s的GUI资源管理之仪表板
    • k8s部署jenkins
    • k8s持久存储StorageClass
    • k8s之Volume类型emptyDir和hostPath
    • 深入了解Deployment
    • k8s之meric-server(HPA环境)
    • k8s-deployment常见参数说明
    • rke部署k8s高可用集群
    • K8S之安全机制
    • k8s网络策略
    • kubeadm安装k8s(版本1.26.0)
    • kubeadm证书替换
    • Pod探针
  • Nexus

  • Rancher

  • Prometheus

  • ELK

  • 虚拟化

//
  • 云计算虚拟化
  • Kubernetes
yangfk
2022-12-20

Pod探针

//

Configure Liveness, Readiness官方文档 (opens new window)

pod处于存活状态并不意味这可以提供服务,比如某些java程序一系列的检测,启动时间需要2,3分钟

  • 配置字段

    initialDelaySeconds:容器启动后要等待多少秒后才启动启动、存活和就绪探针, 默认是 0 秒,最小值是 0。 periodSeconds:执行探测的时间间隔(单位是秒)。默认是 10 秒。最小值是 1,每N秒进行一次探测 timeoutSeconds:探测的超时后等待多少秒。默认值是 1 秒。最小值是 1,容器必须在2秒内反馈信息给探针,否则视为失败 successThreshold:探针在失败后,被视为成功的最小连续成功数。默认值是 1。 存活和启动探测的这个值必须是 1。最小值是 1。 failureThreshold:当探测失败时,Kubernetes 的重试次数。 对存活探测而言,放弃就意味着重新启动容器。 对就绪探测而言,放弃意味着 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1。

  • 启动探针和存活探针,就绪探针对比

启动探针(Startup) 存活探针(Liveness) 就绪探针(Readiness)
pod未通过检测 重启Pod到指定次数,状态改为BackOff 杀死Pod,重启动新Pod 等待
Service服务 无 Endpoint 自动更新pod信息 检测失败从Endpoint 移除pod
作用 Pod 是否启动 Pod是否存活 Pod是否准备好提供服务

startup:启动探测成功一次,存活探测任务就会接管对容器的探测

liveness:探针用于Pod是否处于存活状态

readiness:探针用于Pod里面的容器是否一切准备就绪,可以对外提供服务

  • 测试模板
apiVersion: v1
kind: Service
metadata:
  name: nginx-web
  labels:
    app: web
spec:
  selector:
    app: web
  ports:
  - protocol: TCP
    name: web
    port: 88
    targetPort: 80
---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-dp
  name: nginx-dp
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        ports:
        - containerPort: 80
          name: nginx-port
          protocol: TCP
        name: h5

        readinessProbe:
          tcpSocket:
            port: 80
          initialDelaySeconds: 30
          periodSeconds: 5
          timeoutSeconds: 2
          successThreshold: 2
          failureThreshold: 2

        livenessProbe:
          httpGet:
            path: /index.html
            port: nginx-port
          initialDelaySeconds: 30
          failureThreshold: 3
          periodSeconds: 20

        startupProbe:
          httpGet:
            path: /index.html
            port: nginx-port
          failureThreshold: 3
          periodSeconds: 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
点击 -->> 给博主买咖啡 (opens new window)
上次更新: 2022/12/20, 17:50:55
kubeadm证书替换
Nexus3部署

← kubeadm证书替换 Nexus3部署→

最近更新
01
kubeadm证书替换
12-20
02
kubeadm安装k8s(版本1.26.0)
12-16
03
openStack部署mitaka版本
12-07
更多文章>
Theme by Vdoing | Copyright © 2019-2023 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//