此图表基于上游的Banzai Logging Operator图表。该图表部署了一个日志操作员和CRD,允许用户使用几个简单的自定义资源来配置复杂的日志管道。有两个日志级别,允许您在集群中收集所有日志或从单个命名空间中收集日志。
有关如何使用该功能的更多信息,请参阅我们的文档。 升级到Kubernetes v1.25+
从Kubernetes v1.25开始,Pod安全策略已从Kubernetes API中删除。
因此,在升级到Kubernetes v1.25之前(或在Kubernetes v1.25+集群中进行新的安装),如果global.cattle.psp.enabled先前设置为true,则用户需要对该图表进行就地升级,并将其设置为false。
注意: 在此图表发行版中,与任何PSP资源相关联的任何先前字段都已被删除,以支持单个全局字段:global.cattle.psp.enabled。
注意: 如果在通过helm升级之前将群集升级到Kubernetes v1.25+(即使手动清理资源),它也会使Helm发布处于破碎状态,以至于进一步的Helm操作将无法工作(helm uninstall,helm upgrade等)。
如果您的图表陷入此状态,请参考Rancher文档以了解如何清除Helm发布秘密。
将global.cattle.psp.enabled设置为false后,该图表将从群集中删除部署的任何PSP资源。这是该图表的默认设置。
作为PSP的替代方案,应使用Pod Security Admission。请参阅Rancher文档以了解有关如何配置您的图表发布命名空间以与新的Pod Security Admission一起使用并应用Pod Security Standards的更多详细信息。 命名空间级别的日志记录
要从单个命名空间收集日志,用户创建流程,并将这些流程连接到输出或集群输出。 集群级别的日志记录
要从整个集群收集日志,用户创建集群流和集群输出。 CRD
集群流 - 集群流是一个CRD(ClusterFlow),它定义了从整个集群收集哪些日志。集群流必须在与日志操作员相同的命名空间中部署。
集群输出 - 集群输出是一个CRD(ClusterOutput),它定义了如何连接到日志提供程序,以便它们可以开始收集日志。集群输出必须在与日志操作员相同的命名空间中部署。使用集群输出的便利之处在于,集群流或流可以向这些提供程序发送日志,而无需在每个命名空间中为每个流定义特定的输出。
流程 - 流程是一个CRD(Flow),它定义了从部署它的命名空间收集哪些日志。
输出 - 输出是一个CRD(Output),它定义了如何连接到日志提供程序,以便可以将日志发送到提供程序。
有关如何配置Helm图表的更多信息,请参阅Helm README。 系统管理配置
一些Kubernetes发行版记录到journald。为了收集这些日志,需要定义systemdLogPath。虽然默认使用/run/log/journal目录,但是某些Linux发行版不会默认使用此路径。例如,Ubuntu默认为/var/log/journal。要确定您的systemdLogPath,请在其中一个节点上运行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,否则使用/run/log/journal。
如果返回任何未在此处描述的值,则Rancher Logging将无法收集控制平面日志。要解决此问题,请在journald.conf中设置Storage = volatile,重新启动计算机,然后将systemdLogPath设置为/run/log/journal。