2016-03-07 33 views
0

場景: 我將apache2部署爲具有3個副本的RC。因此將根據負載創建三個吊艙。我需要每個吊艙都有自己的日誌文件夾與主機節點一起安裝而不被共享。對於運行時的每個羣集,hostpath應該是/{podname-containername}/var/log/apache2/access.log,同時跨越新副本(新羣集)。複製控制器在kubernetes中的共享卷

回答

1

在Kubernetes中收集日誌的推薦方式是使用fluentd,並使用Elasticsearch/Kibana導航它們。

節點並不像pod那樣短暫,但在某種程度上,它們在k8s集羣中可以被認爲是短暫的,所以強烈建議您不要將日誌文件放到主機節點的捲上。

也就是說,我所能想到的唯一解決方案就是在everypod上創建一個hostPath卷,使用任意名稱創建文件夾並使用該文件夾存儲日誌。

如果您需要知道哪個窗格正在寫入日誌,則可以使用容器/窗格名稱爲文件夾名稱添加前綴。

+0

是的,我在做同樣的事情。我需要知道的是,當kube在負載均衡的情況下啓動新副本(pod)時,新創建的副本(pod)應該使用不同的hostPath,即副本(pod)不應共享相同的hostPath。我計劃使用pod名稱創建hostPath,但在創建RC時應使用RC YAML文件指定hostPath。這怎麼可以在運行時指定? –