2.4. 정책 컨트롤러 고급 구성


ManagedClusterAddOn 사용자 정의 리소스를 사용하여 관리 클러스터에서 정책 컨트롤러 구성을 사용자 지정할 수 있습니다. 다음 ManagedClusterAddOns 는 정책 프레임워크, governance-policy-framework,config-policy-controller,cert-policy-controller, iam-policy-controller 를 구성합니다.

필수 액세스 권한: 클러스터 관리자

2.4.1. 동시성 구성

각 관리형 클러스터에 대한 구성 정책 컨트롤러의 동시성을 구성하여 동시에 평가할 수 있는 구성 정책 정책 수를 변경할 수 있습니다. 기본값 2 를 변경하려면 따옴표 내에 0이 아닌 정수를 사용하여 policy-evaluation-concurrency 주석을 설정합니다. hub 클러스터의 관리 클러스터 네임스페이스에서 ManagedClusterAddOn 오브젝트 이름에서 config-policy-controller 로 값을 설정할 수 있습니다.

참고: 동시성 값을 사용하면 config-policy-controller pod, Kubernetes API 서버 및 OpenShift API 서버의 CPU 및 메모리 사용률이 증가합니다.

다음 YAML 예제에서는 관리 대상 클러스터에서 cluster1 이라는 이름의 동시성이 5 로 설정됩니다.

apiVersion: addon.open-cluster-management.io/v1alpha1
kind: ManagedClusterAddOn
metadata:
  name: config-policy-controller
  namespace: cluster1
  annotations:
    policy-evaluation-concurrency: "5"
spec:
  installNamespace: open-cluster-management-agent-addon

2.4.2. API 서버에 대한 요청 속도 구성

구성 정책 컨트롤러가 각 관리 클러스터에서 수행하는 API 서버에 대한 요청 속도를 구성합니다. 속도가 증가하면 구성 정책 컨트롤러의 응답성이 향상되므로 Kubernetes API 서버 및 OpenShift API 서버의 CPU 및 메모리 사용률도 증가합니다. 기본적으로 요청 속도는 policy-evaluation-concurrency 설정으로 스케일링되고 각 초 (QPS)에 대한 30 개의 쿼리로 설정되며 짧은 기간 동안 더 많은 요청 수를 나타내는 45 버스트 값으로 설정됩니다.

따옴표 내에 0이 아닌 정수로 client-qpsclient-burst 주석을 설정하여 속도 및 버스트를 구성할 수 있습니다. hub 클러스터의 관리 클러스터 네임스페이스에서 ManagedClusterAddOn 오브젝트 이름에서 config-policy-controller 로 값을 설정할 수 있습니다.

다음 YAML 예에서 각 초에 대한 쿼리는 20 으로 설정되고 관리형 클러스터에서 cluster1 이라는 관리 클러스터에서 버스트가 100 으로 설정됩니다.

apiVersion: addon.open-cluster-management.io/v1alpha1
kind: ManagedClusterAddOn
metadata:
  name: config-policy-controller
  namespace: cluster1
  annotations:
    client-qps: "20"
    client-burst: "100"
spec:
  installNamespace: open-cluster-management-agent-addon

2.4.3. 디버그 로그 구성

각 정책 컨트롤러에 대한 디버그 로그를 구성하고 수집할 때 로그 수준을 조정할 수 있습니다.

참고: 디버그 로그 볼륨을 줄이면 로그에서 표시되는 정보가 줄어듭니다.

정책 컨트롤러에서 내보낸 디버그 로그를 줄여 로그에 오류 전용 버그를 표시할 수 있습니다. 디버그 로그를 줄이려면 주석에서 debug 로그 값을 -1 로 설정합니다. 각 값이 무엇을 나타내는지 확인하십시오.

  • -1: 오류 로그만
  • 0: 정보 로그
  • 1: 디버그 로그
  • 2: 상세 디버깅 로그

Kubernetes 구성 컨트롤러에 대한 두 번째 수준의 디버깅 정보를 받으려면 값이 2log-level 주석을 ManagedClusterAddOn 사용자 지정 리소스에 추가합니다. 기본적으로 로그 수준은 0 으로 설정되어 있으므로 정보 메시지가 수신됩니다. 다음 예제를 확인합니다.

apiVersion: addon.open-cluster-management.io/v1alpha1
kind: ManagedClusterAddOn
metadata:
  name: config-policy-controller
  namespace: cluster1
  annotations:
    log-level: "2"
spec:
  installNamespace: open-cluster-management-agent-addon

2.4.4. 거버넌스 메트릭

정책 프레임워크는 정책 배포 및 규정 준수를 보여주는 지표를 노출합니다. hub 클러스터에서 policy_governance_info 지표를 사용하여 추세를 보고 정책 실패를 분석합니다. 메트릭 개요는 다음 주제를 참조하십시오.

2.4.4.1. 지표: policy_governance_info

policy_governance_info 는 OpenShift Container Platform 모니터링 기능에 의해 수집되며 일부 집계 데이터는 활성화된 경우 Red Hat Advanced Cluster Management Observability에 의해 수집됩니다.

참고: 관찰 기능이 활성화된 경우 Grafana Explore 페이지에서 지표 쿼리를 입력할 수 있습니다. 정책을 생성할 때 루트 정책을 생성합니다. 프레임워크는 루트 정책과 PlacementRules (더 이상 사용되지 않음) 또는 배치를 감시하고, Placement Bindings 를 통해 관리 클러스터에 정책을 배포하기 위해 전파된 정책을 생성할 위치를 결정합니다.

루트 정책과 전파 정책 모두에 대해 정책이 준수되는 경우 0 의 지표가 기록되고 1 이 호환되지 않는 경우 1이 기록됩니다.

policy_governance_info 메트릭은 다음 레이블을 사용합니다.

  • type: 레이블 값은 root 이거나 전파됩니다.
  • Policy: 연결된 root 정책의 이름입니다.
  • policy_namespace: 루트 정책이 정의된 hub 클러스터의 네임스페이스입니다.
  • cluster_namespace: 정책이 배포된 클러스터의 네임스페이스입니다.

이러한 레이블과 값을 사용하면 클러스터에서 발생하는 많은 상황을 추적하기 어려울 수 있는 쿼리를 사용할 수 있습니다.

참고: 메트릭이 필요하지 않으며 성능 또는 보안에 대한 우려 사항이 있는 경우 이 기능을 비활성화할 수 있습니다. propagator 배포에서 DISABLE_REPORT_METRICS 환경 변수를 true 로 설정합니다. 또한 policy_governance_info 지표를 사용자 지정 지표로 observability allowlist에 추가할 수도 있습니다. 자세한 내용은 사용자 정의 메트릭 추가 를 참조하십시오.

2.4.4.2. 메트릭: config_policies_evaluation_duration_seconds

config_policies_evaluation_duration_seconds 히스토그램은 클러스터에서 평가할 준비가 된 모든 구성 정책을 처리하는 데 걸리는 시간(초)을 추적합니다. 다음 메트릭을 사용하여 히스토그램을 쿼리합니다.

  • config_policies_evaluation_duration_seconds_bucket: 버킷은 누적되고 사용 가능한 항목이 1, 3, 9, 10.5, 15, 30, 60, 90, 120, 180, 300, 450, 600 등 다양한 항목이 있는 초를 나타냅니다.
  • config_policies_evaluation_duration_seconds_count: 모든 이벤트의 수입니다.
  • config_policies_evaluation_duration_seconds_sum: 모든 값의 합계

config_policies_evaluation_duration_seconds 지표를 사용하여 평가가 필요하지 않은 리소스 집약적 정책에 대해 ConfigurationPolicy 평가Interval 설정을 변경해야 하는지 결정합니다. Kubernetes API 서버에서 리소스 사용률이 증가하므로 동시성을 늘릴 수도 있습니다. 자세한 내용은 동시성 구성 섹션을 참조하십시오.

구성 정책을 평가하는 데 사용되는 시간에 대한 정보를 받으려면 다음 표현식과 유사한 Prometheus 쿼리를 수행합니다.

rate(config_policies_evaluation_duration_seconds_sum[10m])/rate(config_policies_evaluation_duration_seconds_count[10m])

open-cluster-management-agent-addon 네임스페이스의 관리 클러스터에서 실행 중인 config-policy-controller Pod는 지표를 계산합니다. config-policy-controller 는 기본적으로 관찰성으로 메트릭을 보내지 않습니다.

2.4.5. 구성 변경 확인

컨트롤러에서 새 구성을 적용하면 ManagedClusterAddOn 에서 ManifestApplied 매개변수가 업데이트됩니다. 해당 조건 타임스탬프를 사용하여 구성을 올바르게 확인할 수 있습니다. 예를 들어 이 명령은 로컬 클러스터cert-policy-controller 가 업데이트된 시기를 확인할 수 있습니다.

oc get -n local-cluster managedclusteraddon cert-policy-controller | grep -B4 'type: ManifestApplied'

다음 출력이 표시될 수 있습니다.

 - lastTransitionTime: "2023-01-26T15:42:22Z"
    message: manifests of addon are applied successfully
    reason: AddonManifestApplied
    status: "True"
    type: ManifestApplied

2.4.6. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.