rancher-logging Helm Chart 选项
启用/禁用 Windows 节点 Logging
要启用或禁用 Windows 节点 Logging,你可以在 values.yaml
中将 global.cattle.windows.enabled
设置为 true
或 false
。
默认情况下,如果使用 Cluster Dashboard UI 在 Windows 集群上安装了 Logging 应用程序,Windows 节点的 Logging 就会启用。
在这种情况下,将 global.cattle.windows.enabled
设置为 false
会禁用集群上的 Windows 节点 Logging。
禁用后,仍会从 Windows 集群中的 Linux 节点收集日志。
目前存在一个问题,在 Windows 集群中禁用 Windows Logging 后执行 |
使用自定义 Docker 根目录
如果使用了自定义 Docker 根目录,你可以在 values.yaml
中设置 global.dockerRootDirectory
。
这将确保创建的 Logging CR 使用你指定的路径,而不是使用默认的 Docker data-root
位置。
请注意,这只影响 Linux 节点。
如果集群中有任何 Windows 节点,则更改将不适用于这些节点。
为自定义污点添加 NodeSelector 设置和容忍度
你可以添加 nodeSelector
设置,并通过编辑 Logging Helm Chart 值来添加其他容忍度
。有关详细信息,请参阅此页面。
启用 Logging 应用程序以使用 SELinux
要求:
Logging v2 已在 RHEL/CentOS 7 和 8 上使用 SELinux 进行了测试。 |
安全增强型 Linux (SELinux) 是对 Linux 的安全增强。被政府机构使用之后,SELinux 已成为行业标准,并在 CentOS 7 和 8 上默认启用。
要配合使用 Logging V2 与 SELinux,我们建议你根据此说明安装 rancher-selinux
RPM。
然后,在安装 Logging 应用程序时,在 values.yaml
中将 global.seLinux.enabled
更改为 true
,使 Chart 支持 SELinux。
其他日志来源
默认情况下,Rancher 会收集所有类型集群的 controlplane 组件和节点组件的日志。
在某些情况下,Rancher 也能收集其他的日志。
下表总结了每种节点类型可以收集的其他日志来源:
日志来源 | Linux 节点(包括在 Windows 集群中) | Windows 节点 |
---|---|---|
RKE |
✓ |
✓ |
RKE2 |
✓ |
|
K3s |
✓ |
|
AKS |
✓ |
|
EKS |
✓ |
|
GKE |
✓ |
要将托管 Kubernetes 的提供商作为额外的日志来源,在安装或升级 Logging Helm Chart 时,请启用 Enable enhanced cloud provider logging 选项。
启用后,Rancher 会收集提供商开放可用的所有其他节点和 controlplane 日志,不同提供商可能有所不同。
如果你已经使用了云提供商的日志解决方案,例如 AWS CloudWatch 或 Google Cloud Operations Suite(以前称为 Stackdriver),由于原生解决方案可以不受限制地访问所有日志,因此你无需启用此选项。
Systemd 配置
在 Rancher Logging 中,你必须为 K3s 和 RKE2 Kubernetes 发行版配置 SystemdLogPath
。
K3s 和 RKE2 Kubernetes 发行版将日志写入到 journald,它是 systemd 的子系统,用于日志记录。要收集这些日志,你需要定义 systemdLogPath
。默认路径是 run/log/journal
,但某些 Linux 发行版不默认使用该路径。例如,Ubuntu 默认使用 var/log/journal
。要确定你的 systemdLogPath
配置,请参阅以下步骤。
Systemd 配置步骤:
-
在其中一个节点上运行
cat /etc/systemd/journald.conf | grep -E ^\#?Storage | cut -d"=" -f2
。 -
如果返回
persistent
,则你的systemdLogPath
是/var/log/journal
。 -
如果返回
volatile
,则你的systemdLogPath
是/run/log/journal
。 -
如果返回
auto
,则检查/var/log/journal
是否存在。-
如果
/var/log/journal
存在,则使用/var/log/journal
。 -
如果
/var/log/journal
不存在,则使用/run/log/journal
。
-
注意事项:
如果返回的值不包括在上述描述中,Rancher Logging 将无法收集 controlplane 日志。要解决此问题,你需要在每个 controlplane 节点上执行以下操作。
|