跳转到内容

发布 Kubetail CLI "logs" 命令

为了让 Kubernetes 上多容器工作负载的监控和调试更加便捷,我们在 Kubetail CLI 工具中新增了 logs 命令。通过新的 logs 命令,您可以直接在终端中实时 grep Kubernetes 工作负载的日志,还可以按时间范围以及节点、可用区等来源属性进行过滤。

安装 Kubetail CLI 工具,请从发布页面下载,或使用 Homebrew:

Terminal window
brew install kubetail

以下是新 logs 命令的一些使用示例:

Terminal window
# Tail 'web' deployment in the 'default' namespace
kubetail logs deployments/web
# Tail 'web' deployment in the 'frontend' namespace
kubetail logs frontend:deployments/web
# Return last 100 records
kubetail logs deployments/web --tail=100
# Return first 100 records
kubetail logs deployments/web --head=100
# Stream new records
kubetail logs deployments/web --follow
# Return all records
kubetail logs deployments/web --all
# Return first 10 records starting from 30 minutes ago
kubetail logs deployments/web --since PT30M
# Return last 10 records leading up to 30 minutes ago
kubetail logs deployments/web --until PT30M
# Return first 10 records between two exact timestamps
kubetail logs deployments/web --since 2006-01-02T15:04:05Z07:00 --until 2007-01-02T15:04:05Z07:00
# Return last 10 records that match "GET /about"
kubetail logs deployments/web --grep "GET /about" --force
# Return first 10 records that match "GET /about"
kubetail logs deployments/web --grep "GET /about" --head --force
# Return last 10 records that match "GET /about" or "GET /contact"
kubetail logs deployments/web --grep "GET /(about|contact)" --force
# Stream new records that match "GET /about"
kubetail logs deployments/web --grep "GET /about" --follow --force

logs 命令使用本地 kube config 文件进行集群认证,切换集群只需更改 kube config 上下文即可。也可以使用 --kube-context 标志:

Terminal window
kubetail logs --kube-context minikube deployments/web

需要注意的是,使用 --grep 时必须同时使用 --force。这是因为过滤在客户端进行,工具会持续从集群下载日志,直到找到所需数量的匹配项。这可能导致意外的大量下载,因此我们添加了二次标志确认机制。我们正在开发新功能来解决此问题。

欢迎试用新的 logs 命令,并告诉我们您的使用体验!