From d465156dc780cfcf96cdb02d53f9e17cafdb6b8b Mon Sep 17 00:00:00 2001 From: ethfoo Date: Tue, 15 Nov 2022 10:32:24 +0800 Subject: [PATCH] Update kubernetes.md (#119) --- docs/getting-started/install/kubernetes.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/getting-started/install/kubernetes.md b/docs/getting-started/install/kubernetes.md index f4c9158..cce88d0 100644 --- a/docs/getting-started/install/kubernetes.md +++ b/docs/getting-started/install/kubernetes.md @@ -83,7 +83,9 @@ extraVolumes: 特别强调的是:由于Loggie本身也是容器化部署,所以Loggie也需要挂载节点的一些volume来采集日志,否则Loggie容器内部看不到日志文件,更没办法去采集。 这里简单列举一下采集什么样的日志需要挂载什么路径: -1. 采集**stdout**标准输出:Loggie会从/var/log/pods下采集,所以Loggie需要挂载: + +1. 采集 **stdout** 标准输出:Loggie会从/var/log/pods下采集,所以Loggie需要挂载: + ```yaml volumeMounts: - mountPath: /var/log/pods @@ -103,6 +105,7 @@ extraVolumes: ``` 但是有可能/var/log/pods下这些日志文件会软链接到docker的root路径下,默认为`/var/lib/docker`,这个时候,需要同样挂载`/var/lib/docker`这个路径到Loggie中: + ```yaml volumeMounts: - mountPath: /var/log/pods @@ -114,9 +117,11 @@ extraVolumes: type: DirectoryOrCreate name: podlogs ``` + 另外,如果非docker运行时,比如使用containerd,无需挂载`/var/lib/docker`,Loggie会从`/var/log/pods`中寻找实际的标准输出路径。 -2. 采集业务Pod使用**HostPath**挂载的日志:比如业务统一将日志挂载到了节点的`/data/logs`路径下,则需要挂载挂载该路径: +2. 采集业务Pod使用 **HostPath** 挂载的日志:比如业务统一将日志挂载到了节点的`/data/logs`路径下,则需要挂载挂载该路径: + ```yaml volumeMounts: - mountPath: /data/logs @@ -129,7 +134,8 @@ extraVolumes: name: logs ``` -3. 采集业务Pod使用**EmptyDir**挂载的日志:默认emtpyDir会在节点的`/var/lib/kubelet/pods`路径下,所以需要Loggie挂载该路径。如果环境的kubelet修改了该路径配置,这里需要同步修改: +3. 采集业务Pod使用 **EmptyDir** 挂载的日志:默认emtpyDir会在节点的`/var/lib/kubelet/pods`路径下,所以需要Loggie挂载该路径。如果环境的kubelet修改了该路径配置,这里需要同步修改: + ```yaml volumeMounts: - mountPath: /var/lib/kubelet/pods @@ -142,8 +148,9 @@ extraVolumes: name: kubelet ``` -4. 采集业务Pod使用**PV**挂载的日志:和使用EmptyDir一致。 -5. 采集业务Pod**无挂载**,同时设置了`rootFsCollectionEnabled: true`,Loggie会自动从docker的rootfs里找到容器里的实际路径,此时需要挂载docker的root路径: +4. 采集业务Pod使用 **PV** 挂载的日志:和使用EmptyDir一致。 +5. 采集业务Pod **无挂载** ,同时设置了`rootFsCollectionEnabled: true`,Loggie会自动从docker的rootfs里找到容器里的实际路径,此时需要挂载docker的root路径: + ```yaml volumeMounts: - mountPath: /var/lib/docker @@ -155,7 +162,9 @@ extraVolumes: type: DirectoryOrCreate name: docker ``` + 如果docker的实际root路径有修改,则需要同步修改这里的volumeMount和volume,比如修改了root路径为`/data/docker`,则挂载为: + ```yaml volumeMounts: - mountPath: /data/docker @@ -172,6 +181,7 @@ extraVolumes: 其他: + - Loggie需要记录采集的文件状态(offset等),避免重启后从头开始采集文件,造成日志采集重复,默认挂载路径为/data/loggie.db,所以挂载了`/data/loggie--{{ template "loggie.name" . }}`目录。