在Debian上查看Kubernetes(K8s)集群中的日志有多種方法,以下是一些常用的工具和步驟:
Kubetail是一個簡單的Shell腳本,能夠將來自多個Pod的日志聚合到一個流中進行展示,并支持色彩和條件過濾。
對于使用Homebrew的用戶:
brew tap johanhaleby/kubetail && brew install kubetail
對于Linux用戶,可以從Kubetail的GitHub頁面下載最新版本的安裝包,并進行安裝。
查詢特定命名空間下特定Pod的日志:
kubetail msgcenter-backend -n default
查詢特定命名空間下特定Pod的前5分鐘日志:
kubetail msgcenter-backend -n default -s 5m
對日志內容進行色彩標注:
kubetail dp-manager-backend,msgcenter-backend -k pod
指定命名空間查詢:
kubetail loki-0 -n loki-stack
使用正則表達式過濾日志:
kubetail "^app1|.*my-demo.*" --regex
Stern是一個用Go語言開發的開箱即用的工具,功能比Kubetail更強大,也支持彩色輸出和條件過濾。
對于使用Homebrew的用戶:
brew install stern
對于使用Krew的用戶:
kubectl krew install stern
對于使用asdf的用戶:
asdf plugin-add stern
Stern的使用方法與Kubetail類似,可以通過命令行參數來指定要跟蹤的Pod、容器、命名空間等。
ELK Stack是一個流行的日志收集和分析系統。通過Filebeat和Logstash可以收集K8s集群中的日志,并使用Kibana進行展示。
一般情況下,容器中的日志會輸出到/var/log/pods/
目錄下,具體日志文件可以通過軟鏈接訪問。
需要在每個節點上部署Filebeat,并配置它來收集日志文件或日志輸出到標準輸出/錯誤輸出。
以上就是在Debian上查看K8s日志的一些方法,可以根據實際需求選擇合適的工具。