中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes中如何實現Pod健康檢查

發布時間:2021-12-24 16:11:06 來源:億速云 閱讀:135 作者:小新 欄目:云計算

小編給大家分享一下kubernetes中如何實現Pod健康檢查,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一:前言
對Pod的健康狀態檢查可以通過兩類探針來檢查:LivenessProbe和ReadinessProbe
1.LivenessProbe探針: 用于判斷容器是否存活,如果LivenessProbe探針探測到容器不健康,則kubelet將殺掉該容器,并根據容器的重啟策略做相應的處理。如果一個容器不包含LivenessProbe探針,那么kubelet認為該容器的LivenessProbe探針返回值永遠是“Success”.

2.ReadinessProbe探針: 用于判斷容器是否啟動完成,可以接收請求。如果ReadinessProbe 探針檢測到失敗,則Pod的狀態將被修改。Endpoint Controller將從Service的Endpoint中刪除包括該容器所在Pod的Endpoint.

二:LivenessProbe實現方式

1.ExecAction: 在容器內部執行一個命令,如果該命令的返回碼為0,則表面容器健康。

  1. apiVersion: v1

  2. kind: Pod

  3. metadata:

  4.   labels:

  5.     test: liveness

  6.   name: liveness-exec

  7. spec:

  8.   containers:

  9.   -  name:liveness

  10.     image:busybox

  11.     args:

  12.     -  /bin/sh

  13.     - -c

  14.     - echo ok > /tmp/health; sleep 10; rm -rf /tmp/health; sleep 600

  15.     livenessProbe:

  16.       exec:

  17.         command:

  18.         - cat

  19.         - /tmp/health

  20.     initialDelaySeconds: 15

  21.     timeoutSeconds: 1

通過執行“cat /tmp/health”命令來判斷一個容器運行是否正常。而該Pod運行之后,在創建/tmp/health文件的10s之后將刪除該文件,而LivenessProbe健康檢查的初始探測時間(initialDelaySeconds)為15s,探測結果將是Fail,將導致kubelet殺掉該容器并重啟它。

2.TCPSocketAction: 通過容器的IP地址和端口號執行TCP檢查,如果能夠建立TCP連接,則表面容器健康。

  1. apiVersion: v1

  2. kind: Pod

  3. metadata:

  4.   name: pod-with-healthcheck

  5. spec:

  6.   containers:

  7.   - name: nginx

  8.     image: nginx

  9.     ports:

  10.     - containerPort: 80

  11.   livenessProbe:

  12.     tcpSocket:

  13.       port: 80

  14.     initialDelaySeconds: 30

  15.     timeoutSeconds: 1

3. HTTPGetAction: 通過容器的IP地址,端口號及路徑調用HTTP Get方法,如果響應的狀態碼大于等于200且小于400,則認為容器狀態健康。


  1. apiVersion: v1

  2. kind: Pod

  3. metadata:

  4.   name: pod-with-healthcheck

  5. spec:

  6.   containers:

  7.   - name: nginx

  8.     image: nginx

  9.     ports:

  10.     - containerPort: 80

  11.   livenessProbe:

  12.     httpGet:

  13.       port: 80

  14.       path: /_status/healthz

  15.     initialDelaySeconds: 30

  16.     timeoutSeconds: 1

kubelet定時發送HTTP請求到localhost:80/_status/healthz來進行容器應用的健康檢查。

三:說明

1.initialDelaySeconds:啟動容器后進行首次健康檢查的等待時間,單位為s
2.timeoutSeconds: 健康檢查發送請求后等待響應的超時時間,單位為s. 當超時發生時,kubelet會認為容器已經無法提供服務,將會重啟該容器。

以上是“kubernetes中如何實現Pod健康檢查”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

津南区| 五华县| 太保市| 永寿县| 托克托县| 长治市| 屏东县| 嵩明县| 吴川市| 清远市| 长沙县| 新丰县| 电白县| 霍林郭勒市| 珠海市| 和平区| 岑溪市| 丰原市| 连江县| 南部县| 城市| 灵璧县| 武鸣县| 四川省| 绥德县| 吴江市| 祁门县| 平度市| 东山县| 合肥市| 新田县| 通山县| 来安县| 温州市| 新营市| 金沙县| 泰和县| 静海县| 类乌齐县| 齐河县| 凉城县|