容器与云原生

使用 stern 查看 k8s 多 Pods 日志

JACIN··4 分钟阅读

命令:

text
# 1. 切换到临时目录
cd /tmp

# 2. 下载压缩包 (使用 -L 处理 GitHub 重定向)
curl -LO https://github.com/stern/stern/releases/download/v1.33.1/stern_1.33.1_linux_amd64.tar.gz

# 3. 解压压缩包
tar -zxvf stern_1.33.1_linux_amd64.tar.gz

# 4. 将解压出来的 stern 二进制文件移动到系统目录
chmod +x stern
mv stern /usr/local/bin/

# 5. 验证是否安装成功
stern --version

因为 stern(和 kubectl 一样)默认会去读取你本机的 K8s 配置文件。

text
# 试试直接指定路径执行
stern ragapi --tail 50 --kubeconfig /etc/rancher/k3s/k3s.yaml

设置环境变量(永久生效)

text
echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> ~/.bashrc
source ~/.bashrc

这样日志就可以了:

text
stern ragapi --tail 20

使用好处:

  • 色彩分明stern 给每个 Pod 分配一个颜色。比如 ragapi-web-1 是绿色,ragapi-web-2 是蓝色。你一眼就能看到是哪个 Pod 报错了。
  • 自动“追踪”新 Pod:如果你执行 kubectl rollout restart,旧 Pod 消失,新 Pod 启动。
  • kubectl 的日志流会直接断掉,你得重新运行命令。
  • stern 会自动发现新 Pod 并把日志接上来。
text
# 只看带有 "error" 或者 "exception" 关键字的聚合日志
stern ragapi -i "error|exception"

# 假设你的 API 日志里有很多 GET /health 之类的,可以反向过滤
stern ragapi -v "GET /health"

评论

还没有评论,来发第一个吧