我有一堆服務部署到 Kubernetes 集群(各種 pod 和服務都在網關后面進行負載平衡)。我正在對其中一個進行 REST 呼叫并收到意外錯誤,但問題是我實際上不確定哪個pod/服務實際上拋出了錯誤。我想檢查每個 pod/服務的所有日志。
當我運行時,kubectl get namespace我得到:
NAME STATUS AGE
another-app Active 22d
myapp Active 22d
myapp-database Active 22d
default Active 22d
kube-public Active 22d
kube-system Active 22d
zanzabar Active 22d
是否有一個kubectl log命令可以掃描整個集群以查找日志并在其中搜索特定錯誤訊息?例如,假設我從 REST ( curl)回傳的錯誤訊息是“對不起,你的公主在另一座城堡里”。有什么方法可以kubectl log用來掃描該短語的所有 pod/服務日志并將結果顯示給我嗎?如果沒有,那么使用kubectl錯誤訊息查找 pod/服務的最佳/最簡單的方法是什么(希望還有我的錯誤背后的更多詳細資訊)?
uj5u.com熱心網友回復:
您可以獲取特定 pod 或容器的日志(對容器使用 -c 標志)并通過使用 grep 命令流水線化 log 命令來 grep 錯誤日志。
例如,如果我想獲取名為 my-pod 的 pod 的日志并想 grep “錯誤存在”字樣,則命令如下:
kubectl logs my-pod | grep “error exist”
有關獲取日志的多種方法,請參閱此檔案,有關 grep 用法的更多資訊,請參閱此類似問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331128.html
上一篇:入口控制器無法連接到外部
下一篇:將加特林報告上傳到s3
