成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Kubernetes進(jìn)行健康檢查

王巖威 / 1311人閱讀

摘要:健康檢查被分成和。告訴在看到啟動(dòng)之后要延遲開(kāi)啟健康檢查,并說(shuō)清楚延遲幾秒。會(huì)告訴應(yīng)該為健康檢查等待多長(zhǎng)時(shí)間。

這篇文章我們來(lái)聊Kubernetes的健康檢查,以及不同健康檢查是如何影響你的應(yīng)用程序的。

Liveness Probes

Kubernetes健康檢查被分成 liveness和readiness probes。liveness probes是用來(lái)檢測(cè)你的應(yīng)用程序是否正在運(yùn)行。通常情況下,你的程序一崩潰,Kubernetes就會(huì)看到這個(gè)程序已經(jīng)終止,然后重啟這個(gè)程序。但是liveness probes的目的就是捕捉到當(dāng)程序還沒(méi)有終止,還沒(méi)有崩潰或者還沒(méi)陷入死鎖的情況。所以一個(gè)簡(jiǎn)單的HTTP回應(yīng)能夠滿足。

以下是一個(gè)我使用的為Go應(yīng)用程序使用健康檢查的例子。

在配置中

上圖就是告訴Kubernetes,應(yīng)用程序正在運(yùn)行。initialDelaySeconds 告訴Kubernetes在看到pod啟動(dòng)之后要延遲開(kāi)啟健康檢查,并說(shuō)清楚延遲幾秒。如果你的應(yīng)用程序需要一些時(shí)間來(lái)啟動(dòng),你可以用這個(gè)設(shè)置來(lái)幫助它。timeoutSeconds會(huì)告訴Kubernetes應(yīng)該為健康檢查等待多長(zhǎng)時(shí)間。對(duì)于liveness probes,這個(gè)時(shí)間不能太長(zhǎng),但是萬(wàn)一有欠載的情況,你就真的需要給你的應(yīng)用足夠的時(shí)間來(lái)回應(yīng)。

如果應(yīng)用程序從未啟動(dòng),或者回應(yīng)過(guò)來(lái)一個(gè)HTTP錯(cuò)誤代碼,那么之后Kubernetes就會(huì)重新啟動(dòng)pod。你最好不要在liveness probes中進(jìn)行太炫酷的什么動(dòng)作,想都不要想,因?yàn)橐坏﹍iveness probes功能開(kāi)始失效的話,這會(huì)引起你的應(yīng)用程序錯(cuò)誤。

Readiness Probes

Readiness Probes跟liveness probes十分相似,只有失效檢測(cè)的結(jié)果是不一樣的。Readiness Probes是用來(lái)檢查你的應(yīng)用程序是否可以為通信服務(wù)。這跟liveness有些微妙的不同。比如,你的應(yīng)用程序取決于數(shù)據(jù)庫(kù)與memcached。如果上面兩個(gè)都在良好狀態(tài),為你的應(yīng)用提供通信,然后你就可以說(shuō)這兩個(gè)都是你的應(yīng)用的“readiness”。

如果你的應(yīng)用的readness probe運(yùn)行失敗,那么pod就會(huì)從組成service的端點(diǎn)被刪除。這樣的話,沒(méi)有準(zhǔn)備好的pods就不會(huì)有流量通信通過(guò)Kubernetes服務(wù)發(fā)現(xiàn)機(jī)制來(lái)發(fā)送給他們。當(dāng)遇到service的新pod啟動(dòng)時(shí);拓展events時(shí),滾動(dòng)更新等狀態(tài)的時(shí)候,這個(gè)狀態(tài)十分有幫助。Readiness probes確認(rèn)在pods開(kāi)啟的時(shí)候pods沒(méi)有被發(fā)通信,還有他們處于待服務(wù)通信的時(shí)候也沒(méi)有。

Readiness probe的定義跟liveness probes的定義一樣。Readiness probes被定義為Deployment的一部分,比如像這樣:

你是不是想要檢驗(yàn)一下是否可以在你的readiness probe中連接到你的應(yīng)用程序的依賴。以我們依賴數(shù)據(jù)庫(kù)為例,我們想要檢查我們是否能夠連接到兩者。

情況看起來(lái)應(yīng)該是這樣的(下圖所示)。我檢查memcached和數(shù)據(jù)庫(kù),如果有一個(gè)不可得,那么我就會(huì)回復(fù)一個(gè)503回應(yīng)狀態(tài)。

更穩(wěn)定的應(yīng)用程序

Liveness和Readiness probes對(duì)增加應(yīng)用程序的穩(wěn)定性很有幫助。他們幫助確認(rèn)通信是否只流通到為它準(zhǔn)備的實(shí)例上,當(dāng)應(yīng)用變得無(wú)反應(yīng)的時(shí)候,自我治愈也是一樣。他們就是我同事所說(shuō)的叫做“12 Fractured Apps”的更好的解決方法。有了合適的健康檢查,你就能夠以任意順序配置你的應(yīng)用程序,不需要擔(dān)心相關(guān)性或者復(fù)雜的進(jìn)入點(diǎn)腳本。當(dāng)應(yīng)用程序準(zhǔn)備好的時(shí)候,他們會(huì)開(kāi)始服務(wù)通信,所以自動(dòng)調(diào)度和滾動(dòng)更新運(yùn)行得十分順利。

原文鏈接

如果需要轉(zhuǎn)載,請(qǐng)聯(lián)系我們哦,尊重知識(shí)產(chǎn)權(quán)人人有責(zé);)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32471.html

相關(guān)文章

  • 將 Node.js 應(yīng)用從 PaaS 平臺(tái)移動(dòng)到 Kubernetes Tutorial

    摘要:目前正在運(yùn)行的應(yīng)用程序。內(nèi)置非配置負(fù)載均衡器如何設(shè)置運(yùn)行的集群在這里你有幾個(gè)選項(xiàng)。它跟其它的谷歌云組件也都整合得很好,比如負(fù)載均衡器和磁盤(pán)。它會(huì)告訴負(fù)載均衡器,流量可以被重新傳到特定的。元信息和谷歌云會(huì)以正確的方式展現(xiàn)出來(lái)。 Kubernetes實(shí)踐案例分享|在這次的 RisingStack 案例分享中,我們可以在 Kubernetes Tutorial 中學(xué)習(xí)到如何從 PaaS 供應(yīng)...

    skinner 評(píng)論0 收藏0
  • k8s與健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

    摘要:在本文中,我們將討論,一種本地健康檢查應(yīng)用程序的方法。標(biāo)準(zhǔn)的健康檢查工具,可以輕松查詢健康協(xié)議。選擇二進(jìn)制版本并將其下載到中在你的中指定容器的。服務(wù)器健康檢查的代碼實(shí)現(xiàn),主要部分如下完整代碼,請(qǐng)查看倉(cāng)庫(kù)。 前言 GRPC正在成為云原生微服務(wù)之間通信的通用語(yǔ)言。如果您今天要將gRPC應(yīng)用程序部署到Kubernetes,您可能想知道配置運(yùn)行狀況檢查的最佳方法。在本文中,我們將討論grpc-...

    maochunguang 評(píng)論0 收藏0
  • k8s與健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

    摘要:在本文中,我們將討論,一種本地健康檢查應(yīng)用程序的方法。標(biāo)準(zhǔn)的健康檢查工具,可以輕松查詢健康協(xié)議。選擇二進(jìn)制版本并將其下載到中在你的中指定容器的。服務(wù)器健康檢查的代碼實(shí)現(xiàn),主要部分如下完整代碼,請(qǐng)查看倉(cāng)庫(kù)。 前言 GRPC正在成為云原生微服務(wù)之間通信的通用語(yǔ)言。如果您今天要將gRPC應(yīng)用程序部署到Kubernetes,您可能想知道配置運(yùn)行狀況檢查的最佳方法。在本文中,我們將討論grpc-...

    Maxiye 評(píng)論0 收藏0
  • k8s與健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

    摘要:在本文中,我們將討論,一種本地健康檢查應(yīng)用程序的方法。標(biāo)準(zhǔn)的健康檢查工具,可以輕松查詢健康協(xié)議。選擇二進(jìn)制版本并將其下載到中在你的中指定容器的。服務(wù)器健康檢查的代碼實(shí)現(xiàn),主要部分如下完整代碼,請(qǐng)查看倉(cāng)庫(kù)。 前言 GRPC正在成為云原生微服務(wù)之間通信的通用語(yǔ)言。如果您今天要將gRPC應(yīng)用程序部署到Kubernetes,您可能想知道配置運(yùn)行狀況檢查的最佳方法。在本文中,我們將討論grpc-...

    Tangpj 評(píng)論0 收藏0
  • 基于kubernetes的docker集群實(shí)踐

    摘要:健康監(jiān)控檢查,可以說(shuō)是集群中最重要的一部分了。我們?cè)谶@里沒(méi)有使用推薦的方式,我們自己將其與內(nèi)部的系統(tǒng)做了結(jié)合,通過(guò)來(lái)對(duì)整個(gè)集群進(jìn)行監(jiān)控報(bào)警自動(dòng)化操作。 在公司內(nèi)部,基于kubernetes實(shí)現(xiàn)了簡(jiǎn)單的docker應(yīng)用集群系統(tǒng),拿出來(lái)和大家分享下,在這個(gè)系統(tǒng)中,實(shí)現(xiàn)了應(yīng)用的自動(dòng)部署、動(dòng)態(tài)擴(kuò)容、節(jié)點(diǎn)切換、健康檢查、AB式版本更新等功能,也歡迎大家將各自的實(shí)現(xiàn)也分享給我。 整體架構(gòu) 整體架構(gòu)...

    meislzhua 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<