zoukankan      html  css  js  c++  java
  • 【赵强老师】Kubernetes的探针

    Kubernetes提供了探针(Probe)对容器的健康性进行检测。实际上我们不仅仅要对容器进行健康检测,还要对容器内布置的应用进行健康性检测。

    Probe有以下两种类型:

    • livenessProbe:存活探针,如果检查失败,将杀死容器,根据Pod的restartPolicy重启策略操作。
    • readinessProbe:就绪探针,如果检查失败,Kubernetes会把Pod从service endpoints中剔除。

    Probe支持以下三种检查方法:

    • httpGet:发送HTTP请求,返回200-400范围状态码为成功。
    • exec:执行Shell命令返回状态码是0为成功。
    • tcpSocket:发起TCP Socket建立成功。

    下面我们给出每种检查方法的配置:

    • exec检查
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        test: liveness
      name: liveness-exec
    spec:
      containers:
      - name: liveness
        image: busybox
        args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
        livenessProbe:  ##  livenessProbe检查类型
          exec:    ##exec检查方法
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 5   ##容器启动5秒后才做检查
          periodSeconds: 5    ## 每隔5秒检查一次
    
    • httpGet检查
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        test: liveness
      name: liveness-http
    spec:
      containers:
      - name: liveness
        image: k8s.gcr.io/liveness
        args:
        - /server
        livenessProbe:   ## livenessProbe类型
          httpGet:   ## httpGet检查方法
            path: /healthz
            port: 8080
            httpHeaders:
            - name: Custom-Header
              value: Awesome
          initialDelaySeconds: 3
          periodSeconds: 3
    
    • tcpSocket检查
    apiVersion: v1
    kind: Pod
    metadata:
      name: goproxy
      labels:
        app: goproxy
    spec:
      containers:
      - name: goproxy
        image: k8s.gcr.io/goproxy:0.1
        ports:
        - containerPort: 8080
        readinessProbe:   ##readinessProbe检查类型
          tcpSocket:  ##tcpSocket检查方法
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 10
        livenessProbe:   ##livenessProbe检查类型
          tcpSocket:   ##tcpSocket检查方法
            port: 8080
          initialDelaySeconds: 15
          periodSeconds: 20
    

  • 相关阅读:
    使用ASP的优势和劣势
    rman的catalog命令
    sql exist和in的区别及查询效率比较
    zblog模板修改字体大小的教程
    js 刷新和关闭页面触发的事件 及操作COOKIE
    Flex走出低谷的关键: 打破Flex固有的定义
    服务网健康日志中 radio传值解决方案
    sql语句查询出表里的第二条、第三条记录(附加多个条件)
    鼠标经过超链接文字变色
    (asp.net)鼠标放上去的时候文本框的提示消失,鼠标离开又重新显示
  • 原文地址:https://www.cnblogs.com/collen7788/p/14673761.html
Copyright © 2011-2022 走看看