Tuned Operator 不激活自定义配置文件 (Openshift 4.6.18)
Tuned Operator does not activate custom profile (Openshift 4.6.18)
Openshift 默认提供“node-tuning-operator”来调低系统。
我们可以使用自定义资源 (CR) 创建自定义配置文件。
但是,自定义配置文件未被操作员 loaded/activated。
它不是激活我的自定义配置文件,而是激活 openshift 提供的默认配置文件。
我仍在努力找出正确的配置文件配置。
tuned operator 没有激活我的自定义配置文件可能是什么问题?
找到有关调整运算符的文档
有关 Tuned 运算符的一般信息:
- Namespace/Project:openshift-cluster-node-tuning-operator
- 操作员:集群节点调整操作员
- 守护进程集:已调整
- CRD : tuneds.tuned.openshift.io
- CR : Tuned/default & Tuned/rendered
文档说除了 openshift 提供的名为“Tuned/default & Tuned/rendered".
这些资源提供名为 “openshift”、“openshift-node”和“openshift-control-plane”的默认配置文件。
可以使用以下命令查看更多信息:
oc get Tuned/default -n openshift-cluster-node-tuning-operator -o yaml
现在,我们可以创建自己的自定义配置文件作为自定义资源的一部分来调整我们自己的设置。
这里的技巧是自定义资源 yaml 文件中关于自定义配置文件的配置应该是正确的。如果正确,调谐操作员将加载配置文件并激活它。如果它不正确,那么 tuned operator 将不会激活它,它也会忽略任何未来的正确配置。
这是 tuned 运算符中的错误,已作为 https://bugzilla.redhat.com/show_bug.cgi?id=1919970 的一部分得到解决。
修复:将openshift集群版本升级到4.7及以上。
解决方法:删除已调整的 pod,以便操作员创建新的 pod。创建新 pod 后,它将激活正确的配置文件。 (希望您 CR.yaml 中的配置已更正)。
重要命令:
- 找出调谐运算符本身所在的 pod 运行:
oc get pod -n openshift-cluster-node-tuning-operator -o wide
- 查看operator pod的日志:(实际的pod名称可以从
以上命令)
oc logs pod/cluster-node-tuning-operator-6644cd48bb-z2qxn -n
openshift-cluster-node-tuning-operator
- 检查所有 kind=Tuned 的自定义资源是否存在:
oc get Tuned -n openshift-cluster-node-tuning-operator
- 描述和检查默认配置文件:
oc get Tuned/default -n openshift-cluster-node-tuning-operator -o yaml
- 找出所有已调谐 pods 和它们所在的节点 运行
集群:
oc get pod -n openshift-cluster-node-tuning-operator -o wide
- 检查特定调谐 pod 的日志:(实际 pod 名称可以是
从上面的命令中找到)
oc logs tuned-h8xgh -n openshift-cluster-node-tuning-operator -f
- 登录到已调整的 pod 并手动确认已应用调整或
不是:(实际的 pod 名称可以从前面的命令中找到)
oc exec -it tuned-h8xgh -n openshift-cluster-node-tuning-operator --bash
使用上面的方法登录tuned pod后可以执行以下命令
验证调整设置的命令:
bash-4.4# cat /etc/tuned/infra-nodes/tuned.conf
[main]
summary=Optimize systems running OpenShift Infra nodes
[sysctl]
fs.inotify.max_user_watches = 1048576
vm.swappiness = 1
bash-4.4# tuned-adm recommend Cannot talk to Tuned daemon via DBus.
Is Tuned daemon running? infra-nodes bash-4.4#
bash-4.4# tuned-adm active
Cannot talk to Tuned daemon via DBus. Is Tuned daemon running?
Current active profile: openshift-control-plane
bash-4.4#
注意:上面的示例代码正好描述了这个问题中提出的问题。如果您注意到,活动配置文件是“openshift-control-plane”,而 recommended/loaded 一个是“infra-nodes”。这是由于前面提到的现有错误。一旦您删除调谐的 pod (tuned-h8xgh),操作员将恢复并激活正确的配置文件。
自定义配置文件配置中的示例问题:
如果配置文件优先级与默认配置文件相同,则操作员将发出类似于以下内容的警告:
W0722 04:24:25.490704 1 profilecalculator.go:480] profiles openshift-control-plane/infra-node have the same priority 30, please use a different priority for your custom profiles!
Openshift 默认提供“node-tuning-operator”来调低系统。
我们可以使用自定义资源 (CR) 创建自定义配置文件。
但是,自定义配置文件未被操作员 loaded/activated。
它不是激活我的自定义配置文件,而是激活 openshift 提供的默认配置文件。
我仍在努力找出正确的配置文件配置。
tuned operator 没有激活我的自定义配置文件可能是什么问题?
有关 Tuned 运算符的一般信息:
- Namespace/Project:openshift-cluster-node-tuning-operator
- 操作员:集群节点调整操作员
- 守护进程集:已调整
- CRD : tuneds.tuned.openshift.io
- CR : Tuned/default & Tuned/rendered
文档说除了 openshift 提供的名为“Tuned/default & Tuned/rendered".
这些资源提供名为 “openshift”、“openshift-node”和“openshift-control-plane”的默认配置文件。
可以使用以下命令查看更多信息:
oc get Tuned/default -n openshift-cluster-node-tuning-operator -o yaml
现在,我们可以创建自己的自定义配置文件作为自定义资源的一部分来调整我们自己的设置。
这里的技巧是自定义资源 yaml 文件中关于自定义配置文件的配置应该是正确的。如果正确,调谐操作员将加载配置文件并激活它。如果它不正确,那么 tuned operator 将不会激活它,它也会忽略任何未来的正确配置。
这是 tuned 运算符中的错误,已作为 https://bugzilla.redhat.com/show_bug.cgi?id=1919970 的一部分得到解决。
修复:将openshift集群版本升级到4.7及以上。
解决方法:删除已调整的 pod,以便操作员创建新的 pod。创建新 pod 后,它将激活正确的配置文件。 (希望您 CR.yaml 中的配置已更正)。
重要命令:
- 找出调谐运算符本身所在的 pod 运行:
oc get pod -n openshift-cluster-node-tuning-operator -o wide
- 查看operator pod的日志:(实际的pod名称可以从 以上命令)
oc logs pod/cluster-node-tuning-operator-6644cd48bb-z2qxn -n openshift-cluster-node-tuning-operator
- 检查所有 kind=Tuned 的自定义资源是否存在:
oc get Tuned -n openshift-cluster-node-tuning-operator
- 描述和检查默认配置文件:
oc get Tuned/default -n openshift-cluster-node-tuning-operator -o yaml
- 找出所有已调谐 pods 和它们所在的节点 运行 集群:
oc get pod -n openshift-cluster-node-tuning-operator -o wide
- 检查特定调谐 pod 的日志:(实际 pod 名称可以是 从上面的命令中找到)
oc logs tuned-h8xgh -n openshift-cluster-node-tuning-operator -f
- 登录到已调整的 pod 并手动确认已应用调整或 不是:(实际的 pod 名称可以从前面的命令中找到)
oc exec -it tuned-h8xgh -n openshift-cluster-node-tuning-operator --bash
使用上面的方法登录tuned pod后可以执行以下命令 验证调整设置的命令:
bash-4.4# cat /etc/tuned/infra-nodes/tuned.conf
[main] summary=Optimize systems running OpenShift Infra nodes
[sysctl] fs.inotify.max_user_watches = 1048576 vm.swappiness = 1bash-4.4# tuned-adm recommend Cannot talk to Tuned daemon via DBus. Is Tuned daemon running? infra-nodes bash-4.4#
bash-4.4# tuned-adm active Cannot talk to Tuned daemon via DBus. Is Tuned daemon running? Current active profile: openshift-control-plane bash-4.4#
注意:上面的示例代码正好描述了这个问题中提出的问题。如果您注意到,活动配置文件是“openshift-control-plane”,而 recommended/loaded 一个是“infra-nodes”。这是由于前面提到的现有错误。一旦您删除调谐的 pod (tuned-h8xgh),操作员将恢复并激活正确的配置文件。
自定义配置文件配置中的示例问题: 如果配置文件优先级与默认配置文件相同,则操作员将发出类似于以下内容的警告:
W0722 04:24:25.490704 1 profilecalculator.go:480] profiles openshift-control-plane/infra-node have the same priority 30, please use a different priority for your custom profiles!