3.4. 配置调试日志
当您为每个策略控制器配置并收集调试日志时,您可以调整日志级别。
注: 缩减调试日志的卷意味着日志中显示较少的信息。
您可以减少策略控制器发出的调试日志,以便在日志中仅显示错误的错误。要减少调试日志,请在注解中将 debug 日志值设置为 -1。查看每个值代表什么:
-
-1: 仅限错误日志 -
0:信息性日志 -
1: 调试日志 -
2: 详细的调试日志
要接收 Kubernetes 配置控制器的第二个调试信息级别,请将值为 2 的 log-level 注解添加到 ManagedClusterAddOn 自定义资源中。默认情况下,日志级别被设置为 0,这意味着您会收到信息性的消息。查看以下示例:
apiVersion: addon.open-cluster-management.io/v1alpha1
kind: ManagedClusterAddOn
metadata:
name: config-policy-controller
namespace: cluster1
annotations:
log-level: "2"
spec:
installNamespace: open-cluster-management-agent-addon
另外,对于 ConfigurationPolicy 资源中的每个 spec.object-template[],您可以将参数 recordDiff 设置为 Log。objectDefinition 和受管集群上的对象之间的差别记录在受管集群的 config-policy-controller pod 中。查看以下示例:
这个 ConfigurationPolicy 资源带有 recordDiff: Log:
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
name: my-config-policy
spec:
object-templates:
- complianceType: musthave
recordDiff: Log
objectDefinition:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
fieldToUpdate: "2"
如果集群中的 ConfigMap 资源列出了 fieldToUpdate: "1",则 diff 会出现在 config-policy-controller pod 日志中,并带有以下信息:
Logging the diff:
--- default/my-configmap : existing
+++ default/my-configmap : updated
@@ -2,3 +2,3 @@
data:
- fieldToUpdate: "1"
+ fieldToUpdate: "2"
kind: ConfigMap
重要: 避免记录安全对象的区别。差别以纯文本形式记录。