3.2. 사용자 워크로드 모니터링을 위한 성능 및 확장성 구성
클러스터의 성능과 스케일링을 최적화하도록 모니터링 스택을 구성할 수 있습니다. 다음 문서에서는 모니터링 구성 요소를 배포하고 CPU 및 메모리 리소스에 대한 모니터링 스택의 영향을 제어하는 방법에 대한 정보를 제공합니다.
3.2.1. 모니터링 구성 요소의 배치 및 배포 제어 링크 복사링크가 클립보드에 복사되었습니다!
모니터링 스택 구성 요소를 특정 노드로 이동할 수 있습니다.
-
라벨이 지정된 노드에
nodeSelector제약 조건을 사용하여 모니터링 스택 구성 요소를 특정 노드로 이동합니다. - 테인트된 노드로 이동하는 구성 요소를 활성화하려면 허용 오차를 할당합니다.
이렇게 하면 클러스터 전체에서 모니터링 구성 요소의 배치 및 배포를 제어할 수 있습니다.
모니터링 구성 요소의 배치 및 배포를 제어하면 시스템 리소스 사용을 최적화하고 성능을 개선하고 특정 요구 사항 또는 정책을 기반으로 워크로드를 분리할 수 있습니다.
3.2.1.1. 다른 노드로 모니터링 구성 요소 이동 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트의 워크로드를 모니터링하는 구성 요소를 특정 작업자 노드로 이동할 수 있습니다.
구성 요소를 컨트롤 플레인 또는 인프라 노드로 이동할 수 없습니다.
사전 요구 사항
-
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. -
user-workload-monitoring-configConfigMap오브젝트가 있습니다. 이 오브젝트는 클러스터가 생성될 때 기본적으로 생성됩니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
아직 수행하지 않은 경우 모니터링 구성 요소를 실행할 노드에 라벨을 추가합니다.
$ oc label nodes <node_name> <node_label>1 - 1
- &
lt;node_name>을 레이블을 추가할 노드의 이름으로 바꿉니다. <node_label>을 원하는 라벨 이름으로 바꿉니다.
openshift-user-workload-monitoring프로젝트에서user-workload-monitoring-configConfigMap오브젝트를 편집합니다.$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-configdata/config.yaml에서 구성 요소의nodeSelector제약 조건의 노드 레이블을 지정합니다.apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | # ... <component>:1 nodeSelector: <node_label_1>2 <node_label_2>3 # ...참고nodeSelector제약 조건을 구성한 후 모니터링 구성 요소가Pending상태인 경우 테인트(Taints) 및 톨러레이션(Tolerations)과 관련된 오류에 대한 Pod 이벤트를 확인합니다.- 파일을 저장하여 변경 사항을 적용합니다. 새 구성에 지정된 구성 요소가 자동으로 새 노드로 이동되고 새 구성의 영향을 받는 Pod가 재배포됩니다.
3.2.1.2. 모니터링 구성 요소에 허용 오차 할당 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트를 모니터링하는 구성 요소에 허용 오차를 할당하여 테인트된 작업자 노드로 이동할 수 있습니다. 컨트롤 플레인 또는 인프라 노드에서 예약이 허용되지 않습니다.
사전 요구 사항
-
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. -
user-workload-monitoring-configConfigMap오브젝트는openshift-user-workload-monitoring네임스페이스에 있습니다. 이 오브젝트는 클러스터가 생성될 때 기본적으로 생성됩니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
openshift-user-workload-monitoring프로젝트에서user-workload-monitoring-config구성 맵을 편집합니다.$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config구성 요소에 대한
tolerations를 지정합니다.apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | <component>: tolerations: <toleration_specification>이에 따라
<component>및<toleration_specification>을 바꿉니다.예를 들어
oc adm taint nodes node1 key1=value1:NoSchedule은key1의 키와value1의 값이 있는node1에 테인트를 추가합니다. 이렇게 하면 해당 테인트에 허용 오차가 구성되지 않는 한node1에 모니터링 구성 요소가 배포되지 않습니다. 다음 예제는 예제 테인트를 허용하도록thanosRuler구성 요소를 구성합니다.apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | thanosRuler: tolerations: - key: "key1" operator: "Equal" value: "value1" effect: "NoSchedule"- 파일을 저장하여 변경 사항을 적용합니다. 새 구성의 영향을 받는 Pod가 자동으로 재배포됩니다.