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 클러스터의 관리 클러스터 네임스페이스에서 config-policy-controller
라는 ManagedClusterAddOn
오브젝트에 값을 설정할 수 있습니다.
참고: 동시성 값이 높은 경우 config-policy-controller
Pod, Kubernetes API 서버 및 OpenShift API 서버의 CPU 및 메모리 사용률이 증가합니다.
다음 YAML 예제에서는 cluster1
이라는 관리형 클러스터에서 동시성이 5
로 설정됩니다.
2.4.2. 디버그 로그 구성 링크 복사링크가 클립보드에 복사되었습니다!
각 정책 컨트롤러에 대한 디버그 로그를 구성합니다. Kubernetes 구성 컨트롤러에 대한 두 번째 수준의 디버깅 정보를 받으려면 값이 2
인 log-level
주석을 ManagedClusterAddOn
사용자 지정 리소스에 추가합니다. 기본적으로 로그 수준은
0
으로 설정되어 있으므로 정보 메시지가 수신됩니다. 다음 예제를 확인합니다.
2.4.3. 거버넌스 메트릭 링크 복사링크가 클립보드에 복사되었습니다!
정책 프레임워크는 정책 배포 및 규정 준수를 보여주는 지표를 노출합니다. hub 클러스터에서 policy_governance_info
지표를 사용하여 추세를 보고 정책 실패를 분석합니다. 메트릭 개요는 다음 주제를 참조하십시오.
2.4.3.1. 지표: policy_governance_info 링크 복사링크가 클립보드에 복사되었습니다!
policy_governance_info
는 OpenShift Container Platform 모니터링에 의해 수집되며 일부 집계 데이터는 활성화된 경우 Red Hat Advanced Cluster Management Observability에 의해 수집됩니다.
참고: 관찰 기능이 활성화된 경우 Grafana Explore 페이지에서 지표 쿼리를 입력할 수 있습니다.
정책을 생성할 때 루트 정책을 생성합니다. 프레임워크는 관리 클러스터에 정책을 배포하기 위해 전파된 정책을 생성할 위치를 결정하기 위해 PlacementRules
및 PlacementBindings
뿐만 아니라 루트 정책을 감시합니다. 루트 정책과 전파 정책 모두에 대해 정책이 준수되는 경우 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.3.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
지표를 사용하여 평가가 필요하지 않은 리소스 집약적 정책에 대해
설정을 변경해야 하는지 결정합니다. Kubernetes API 서버에서 리소스 사용률이 증가하므로 동시성을 늘릴 수도 있습니다. 자세한 내용은 동시성 구성 섹션을 참조하십시오.
ConfigurationPolicy
평가Interval
구성 정책을 평가하는 데 사용되는 시간에 대한 정보를 받으려면 다음 표현식과 유사한 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.4. 구성 변경 확인 링크 복사링크가 클립보드에 복사되었습니다!
컨트롤러에서 새 구성을 적용하면 ManagedClusterAddOn
에서 ManifestApplied
매개변수가 업데이트됩니다. 해당 조건 타임스탬프를 사용하여 구성을 올바르게 확인할 수 있습니다. 예를 들어 이 명령은 로컬 클러스터
의 cert-policy-controller
가 업데이트된 시기를 확인할 수 있습니다.
oc get -n local-cluster managedclusteraddon cert-policy-controller | grep -B4 'type: ManifestApplied'
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
- lastTransitionTime: "2023-01-26T15:42:22Z"
message: manifests of addon are applied successfully
reason: AddonManifestApplied
status: "True"
type: ManifestApplied
자세한 내용은 Governance 페이지로 돌아갑니다.