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