Logging
Logging 的種類
Pod 和 Container Logging
Kubernetes 會將 Pod 中每個容器的標準輸出(stdout)和標準錯誤輸出(stderr)記錄為日誌,這些日誌可以通過 kubectl logs <pod-name> -c <container-name>
命令查看。
預設的情況下容器日誌會存在 Pod 的文件系統中的 /var/log/pods
System Logging
Kubernetes 系統日誌包括各個組件(如 kubelet、API server、Controller manager 等)的運行狀況和錯誤信息。這些日誌通常儲存在節點的文件系統中。
Cluster Level Logging
在 Kubernetes 集群中,應用程序和系統都會生成大量的日誌。這些日誌對於監控系統運行狀況、診斷問題和進行故障排除非常重要。但是,這些日誌分散在不同的節點和容器中,因此需要一種機制來集中收集和管理這些日誌,例如:使用日誌收集系統(Log Aggregation Systems):如 ELK(Elasticsearch, Logstash, Kibana)、Fluentd、Loki 等,可以將日誌從 Kubernetes 集群收集到集中儲存系統中,進行長期保存和分析。