日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用探針對容器進行健康檢查

Liveness Probe和Readiness Probe是用于檢測容器狀態的機制,其中Liveness Probe用于檢測容器是否正常運行,Readiness Probe用于檢測容器是否已經就緒。本文介紹如何配置Liveness Probe和Readiness Probe對容器進行健康檢查,以便Kubernetes可以更好地監控和管理容器的運行狀態,確保服務的高可用性和穩定性。

功能說明

在Kubernetes中,容器的健康檢查由kubelet定期執行。kubelet通過Liveness Probe和Readiness Probe來檢查容器的狀態和運行情況。

探針

說明

應用場景

應用存活探針( Liveness Probe)

用于檢查容器是否正常運行。

  • 如果檢查成功,則表示容器正常運行。

  • 如果檢查失敗,系統會根據配置的容器重啟策略進行相應的處理。

  • 如果未配置該探針,則默認容器一直正常運行。

  • 當應用程序處于運行狀態但無法進行進一步操作時,Liveness Probe將捕獲到deadlock,重啟對應的容器,使得應用程序在存在bug的情況下依然能夠運行。

  • 長時間運行的應用程序最終可能會轉換到broken狀態,此時除了重新啟動,無法恢復。Liveness Probe可以檢測并補救這種情況。

應用業務探針(Readiness Probe)

用于檢查容器是否已經準備就緒,可以為請求提供服務。

  • 如果檢查成功,則表示容器已經準備就緒,可以接收業務請求。

  • 如果檢查失敗,則表示容器沒有準備就緒,系統將停止向該容器發送任何請求,直至重新檢查成功。

  • 如果未配置該探針,則默認容器已經準備就緒。

如果應用程序暫時無法對外部流量提供服務,例如應用程序需要在啟動期間加載大量數據或配置文件,此時,如果不想終止應用程序,也不想向其發送請求,可以通過Readiness Probe來檢測和緩解這種情況。

配置示例

您可以通過容器的livenessProbereadinessProbe字段來設置Liveness Probe或者Readiness Probe。更多信息,請參見配置存活、就緒和啟動探測器

示例一:設置Liveness Probe

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
       # 設置Liveness Probe,通過命令行方式進行檢查
        livenessProbe:    
          exec:           
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 5    # 容器啟動5秒后開始檢查
          periodSeconds: 5     # 每5秒執行一次檢查

示例二:設置Readiness Probe

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
        # 設置Readiness Probe,通過命令行方式進行檢查
        readinessProbe:
          exec:           
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 5    # 容器啟動5秒后開始檢查
          periodSeconds: 5     # 每5秒執行一次檢查