文 / 毛智偉 漢得能效中臺中心
Choerodon豬齒魚實(shí)踐之健康檢查
Choerodon 是一個開源多云應(yīng)用敏捷全鏈路技術(shù)平臺,通過使用 Kubernetes 來部署和升級應(yīng)用,而在集群中部署應(yīng)用時,像忘記配置資源請求或忘記配置限制這樣簡單的事情就可能破壞自動伸縮,甚至導(dǎo)致工作負(fù)載耗盡資源。因此,保證集群的穩(wěn)定運(yùn)行十分必要。
基于這個目的,Choerodon團(tuán)隊(duì)通過借鑒 Polaris 健康檢查的實(shí)現(xiàn)原理,并結(jié)合自身業(yè)務(wù)需求,在 Agent 組件中實(shí)現(xiàn)了一套自己的健康檢查規(guī)則,既能從集群的維度查看其中可能影響穩(wěn)定性、可靠性、可伸縮性和安全性的配置問題,也支持檢測某個環(huán)境某個實(shí)例中具體的配置問題,從而達(dá)到監(jiān)控集群和監(jiān)控環(huán)境健康狀態(tài)的目的。
本文旨在為大家介紹Choerodon V0.21版本中的健康檢查功能。
集群健康檢查
check
執(zhí)行健康檢查
在Choerodon平臺中,選擇一個存在關(guān)聯(lián)環(huán)境且狀態(tài)為“運(yùn)行中”的集群,進(jìn)入“集群管理-健康檢查”的頁面后,點(diǎn)擊頁面中的“掃描”按鈕,即可執(zhí)行該集群的健康檢查。
在此過程中,Polaris支持的檢測類型有:Health Checks、Images、Networking、Resources、Security;檢測完畢之后,會將這些分類中所有的配置項(xiàng)分為 passed、warning 以及error 三個狀態(tài),分別代表檢測通過、警告和錯誤的狀態(tài)。
若想詳細(xì)了解各分類中所包含的默認(rèn)配置項(xiàng),請參考Polaris - Kubernetes最佳實(shí)踐之配置校驗(yàn)。
查看健康檢查結(jié)果
健康檢查執(zhí)行成功后,便能從“集群概覽”和“環(huán)境詳情”兩個維度查看存在配置項(xiàng)的問題(即狀態(tài)為warning和error的配置項(xiàng))。界面上的健康分值,是根據(jù)passed狀態(tài)配置項(xiàng)的占比計(jì)算得來的。需要注意的是,各類詳情下,只會展示出warning與 error狀態(tài)的配置項(xiàng)。
通過檢測得出的結(jié)果(尤其是存在error狀態(tài)配置項(xiàng)的分類),集群管理員可以及時的捕捉到集群中存在的問題與隱患,并快速地進(jìn)行修復(fù)。
健康分值= passed配置項(xiàng)數(shù)量/(passed配置項(xiàng)數(shù)量+1/2warning配置項(xiàng)數(shù)量+error配置項(xiàng)數(shù)量)
集群概覽
“集群概覽”維度支持查看集群中各個分類的配置項(xiàng)問題,主要分為了:健康檢查、鏡像檢查、網(wǎng)絡(luò)配置、資源分配以及安全這五類,并可以分別查看各個分類下有問題的配置項(xiàng)(warning與 error狀態(tài)的配置項(xiàng))及其所屬的環(huán)境。
環(huán)境詳情
“環(huán)境詳情”維度則支持查看集群中所有環(huán)境(包括Choerodon平臺環(huán)境與非Choerodon平臺環(huán)境)中存在問題的配置項(xiàng)(warning與 error狀態(tài)的配置項(xiàng))。
環(huán)境健康檢查
check
執(zhí)行健康檢查
通過以上內(nèi)容,我們知道了集群管理員如何在集群中執(zhí)行健康檢查操作,以此來監(jiān)控集群的健康狀態(tài)。那在環(huán)境層,環(huán)境管理員(運(yùn)維人員)又如何對環(huán)境的健康狀態(tài)進(jìn)行監(jiān)控呢?
針對這個問題,我們在“部署-資源-實(shí)例視圖-環(huán)境層”中,也新增了“健康檢查”的功能,用來檢測環(huán)境下所有實(shí)例的配置項(xiàng)問題。其中包括了對Deployments、StatefulSets、DaemonSets 、Jobs、CronJobs以及ReplicationControllers的檢測。(注意:在進(jìn)行掃描之前,請確保環(huán)境中已有實(shí)例資源,并且該環(huán)境為“運(yùn)行中”狀態(tài))
查看健康檢查結(jié)果
健康檢查執(zhí)行成功之后,會將這些分類中所有的配置項(xiàng)分為 passed、warning 以及error 三個狀態(tài),分別代表檢測通過、警告和錯誤的狀態(tài)。并在各個實(shí)例下方,展示出有問題的配置項(xiàng)(warning與 error狀態(tài)的配置項(xiàng))。此外,對于含有“error”狀態(tài)配置項(xiàng)的實(shí)例和對象,會在其名稱后面標(biāo)出警示標(biāo)志。
界面上健康分值的計(jì)算方式,和上文中集群的一致。環(huán)境管理員通過有問題的配置項(xiàng),便能及時地定位與解決問題,從而避免造成更大的損失。
總結(jié)
conclusion
健康檢查功能是集群與環(huán)境監(jiān)控模塊中重要的一環(huán),能夠幫助運(yùn)維人員實(shí)時地檢測出集群與環(huán)境中,可能影響穩(wěn)定性、可靠性、可伸縮性和安全性的配置問題,以此來保證集群與環(huán)境的穩(wěn)定運(yùn)行。
關(guān)于Choerodon 豬齒魚
Choerodon 豬齒魚作為開源多云應(yīng)用敏捷全鏈路技術(shù)平臺,是基于開源技術(shù)Kubernetes,Istio,knative,Gitlab,Spring Cloud來實(shí)現(xiàn)本地和云端環(huán)境的集成,實(shí)現(xiàn)企業(yè)多云/混合云應(yīng)用環(huán)境的一致性。平臺通過提供精益敏捷、持續(xù)交付、容器環(huán)境、微服務(wù)、DevOps等能力來幫助組織團(tuán)隊(duì)來完成軟件的生命周期管理,從而更快、更頻繁地交付更穩(wěn)定的軟件。
————
Choerodon 豬齒魚v0.21已經(jīng)發(fā)布,歡迎大家前來安裝/升級。
安裝文檔:
http://choerodon.io/zh/docs/installation-configuration/steps/
升級文檔:
http://choerodon.io/zh/docs/installation-configuration/update/0.20-to-0.21/
大家也可以通過以下社區(qū)途徑了解豬齒魚的最新動態(tài)、產(chǎn)品特性,以及參與社區(qū)貢獻(xiàn):
官網(wǎng):http://choerodon.io
Github:https://github.com/choerodon
歡迎加入 Choerodon 豬齒魚社區(qū)
共同為企業(yè)數(shù)字化服務(wù)打造開放的生態(tài)平臺
即時獲取行業(yè)干貨及最新資訊
企業(yè)級技術(shù)中臺,應(yīng)用微服務(wù)、容器、DevOps等云原生技術(shù),封裝大量技術(shù)開發(fā)包、技術(shù)應(yīng)用組件、技術(shù)場景實(shí)現(xiàn)能力,為企業(yè)服務(wù)化中臺整合、數(shù)字化轉(zhuǎn)型提供強(qiáng)力支撐,也為企業(yè)提供最佳架構(gòu)實(shí)踐
企業(yè)級數(shù)字化平臺,幫助企業(yè)提升核心競爭力,沉淀業(yè)務(wù)能力,服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型,賦能業(yè)務(wù)創(chuàng)新,構(gòu)建企業(yè)信息化生態(tài)