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

在Knative中配置端口探測

在Knative中,探針主要用于監測和管理服務的健康狀況和可用性。通過配置存活探針(Liveness Probe)和就緒探針(Readiness Probe),您可以確保應用程序處于健康狀態且準備好接收流量。本文介紹如何在Knative中配置自定義監聽端口。

工作原理

您可以通過配置存活探針(Liveness Probe)和就緒探針(Readiness Probe)監測Knative服務的健康狀態和可用性。相較于Kubernetes社區的探針策略,Knative采用更頻繁的積極探測,以最大限度減少冷啟動時間,加速Pod從啟動到運行的過程。

  • Liveness Probe:存活探針用于監視容器的健康狀況。如果容器處于失敗狀態或在容器運行中服務未成功啟動,存活探針將重新啟動容器。

  • Readiness Probe:配置就緒探針可以有效管理應用的自動擴縮容過程,確保只有準備好的實例可以接收流量,從而提升系統的可靠性和響應效率。

下圖介紹Knative探針的工作流程。

image
  1. 在Knative Service CR中定義Readiness Probe或Liveness Probe。

  2. kubelet針對指定的容器執行Liveness Probe。

  3. Knative重寫并由queue-proxy容器執行Readiness Probe。從Activator組件或queue-proxy容器等特定地方開始進行探測,以確保整個網絡鏈路已配置并準備就緒。

    說明

    未定義探針時,Knative將為主容器(Primary Container)定義默認的就緒探針。它將檢查Knative服務流量端口上的TCP Socket。

  4. Knative為queue-proxy容器本身定義了一個Readiness Probe。queue-proxy的運行狀況聚合了所有容器(主容器和Sidecar)重寫Readiness Probe的所有結果。當queue-proxy容器探針返回成功響應并且Knative網絡層配置完成,Knative將認為Pod健康并準備好提供流量。

前提條件

配置自定義監聽端口

配置方式

您可以在Knative Service中配置readinessProbelivenessProbe字段定義Readiness Probe和Liveness Probe。配置方式與Kubernetes中一致,請參見配置存活、就緒和啟動探針

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: runtime
  namespace: default
spec:
  template:
    spec:
      containers:
      - name: first-container
        image: <YOUR-IMAGE>      # 請將<YOUR-IMAGE>替換為您的鏡像名稱。
        ports:
          - containerPort: 8080
        readinessProbe:       # 容器啟動后用來確定容器何時就緒的健康檢查。
          httpGet:            # 使用TCP Socket連接進行存活檢查的端口。
            port: 8080        # 這里可以配置一個與containerPort不同的端口,用于服務的就緒探測。
            path: "/health"
        livenessProbe:            # 檢查容器的存活狀態。
          tcpSocket:
            port: 8080
      - name: second-container
        image: <YOUR-IMAGE>
        readinessProbe:             
          httpGet:
            port: 8089
            path: "/health"
        livenessProbe:              
          tcpSocket:
            port: 8089

支持的探測類型

探測類型

說明

httpGet

通過HTTP GET請求檢查服務健康和存活狀況,并依據響應狀態碼確定成功與否。

tcpSocket

通過嘗試打開一個TCP連接來檢查服務健康和存活狀況。

exec

在容器內執行指定命令,并依據命令的退出碼確定探測是否成功。

grpc

通過調用gRPC Health Checking Protocol定義的方法判斷服務的健康和存活狀況。

說明

由于當前Knative內置了PreStop用于處理流量優雅下線,因此不支持自定義PreStop探測類型。