Kubernetes 容器log實體檔相關研究

containerD為CRI實作的K8s Cluster的實體log路徑位置

ZONGRU Li
Jan 7, 2022

在只起動master情況下(沒有worker node)

此時只有生存在master node上的pod會是running狀態:

查找pod log的實體檔的存放位置

發現在目錄位置:/var/log/pods底下會有這些目錄:

先挑其中kube-system底下

kube-controller-manager-master這個pod來觀察:

在完整目錄路徑:

/var/log/pods/kube-system_kube-controller-manager-master_aad568c0d28c8ef87c16b7f8dafdefa4/kube-controller-manager

的底下會看到:

會看到:

確認該pod目前的log:

與上面比較,其實可以發現:

/var/log/pods/kube-system_kube-controller-manager-master_aad568c0d28c8ef87c16b7f8dafdefa4/kube-controller-manager裡面的log檔內容

就是指令kubectl logs {pod name}印出來的內容了!

接著順便確認worker上的pod,是否log都會保留在master的實體目錄下:

所以啟動log,看看myapp這個namespace(理論應該是長在worker上的)

看到上面master node結果,所以我猜測長在worker的pod的實體log目錄

可以產生在worker node上,所以連線一台worker去查看:

其中worker1的目錄上有看到pod的log目錄
可能我第二台開太慢,發現pod都長去第一台worker1了

擷取其中一個pod上的log內容:

以目錄結構來看:

透過master上執行describe指令對照看看:

看起來後面序號不一定能對應到內容

相關官方文檔參考

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet