20.3. 使用 Node Observability Operator 请求 CRI-O 和 Kubelet 分析数据
创建 Node Observability 自定义资源来收集 CRI-O 和 Kubelet 分析数据。
20.3.1. 创建 Node Observability 自定义资源 复制链接链接已复制到粘贴板!
在运行性能分析查询前,您必须创建并运行 NodeObservability
自定义资源 (CR)。运行 NodeObservability
CR 时,它会创建所需的机器配置和机器配置池 CR,以便在与 nodeSelector
匹配的 worker 节点上启用 CRI-O 分析。
如果 worker 节点上没有启用 CRI-O 分析,则会创建 NodeObservabilityMachineConfig
资源。与 NodeObservability
CR 中指定的 nodeSelector
匹配的 worker 节点。这可能需要 10 分钟或更长时间来完成。
kubelet 分析被默认启用。
节点的 CRI-O unix 套接字挂载在代理 pod 上,允许代理与 CRI-O 通信来运行 pprof 请求。同样,kubelet-serving-ca
证书链被挂载到代理 pod 上,允许在代理和节点的 kubelet 端点之间进行安全通信。
先决条件
- 已安装 Node Observability Operator。
- 已安装 OpenShift CLI(oc)。
-
您可以使用
cluster-admin
权限访问集群。
流程
运行以下命令登录到 OpenShift Container Platform CLI:
oc login -u kubeadmin https://<HOSTNAME>:6443
$ oc login -u kubeadmin https://<HOSTNAME>:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令切换回
node-observability-operator
命名空间:oc project node-observability-operator
$ oc project node-observability-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
nodeobservability.yaml
的 CR 文件,其中包含以下文本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
NodeObservability
CR:oc apply -f nodeobservability.yaml
oc apply -f nodeobservability.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
nodeobservability.olm.openshift.io/cluster created
nodeobservability.olm.openshift.io/cluster created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查
NodeObservability
CR 的状态:oc get nob/cluster -o yaml | yq '.status.conditions'
$ oc get nob/cluster -o yaml | yq '.status.conditions'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当原因为
Ready
且状态为True
时,NodeObservability
CR 运行已完成。
20.3.2. 运行性能分析查询 复制链接链接已复制到粘贴板!
要运行性能分析查询,您必须创建一个 NodeObservabilityRun
资源。分析查询是一个阻止操作,用于在 30 秒内获取 CRI-O 和 Kubelet 分析数据。分析查询完成后,您必须检索容器文件系统 /run/node-observability
目录中的性能分析数据。数据生命周期通过 emptyDir
卷绑定到代理 pod,因此您可以在代理 pod 处于 running
状态时访问性能分析数据。
您可以在任何时间点上请求一个性能分析查询。
先决条件
- 已安装 Node Observability Operator。
-
您已创建了
NodeObservability
自定义资源(CR)。 -
您可以使用
cluster-admin
权限访问集群。
流程
创建名为
nodeobservabilityrun.yaml
的NodeObservabilityRun
资源文件,其中包含以下文本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
NodeObservabilityRun
资源来触发性能分析查询:oc apply -f nodeobservabilityrun.yaml
$ oc apply -f nodeobservabilityrun.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查
NodeObservabilityRun
的状态:oc get nodeobservabilityrun nodeobservabilityrun -o yaml | yq '.status.conditions'
$ oc get nodeobservabilityrun nodeobservabilityrun -o yaml | yq '.status.conditions'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 分析查询在状态变为
True
后完成,类型为Finished
。通过运行以下 bash 脚本,从容器的
/run/node-observability
路径中检索配置集数据:Copy to Clipboard Copied! Toggle word wrap Toggle overflow