Rancher v2.5 的日志功能

Rancher 日志现在使用Banzai Cloud Logging operator记录,取代了以前的内部日志记录解决方案。

启用日志

您可以通过进入“应用市场”页面并安装日志应用程序,为 Rancher 管理的集群启用日志记录。

  1. 在 Rancher UI 中,进入要安装日志记录的集群,然后单击 集群资源管理器
  2. 单击应用
  3. 单击rancher-logging应用程序。
  4. 滚动到 Helm chart README 底部,单击安装

结果:日志应用部署在cattle-logging-system命名空间中。

卸载日志

  1. 群组资源管理器中,单击应用市场
  2. 单击安装的应用程序
  3. 进入cattle-logging-system命名空间,选中rancher-loggingrancher-logging-crd的方框。
  4. 单击删除
  5. 确认 删除

结果: rancher-logging被卸载。

架构

更多关于日志应用程序如何工作的信息,请参考日志架构

基于角色的访问控制

Rancher 日志记录有两个角色,logging-adminlogging-view,详情请参考基于角色的访问控制

配置日志自定义资源

可配置的日志自定义资源包括:FlowClusterFlowOutputsClusterOutputs

进入 Rancher 用户界面中的集群资源管理器。在左上角,点击集群资源管理器 > 日志,以配置自定义资源。

Flow 和 ClusterFlow

详情请参考Flow 和 ClusterFlow

Outputs 和 ClusterOutputs

详情请参考Outputs 和 ClusterOutputs

Windows 集群支持

Rancher v2.5.8+:从 Rancher v2.5.8 开始,增加了对 Windows 集群的日志支持,可以从 Windows 节点收集日志。

关于如何启用或禁用 Windows 节点日志的细节,请参见本节

Rancher v2.5.8 之前:带有 Windows 工作者的集群支持从 Linux 节点导出日志,但 Windows 节点的日志目前无法导出。只有 Linux 节点的日志能够被导出。

为了允许在 Linux 节点上调度日志 pod,必须向 pod 添加容错。请参阅 使用污点和容忍度一节,以了解细节和例子。

自定义 Docker 根目录

关于使用自定义 Docker 根目录的细节,请参见本节

配置污点和容忍度

关于如何在日志应用程序中使用污点和容忍度的信息,请参见本节

在 SELinux 系统中实现日志功能

从 v2.5.8 开始可用

关于为支持 SELinux 的节点启用日志应用程序的信息,请参见本节

配置其他日志资源

默认情况下,Rancher 会收集所有集群类型的控制平面组件和节点组件的日志。在某些情况下,可以收集额外的日志。详情见本节

常见问题及解决方法

The cattle-logging Namespace Being Recreated

如果你的集群之前从集群管理器用户界面部署了日志记录,你可能会遇到一个问题,就是它的cattle-logging命名空间不断被重新创建。

解决办法是删除管理集群中集群特定命名空间中的所有clusterloggings.management.cattle.ioprojectloggings.management.cattle.io自定义资源。

这些自定义资源的存在导致 Rancher 在下游集群中创建cattle-logging命名空间。

集群命名空间与集群 ID 相匹配,所以我们需要找到每个集群的集群 ID。

  1. 在您的 Web 浏览器中,在集群管理器用户界面或集群资源管理器用户界面中导航到您的集群。
  2. 从下面的一个 URL 中复制<cluster-id>部分。<cluster-id>部分是集群命名空间名称。
  1. # Cluster Management UI
  2. https://<your-url>/c/<cluster-id>/
  3. # Cluster Explorer UI (Dashboard)
  4. https://<your-url>/dashboard/c/<cluster-id>/

Copy

现在我们有了<cluster-id>命名空间,我们可以删除导致cattle-logging不断被重新创建的 CR。

警告

确保日志,从集群管理器用户界面安装的版本,目前没有在使用。

  1. kubectl delete clusterloggings.management.cattle.io -n <cluster-id>
  2. kubectl delete projectloggings.management.cattle.io -n <cluster-id>

Copy