在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日志的一些方法,可以根据实际需求选择合适的工具。