コンテンツにスキップ

Kubetail CLI "logs" コマンドのリリース

Kubernetes 上のマルチコンテナワークロードの監視とデバッグを容易にするため、Kubetail CLI ツールに新しい logs コマンドを追加しました。新しい logs コマンドを使うと、ターミナルから Kubernetes ワークロードのログをリアルタイムで grep できます。時間やノード・ゾーンなどのソース属性でフィルタリングすることも可能です。

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 コマンドを試して、感想をお聞かせください!