真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么掌握SpringBoot-2.3的容器探針

今天就跟大家聊聊有關(guān)怎么掌握SpringBoot-2.3的容器探針,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元鏡湖做網(wǎng)站,已為上家服務(wù),為鏡湖各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

探針特性的官方信息

  • 如下圖紅框所示,2.3版本的容器探針特性早在預(yù)覽版(v2.3.0.M4)就已經(jīng)發(fā)布: 怎么掌握SpringBoot-2.3的容器探針

  • 如今v2.3.0.RELEASE已發(fā)布,可以放心的學(xué)習(xí)和使用該特性了,首先把基礎(chǔ)知識(shí)點(diǎn)列出來,確保準(zhǔn)備工作OK;

知識(shí)點(diǎn)整理

下面是掌握探針技術(shù)所需的基礎(chǔ)知識(shí),也是本文的主要內(nèi)容:

  1. kubernetes的存活探針livenessProbe

  2. kubernetes的就緒探針readinessProbe;

  3. SpringBoot的actuator;

接下來逐個(gè)學(xué)習(xí),有了這些知識(shí)積累,我們才能更好的閱讀官方資料,開發(fā)適合自己業(yè)務(wù)場(chǎng)景的探針;

kubernetes的存活探針livenessProbe

  1. kubernetes的探針涉及的內(nèi)容是很多的,這里只提和SpringBoot相關(guān)的部分;

  2. kubelet 使用存活探針livenessProbe來知道什么時(shí)候要重啟容器;

  3. 下圖是kubernetes官網(wǎng)的存活探針示例,幾個(gè)關(guān)鍵參數(shù)已經(jīng)做了詳細(xì)說明:

怎么掌握SpringBoot-2.3的容器探針

  1. 可見如果我們的SpringBoot應(yīng)用發(fā)布到kubernetes環(huán)境,只要應(yīng)用還健康,livenessProbe對(duì)應(yīng)的地址就要能響應(yīng)200-400的返回碼;

kubernetes的就緒探針readinessProbe

  1. 有時(shí)候,應(yīng)用程序會(huì)暫時(shí)性的不能提供通信服務(wù)。例如,應(yīng)用程序在啟動(dòng)時(shí)可能需要加載很大的數(shù)據(jù)或配置文件,或是啟動(dòng)后要依賴等待外部服務(wù)。在這種情況下,既不想殺死應(yīng)用程序,也不想給它發(fā)送請(qǐng)求。Kubernetes 提供了就緒探測(cè)器來發(fā)現(xiàn)并緩解這些情況。容器所在 Pod 上報(bào)還未就緒的信息,并且不接受通過 Kubernetes Service 的流量。

  2. 就緒探測(cè)器的配置和存活探測(cè)器的配置相似,唯一區(qū)別就是要使用 readinessProbe字段,而不是 livenessProbe 字段;

  3. 簡(jiǎn)單的說,就緒探針正常的容器,k8s就認(rèn)為是可以對(duì)外提供服務(wù)的,相應(yīng)的請(qǐng)求也會(huì)被調(diào)度到該容器上來;

SpringBoot的actuator

  1. 簡(jiǎn)單來說,actuator是用來幫助用戶監(jiān)控和操作SprinBoot應(yīng)用的,這些監(jiān)控和操作都可以通過http請(qǐng)求實(shí)現(xiàn),如下圖,http://localhost:8080/actuator/health 地址返回的是應(yīng)用的健康狀態(tài):

怎么掌握SpringBoot-2.3的容器探針

  1. 下面是常用的actuator地址,訪問不同的地址可以得到不同的信息:

怎么掌握SpringBoot-2.3的容器探針

  1. 在SpringBoot-2.3版本中,actuator新增了兩個(gè)地址:/actuator/health/liveness/actuator/health/readiness,前者用作kubernetes的存活探針,后者用作kubernetes的就緒探針

畫外音:SpringBoot的探針技術(shù)就這點(diǎn)東西?

  1. 文章看到這里,您可能覺得索然無味:所謂的容器探針特性如此簡(jiǎn)單,新增兩個(gè)actuator地址留給kubernetes的存活和就緒探針用,只要這兩個(gè)地址響應(yīng)正常,kubernetes就判定該容器正常;

  2. 大多數(shù)時(shí)候,上述結(jié)論并無不妥,SpringBoot官方給出的推薦配置如下圖,我們只要照搬即可:

怎么掌握SpringBoot-2.3的容器探針

  1. 冷靜下來仔細(xì)思考,有三個(gè)問題似乎沒有解決:

  • 首先,SpringBoot為kubernetes提供了兩個(gè)actuator項(xiàng),但是那些并未部署在kubernetes的SringBoot應(yīng)用呢?用不上這兩項(xiàng)也要對(duì)外暴露這兩個(gè)服務(wù)地址嗎?

  • 其次,就緒探針是什么時(shí)候開始返回200返回碼的?應(yīng)用啟動(dòng)階段,業(yè)務(wù)服務(wù)可能需要一段時(shí)間才能正常工作,就緒探針要是提前返回了200,那k8s就認(rèn)為容器可以正常工作了,這時(shí)候把外部請(qǐng)求調(diào)度過來是無法正常響應(yīng)的,所以搞清楚就緒探針的狀態(tài)變化邏輯很重要;

  • 最后,也是最重要的一點(diǎn):有的場(chǎng)景下,例如外部依賴服務(wù)異常、本地全局異常等情況下,業(yè)務(wù)不想對(duì)外提供服務(wù),等到問題解決后業(yè)務(wù)又可以對(duì)外提供服務(wù)了,如果此時(shí)我們能自己寫代碼控制就緒探針的返回碼,那就做到了控制kubernetes是否將外部請(qǐng)求調(diào)度到此容器上,這可是個(gè)很實(shí)用的功能!

看完上述內(nèi)容,你們對(duì)怎么掌握SpringBoot-2.3的容器探針有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享名稱:怎么掌握SpringBoot-2.3的容器探針
當(dāng)前地址:http://weahome.cn/article/jejdjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部