readinessProbe & livenessProbe Demo

Yark發表於2021-09-23

readinessProbe & livenessProbe 三種檢測方式

  • httpGet:傳送http請求檢查服務是否正常,返回200-399狀態碼說明容器為健康狀態。
  • tcpSocket:執行容器的IP和Port的TCP檢查,如果能夠建立TCP連線,則容器為健康狀態。
  • exec:執行命令來檢查服務是否正常,預定的命令執行成功返回值為0說明容器為健康狀態。

httpGet demo1

    readinessProbe:
      httpGet:
        path: /test
        port: 8080
      initialDelaySeconds: 30
      timeoutSeconds: 30
    livenessProbe:
      httpGet:
        path: /test
        port: 8080
      initialDelaySeconds: 30
      timeoutSeconds: 30

httpGet demo2

    livenessProbe:
      httpGet:
        path: /test
        port: 8080
        httpHeaders:
        - name: X-Custom-Header
          value: Awesome
      initialDelaySeconds: 5
      periodSeconds: 5

tcpSocket demo

    readinessProbe:
      tcpSocket:
        port: 3306
      initialDelaySeconds: 5
      periodSeconds: 10
    livenessProbe:
      tcpSocket:
        port: 3306
      initialDelaySeconds: 15
      periodSeconds: 20

exec demo

    livenessProbe:
      exec:
        command:
        - cat
        - /app/test-healthy
      initialDelaySeconds: 10
      periodSeconds: 10
    readinessProbe:
      exec:
        command:
        - cat
        - /app/test-healthy
      initialDelaySeconds: 10
      periodSeconds: 10

相關屬性

  • initialDelaySeconds:Pod啟動後延遲多少秒才進行檢查
  • periodSeconds:檢查的間隔時間,預設為10秒
  • timeoutSeconds:探測的超時時間,預設為1秒
  • successThreshold:探測失敗後認為成功的最小連線成功次數,預設為1,在Liveness探針中必須為1,最小值為1。
  • failureThreshold:探測失敗的重試次數,重試一定次數後將認為失敗,在readiness探針中,Pod會被標記為未就緒,預設為3,最小值為1。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
:kissing_closed_eyes: 我愛小硯 乀(ˉεˉ乀)