當前位置:
首頁 > 最新 > 在 Scale Up 中使用 Health Check-每天5分鐘玩轉 Docker 容器技術

在 Scale Up 中使用 Health Check-每天5分鐘玩轉 Docker 容器技術

第145篇

在 Scale Up 中使用 Health Check

對於多副本應用,當執行 Scale Up 操作時,新副本會作為 backend 被添加到 Service 的負責均衡中,與已有副本一起處理客戶的請求。考慮到應用啟動通常都需要一個準備階段,比如載入緩存數據,連接資料庫等,從容器啟動到正真能夠提供服務是需要一段時間的。我們可以通過 Readiness 探測判斷容器是否就緒,避免將請求發送到還沒有 ready 的 backend。

下面是示例應用的配置文件。

重點關注部分。這裡我們使用了不同於的另一種探測方法 --。Kubernetes 對於該方法探測成功的判斷條件是 http 請求的返回代碼在 200-400 之間。

指定協議,支持(默認值)和。

指定訪問路徑。

指定埠。

上面配置的作用是:

容器啟動 10 秒之後開始探測。

如果返回代碼不是 200-400,表示容器沒有就緒,不接收 Service的請求。

每隔 5 秒再探測一次。

直到返回代碼為 200-400,表明容器已經就緒,然後將其加入到的負責均衡中,開始處理客戶請求。

探測會繼續以 5 秒的間隔執行,如果連續發生 3 次失敗,容器又會從負載均衡中移除,直到下次探測成功重新加入。

對於,應用則可以實現自己的判斷邏輯,比如檢查所依賴的資料庫是否就緒,示例代碼如下:

① 定義的處理函數。

② 連接資料庫並執行測試 SQL。

③ 測試成功,正常返回,代碼 200。

④ 測試失敗,返回錯誤代碼 503。

⑤ 在 8080 埠監聽。

對於生產環境中重要的應用都建議配置 Health Check,保證處理客戶請求的容器都是準備就緒的 Service backend。

以上是 Health Check 在 Scale Up 中的應用,下一節我們討論在 Rolling Update 中如果應用。

書籍:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CloudMan 的精彩文章:

TAG:CloudMan |