1.11. Logging 5.6
此版本包括 OpenShift Logging Release 5.6。
1.11.1. 弃用通知
在 Logging 5.6 中,Fluentd 已被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。作为 fluentd 的替代选择,您可以使用 Vector。
1.11.2. 功能增强
- 在这个版本中,日志记录与 OpenShift Container Platform 集群范围的加密策略兼容。(LOG-895)
- 在这个版本中,您可以通过 LokiStack 自定义资源(按优先级排序)来为每个租户、每个流和全局策略保留策略声明。(LOG-2695)
- 在这个版本中,Splun 是日志转发的可用输出选项。(LOG-2913)
- 在这个版本中,Vector 替换了 Fluentd 作为默认的 Collector。(LOG-2222)
- 在这个版本中,Developer 角色可以访问在运行 OpenShift Container Platform 4.11 及更高版本的集群中将其分配到的 Log Console Plugin 中的每个项目工作负载日志。(LOG-3388)
-
在这个版本中,任何源的日志包含一个字段
openshift.cluster_id
,它是部署 Operator 的集群的唯一标识符。您可以使用以下命令查看clusterID
值。(LOG-2715)
$ oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
1.11.3. 已知问题
-
在此次更新之前,如果多个标签键具有相同的前缀,并且一些键包含
.
字符,则 Elasticsearch 将拒绝日志。这通过将标签键中的.
替换为_
来解决 Elasticsearch 的限制。这个问题的一个临时解决方案是删除导致错误的标签,或向标签添加一个命名空间。(LOG-3463)
1.11.4. 程序错误修复
- 在此次更新之前,如果您删除了 Kibana 自定义资源,OpenShift Container Platform Web 控制台将继续显示到 Kibana 的链接。在这个版本中,删除 Kibana 自定义资源也会删除该链接。(LOG-2993)
- 在此次更新之前,用户无法查看其有权访问的命名空间的应用程序日志。在这个版本中,Loki Operator 会自动创建一个集群角色和集群角色绑定,允许用户读取应用程序日志。(LOG-3072)
-
在此次更新之前,Operator 在使用 LokiStack 作为默认日志存储时删除了
ClusterLogForwarder
自定义资源中定义的任何自定义输出。在这个版本中,Operator 会在处理ClusterLogForwarder
自定义资源时将自定义输出与默认输出合并。(LOG-3090) - 在此次更新之前,CA 密钥用作将 CA 挂载到 Loki 的卷名称,从而导致 CA Key 包含非格式字符(如点)时出现错误状态。在这个版本中,卷名称标准化为一个内部字符串,用于解决这个问题。(LOG-3331)
-
在此次更新之前,在 LokiStack 自定义资源定义中设置的默认值,会导致无法创建 LokiStack 实例,而无需
ReplicationFactor
为1
。在这个版本中,Operator 为使用的大小设置实际值。(LOG-3296) -
在此次更新之前,当启用 JSON 解析时向量解析消息字段,而不定义
structuredTypeKey
或structuredTypeName
值。在这个版本中,在将结构化日志写入 Elasticsearch 时,structuredTypeKey
或structuredTypeName
所需的值。(LOG-3195) - 在此次更新之前,Elasticsearch Operator 的 secret 创建组件会持续修改的内部 secret。在这个版本中,现有 secret 会被正确处理。(LOG-3161)
- 在此次更新之前,Operator 可以在 Elasticsearch 或 Kibana 部署改变状态时,输入删除和重新创建收集器 daemonset 的循环。在这个版本中,Operator 状态处理中会解决这个问题。(LOG-3157)
-
在此次更新之前,Kibana 有一个固定的
24h
OAuth cookie 过期时间,当accessTokenInactivityTimeout
字段被设置为小于24h
的值时,会导致 Kibana 中的 401 错误。在这个版本中,Kibana 的 OAuth cookie 过期时间与accessTokenInactivityTimeout
同步,默认值为24h
。(LOG-3129) - 在此次更新之前,协调资源的 Operator 常规模式是在尝试获取或更新前尝试和创建,这会导致创建后持续的 HTTP 409 响应。在这个版本中,Operator 会首先尝试检索对象,仅在缺少或未指定对象时创建或更新它。(LOG-2919)
-
在此次更新之前,Fluentd 中的
.level
和'.structure.level 字段可能包含不同的值。在这个版本中,每个字段的值都相同。(LOG-2819) - 在此次更新之前,Operator 不会等待可信 CA 捆绑包填充,并在更新捆绑包后再次部署收集器。在这个版本中,Operator 会在继续收集器部署前,等待简要查看捆绑包是否已填充。(LOG-2789)
- 在此次更新之前,日志记录遥测信息在检查指标时会出现两次。在这个版本中,日志记录遥测信息会如预期显示。(LOG-2315)
- 在此次更新之前,Fluentd pod 日志会在启用 JSON 解析添加后包含警告信息。在这个版本中,不会显示警告信息。(LOG-1806)
-
在此次更新之前,
must-gather
脚本无法完成,因为oc
需要具有写入权限的文件夹来构建其缓存。在这个版本中,oc
对文件夹有写入权限,must-gather
脚本可以成功完成。(LOG-3446) - 在此次更新之前,日志收集器 SCC 可以替换为集群上的其他 SCC,从而导致收集器不可用。在这个版本中,设置日志收集器 SCC 的优先级,使其优先于其他 SCC。(LOG-3235)
-
在此次更新之前,向量缺少字段
sequence
,它被添加到 fluentd 中,作为处理缺少实际纳秒精度的方法。在这个版本中,字段openshift.sequence
已添加到事件日志中。(LOG-3106)