当前位置 - 養生大全網 - 健康養生 - 雲原生K8S中Pod健康檢查和服務可用性檢查的詳細說明

雲原生K8S中Pod健康檢查和服務可用性檢查的詳細說明

中秋月圓,富貴貧賤。很安慰。——烽火劇軍閥《寶劍來了》

檢測目的:用於維持pod的魯棒性。當pod掛起時,部署將生成壹個新的pod。但是,如果pod運行正常,但是pod有問題,此時部署無法監視它。因此,有必要探測POD是否正常提供服務。

Kubernetes可以通過兩種類型的探針檢查Pod的健康狀態:LivenessProbe和readiness probe,Kubelet定期執行這兩種類型的探針來診斷容器的健康狀態。是通過部署實現的。

LivenessProbe和ReadinessProbe可以通過以下三種方式進行配置。

對於每種檢測模式,都需要設置initialDelaySeconds、timeoutSeconds等參數,其含義如下。

Kubernetes的ReadinessProbe機制可能無法滿足壹些復雜應用對容器中服務可用性的判斷。

Pod的ReadinessGate在Pod定義的readinessgate字段中設置。以下示例設置了壹個新的www.example.com/feature-1:類型的ReadinessGate

用於判斷容器是否有生命(運行狀態)。如果LivenessProbe檢測到容器不健康,kubelet會殺死容器,並根據容器的重啟策略做出相應的處理。

在容器內部執行壹個命令,如果命令的返回碼為0,說明容器是健康的。

資源文件定義

運行此部署。當pod創建成功後,創建壹個新文件並休眠30秒,休眠時刪除該文件。使用活性來檢測文件的存在

跑了30多秒後。該文件已被刪除,因此受到運行狀況檢查的影響,pod根據重啟策略重啟。

已經是99後第二次了

檢查節點機器docker中的容器ID。前後是不壹樣的。確保POD已關閉,然後重新啟動。

通過容器的IP地址、端口號和路徑調用HTTP Get方法。如果響應的狀態代碼大於或等於200且小於400,則認為容器是健康的。

創建壹個資源文件,即使用相關參數。

運行deploy,其探測機制訪問Ngixn的默認歡迎頁面。

刪除歡迎頁面時,會報告訪問錯誤,並在被點擊後重啟pod。

通過容器的IP地址和端口號執行TCP檢查,如果可以建立TCP連接,則容器是健康的。

資源文件定義

訪問端口8080,但是端口8080沒有打開,所以訪問會超時,連接無法建立,命中檢測,重啟Pod。

用於判斷容器服務是否可用(就緒狀態),只有當Pod達到就緒狀態才能接收請求。對不能探視負責

資源文件定義,使用鉤子構建需要檢查的文件。

使用Ngixn創建三個pod,並通過pod創建壹個SVC進行測試。

修改主頁文本

修改標簽

刪除文件檢測

使用POD創建SVC

測試SVC正常,三個吊艙將正常加載。

刪除文件測試

妳會發現pod-liveness的pod不再可用。

Kube-apiserver.yaml,兩個探針同時使用。

rc="/style/tj.js">