18.3. 노드 Observability 사용자 정의 리소스 생성
프로파일링 쿼리를 실행하기 전에 NodeObservability
CR(사용자 정의 리소스)을 생성하고 실행해야 합니다. NodeObservability
CR을 실행하면 필요한 머신 구성 및 머신 구성 풀 CR을 생성하여 nodeSelector
와 일치하는 작업자 노드에서 CRI-O 프로파일링을 활성화합니다.
작업자 노드에서 CRI-O 프로파일링이 활성화되지 않으면 NodeObservabilityMachineConfig
리소스가 생성됩니다. NodeObservability
CR에 지정된 nodeSelector
와 일치하는 작업자 노드가 다시 시작됩니다. 이 작업을 완료하는 데 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
NodeObservability
CR 실행이Ready
이고 상태가True
인 경우 완료됩니다.