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
    

  • 相关阅读:
    51nod 1087 1 10 100 1000(找规律+递推+stl)
    51nod 1082 与7无关的数 (打表预处理)
    51 nod 1080 两个数的平方和
    1015 水仙花数(水题)
    51 nod 1003 阶乘后面0的数量
    51nod 1002 数塔取数问题
    51 nod 1001 数组中和等于K的数对
    51 nod 1081 子段求和
    51nod 1134 最长递增子序列 (O(nlogn)算法)
    51nod 1174 区间中最大的数(RMQ)
  • 原文地址:https://www.cnblogs.com/collen7788/p/14673761.html
Copyright © 2011-2022 走看看