Kubernetes 容器log實體檔相關研究
在只起動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去查看:
擷取其中一個pod上的log內容:
以目錄結構來看:
透過master上執行describe指令對照看看: