18.3. 创建 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
运行以下命令切换回
node-observability-operator
命名空间:$ oc project node-observability-operator
创建名为
nodeobservability.yaml
的 CR 文件,其中包含以下文本:apiVersion: nodeobservability.olm.openshift.io/v1alpha2 kind: NodeObservability metadata: name: cluster 1 spec: nodeSelector: kubernetes.io/hostname: <node_hostname> 2 type: crio-kubelet
运行
NodeObservability
CR:oc apply -f nodeobservability.yaml
输出示例
nodeobservability.olm.openshift.io/cluster created
运行以下命令,检查
NodeObservability
CR 的状态:$ oc get nob/cluster -o yaml | yq '.status.conditions'
输出示例
conditions: conditions: - lastTransitionTime: "2022-07-05T07:33:54Z" message: 'DaemonSet node-observability-ds ready: true NodeObservabilityMachineConfig ready: true' reason: Ready status: "True" type: Ready
当原因为
Ready
且状态为True
时,NodeObservability
CR 运行已完成。