K8s日志查看利器之kubetail
【摘要】 一 背景Kubetail 是一个小型 bash 脚本,其能够将来自于多个 pod 的日志聚合到同一数据流中。Kubetail 的初始版本不提供过滤或高亮功能,但其目前已经在 GitHub 上添加了一个分支,该分支支持使用 multitail 工具构建日志并对日志着色。对于日常如果不借助日志系统,对于一个deployment多个副本,查看日志如果分多个终端查看单独对应一个pod非得的麻烦而且...
一 背景
Kubetail 是一个小型 bash 脚本,其能够将来自于多个 pod 的日志聚合到同一数据流中。Kubetail 的初始版本不提供过滤或高亮功能,但其目前已经在 GitHub 上添加了一个分支,该分支支持使用 multitail 工具构建日志并对日志着色。
对于日常如果不借助日志系统,对于一个deployment多个副本,查看日志如果分多个终端查看单独对应一个pod非得的麻烦而且不便于观察,此刻kubetail可以将多个pod日志进行聚合,非常方便日常查看。
二 安装部署
2.1 macos安装
brew tap johanhaleby/kubetail && brew install kubetail
2.2 Linux安装
wget https://github.com/johanhaleby/kubetail/archive/1.6.12.tar.gz
tar -zxvf 1.6.12.tar.gz
cd kubetail-1.6.12/
cp kubetail /usr/bin/
# 配置命令补全
cp completion/kubetail.bash /etc/bash_completion.d/
三 基本用法
- 语法
$ kubetail <search term> [-h] [-c] [-n] [-t] [-l] [-d] [-p] [-s] [-b] [-k] [-v] [-r] [-i]
- 参数解释:
-c:指定多容器 Pod 中的容器名称
-t:指定 Kubeconfig 文件中的 Context
-l:标签过滤器,使用 -l 参数之后,会忽略 Pod 名称
-n:指定命名空间
-s:指定返回一个相对时间之后的日志,例如 5s,2m 或者 3h,缺省是 10s
-b:是否使用 line-buffered,缺省为 false
-k:指定输出内容的具体着色部分,pod:只给 pod 名称上色,line:整行上色(缺省),false:不上色
- 实例:
$ kubetail my-pod-v1
$ kubetail my-pod-v1 -c my-container
$ kubetail my-pod-v1 -t int1-context -c my-container
$ kubetail '(service|consumer|thing)' -e regex
$ kubetail -l service=my-service
$ kubetail --selector service=my-service --since 10m
$ kubetail --tail 1
四 测试
xuel@kaliarchmacbookpro ~ kubectl get po -n default |grep smart
smart-bc8c658cf-6ffpx 2/2 Running 3 2d
smart-5f99d9bdcc-lqr8g 1/1 Running 0 84d
smart-765dbf6f-7fvjn 2/2 Running 0 84d
smart-765dbf6f-wjz42 2/2 Running 0 84d
# ns写在最后
xuel@kaliarchmacbookpro ~ kubetail smart-celery-765dbf6f -n default
Will tail 4 logs...
五 其他
kubetail可以非常方便的查看多个容器日志,其本身为shell脚本,安装非常方便,在没有使用日志系统查看日志的时候,登录集群使用kubetail一个deployment多个pod副本非常的方便。
六 参考链接
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)