這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在Rolling Update中使用Health Check,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計制作的公司,為廣大用戶提供了做網(wǎng)站、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,廣告投放,成都做網(wǎng)站選創(chuàng)新互聯(lián),貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
Health Check 另一個重要的應(yīng)用場景是 Rolling Update。試想一下下面的情況:
現(xiàn)有一個正常運行的多副本應(yīng)用,接下來對應(yīng)用進行更新(比如使用更高版本的 image),Kubernetes 會啟動新副本,然后發(fā)生了如下事件:
正常情況下新副本需要 10 秒鐘完成準(zhǔn)備工作,在此之前無法響應(yīng)業(yè)務(wù)請求。
但由于人為配置錯誤,副本始終無法完成準(zhǔn)備工作(比如無法連接后端數(shù)據(jù)庫)。
先別繼續(xù)往下看,現(xiàn)在請花一分鐘思考這個問題:如果沒有配置 Health Check,會出現(xiàn)怎樣的情況?
因為新副本本身沒有異常退出,默認(rèn)的 Health Check 機制會認(rèn)為容器已經(jīng)就緒,進而會逐步用新副本替換現(xiàn)有副本,其結(jié)果就是:當(dāng)所有舊副本都被替換后,整個應(yīng)用將無法處理請求,無法對外提供服務(wù)。如果這是發(fā)生在重要的生產(chǎn)系統(tǒng)上,后果會非常嚴(yán)重。
如果正確配置了 Health Check,新副本只有通過了 Readiness 探測,才會被添加到 Service;如果沒有通過探測,現(xiàn)有副本不會被全部替換,業(yè)務(wù)仍然正常進行。
下面通過例子來實踐 Health Check 在 Rolling Update 中的應(yīng)用。
用如下配置文件 app.v1.yml
模擬一個 10 副本的應(yīng)用:
10 秒后副本能夠通過 Readiness 探測。
很顯然,由于新副本中不存在 /tmp/healthy
,是無法通過 Readiness 探測的。驗證如下:
如果滾動更新失敗,可以通過 kubectl rollout undo
回滾到上一個版本。
本章我們討論了 Kubernetes 健康檢查的兩種機制:Liveness 探測和 Readiness 探測,并實踐了健康檢查在 Scale Up 和 Rolling Update 場景中的應(yīng)用。
上述就是小編為大家分享的如何在Rolling Update中使用Health Check了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:如何在RollingUpdate中使用HealthCheck
當(dāng)前路徑:http://chinadenli.net/article46/gieeeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信公眾號、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計公司、域名注冊、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)