什么是TKE容器服務(wù)?
騰訊云容器服務(wù)(Tencent Kubernetes Engine,TKE)是基于原生kubernetes提供以容器為核心的、高度可擴(kuò)展的高性能容器管理服務(wù),您可以在托管的云服務(wù)器實(shí)例集群上輕松運(yùn)行應(yīng)用程序。同時(shí)騰訊云也提供彈性容器服務(wù)(Elastic Kubernetes Service,EKS)和邊緣容器服務(wù)(Tencent Kubernetes Engine for Edge,TKE Edge),方便您按需選擇。
TKE容器服務(wù):https://cloud.tencent.com/product/tke
TKE容器服務(wù)事件日志大洞察
集群內(nèi)的狀況層出不窮,變化莫測(cè),如節(jié)點(diǎn)狀態(tài)異常,Pod重啟等,如果無法第一時(shí)間感知狀況,會(huì)錯(cuò)過最佳的問題處理時(shí)間,待問題擴(kuò)大,影響到業(yè)務(wù)時(shí)才發(fā)現(xiàn)往往已經(jīng)為時(shí)已晚。
而事件日志(Event)記錄了全面的集群狀態(tài)變更信息,不僅可以幫助用戶第一時(shí)間發(fā)現(xiàn)問題,也是排查問題的最佳幫手。
什么是事件日志?
事件(Event)是Kubernetes中眾多資源對(duì)象中的一員,通常用來記錄集群內(nèi)發(fā)生的狀態(tài)變更,大到集群節(jié)點(diǎn)異常,小到Pod啟動(dòng)、調(diào)度成功等等。我們常用的kubectl describe命令就可以查看相關(guān)資源的事件信息。
事件日志字段說明
·級(jí)別(Type):目前僅有“Normal”和“Warning”,但是如果需要,可以使用自定義類型。
·資源類型/對(duì)象(Involved Object):事件所涉及的對(duì)象,例如Pod,Deployment,Node等。
·事件源(Source):報(bào)告此事件的組件;如Scheduler、Kubelet等。
·內(nèi)容(Reason):當(dāng)前發(fā)生事件的簡短描述,一般為枚舉值,主要在程序內(nèi)部使用。
·詳細(xì)描述(Message):當(dāng)前發(fā)生事件的詳細(xì)描述信息。
·出現(xiàn)次數(shù)(Count):事件發(fā)生的次數(shù)。
如何使用事件日志去排查問題
日志服務(wù)CLS提供針對(duì)kubernetes事件日志的一站式服務(wù),包含采集,存儲(chǔ),檢索分析能力。用戶僅需一鍵開啟集群事件日志功能,即可獲取開箱即用的事件日志可視化分析儀表盤。通過可視化的圖表,用戶可以輕松通過控制臺(tái)解決大多數(shù)常見的運(yùn)維問題。
什么是CLS日志服務(wù)?
日志服務(wù)(Cloud Log Service,CLS)是騰訊云提供的一站式日志服務(wù)平臺(tái),提供了從日志采集、日志存儲(chǔ)到日志檢索,圖表分析、監(jiān)控告警、日志投遞等多項(xiàng)服務(wù),協(xié)助用戶通過日志來解決業(yè)務(wù)運(yùn)維、日志運(yùn)營、服務(wù)監(jiān)控、日志審計(jì)等場(chǎng)景問題。
CLS日志服務(wù):https://cloud.tencent.com/product/cls
場(chǎng)景1:一臺(tái)Node節(jié)點(diǎn)出現(xiàn)異常,定位原因
進(jìn)入TKE容器服務(wù)控制臺(tái),點(diǎn)擊左側(cè)菜單中【集群運(yùn)維】>【事件檢索】。在【事件檢索】頁面,點(diǎn)擊【事件總覽】,在過濾項(xiàng)中輸入異常節(jié)點(diǎn)名稱。
查詢結(jié)果顯示,有一條`節(jié)點(diǎn)磁盤空間不足`的事件記錄查詢結(jié)果如下圖:
進(jìn)一步查看異常事件趨勢(shì)
可以發(fā)現(xiàn),2020-11-25號(hào)開始,節(jié)點(diǎn)172.16.18.13由于磁盤空間不足導(dǎo)致節(jié)點(diǎn)異常,此后kubelet開始嘗試驅(qū)逐節(jié)點(diǎn)上的pod以回收節(jié)點(diǎn)磁盤空間;
場(chǎng)景2:節(jié)點(diǎn)觸發(fā)擴(kuò)容了,用戶需要對(duì)擴(kuò)容過程進(jìn)行回溯,以確定具體原因
開啟了節(jié)點(diǎn)池「彈性伸縮」的集群,CA(cluster-autoscler)組件會(huì)根據(jù)負(fù)載狀況自動(dòng)對(duì)集群中節(jié)點(diǎn)數(shù)量進(jìn)行增減。如果集群中的節(jié)點(diǎn)發(fā)生了自動(dòng)擴(kuò)(縮)容,用戶可通過事件檢索對(duì)整個(gè)擴(kuò)(縮)容過程進(jìn)行回溯。
在【事件檢索】頁面,點(diǎn)擊【全局檢索】,輸入以下檢索命令:
event.source.component:"cluster-autoscaler
在左側(cè)隱藏字段中選擇`event.reason`、`event.message`、`event.involvedObject.name`、`event.involvedObject.name`進(jìn)行顯示,將查詢結(jié)果按照`日志時(shí)間`倒序排列,結(jié)果如下圖所示:
通過上圖的事件流水,可以看到節(jié)點(diǎn)擴(kuò)容操作在2020-11-25 20:35:45左右,分別由三個(gè)nginx Pod(nginx-5dbf784b68-tq8rd、nginx-5dbf784b68-fpvbx、nginx-5dbf784b68-v9jv5)觸發(fā),最終擴(kuò)增了3個(gè)節(jié)點(diǎn),后續(xù)的擴(kuò)容由于達(dá)到節(jié)點(diǎn)池的最大節(jié)點(diǎn)數(shù)沒有再次觸發(fā)。
了解更多
容器服務(wù)TKE基于日志服務(wù)CLS為用戶提供了開箱即用的事件日志持久化能力和事件儀表盤功能。在集群開啟事件存儲(chǔ)功能后,TKE將自動(dòng)為集群配置各類事件總覽大盤和異常事件的聚合檢索分析儀表盤。
還支持用戶自定義配置過濾項(xiàng),同時(shí)內(nèi)置CLS的事件全局檢索,實(shí)現(xiàn)在容器服務(wù)控制臺(tái)全面觀測(cè)、查找、分析、定位問題的能力。