6.3. 클러스터 비교 플러그인 사용
cluster-compare
플러그인을 사용하면 참조 구성을 라이브 클러스터 또는 필수 수집
데이터의 구성과 비교할 수 있습니다.
6.3.1. 라이브 클러스터와 함께 클러스터 비교 플러그인 사용 링크 복사링크가 클립보드에 복사되었습니다!
cluster-compare
플러그인을 사용하면 참조 구성과 라이브 클러스터의 구성 사용자 정의 리소스(CR)를 비교할 수 있습니다.
설계, 개발 또는 테스트 시나리오에서 참조 구성을 준수하는지 확인하기 위해 라이브 클러스터 구성을 검증합니다.
비운영 환경에서는 라이브 클러스터에만 cluster-compare
플러그인을 사용하세요. 프로덕션 환경에서는 필수 데이터 수집
플러그인을 사용하세요.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
클러스터 비교
플러그인을 다운로드하여PATH
환경 변수에 포함했습니다. - 참조 구성에 액세스할 수 있습니다.
프로세스
다음 명령을 사용하여
cluster-compare
플러그인을 실행합니다.oc cluster-compare -r <path_to_reference_config>/metadata.yaml
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -r은
참조 구성의metadata.yaml
파일에 대한 경로를 지정합니다. 로컬 디렉토리나 URI를 지정할 수 있습니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 비교 중인 CR입니다. 이 플러그인은 각 CR을 해당 템플릿과 다르게 표시합니다.
- 2
- 비교를 위한 CR과 일치하는 템플릿입니다.
- 3
- Linux diff 형식의 출력은 템플릿과 클러스터 CR의 차이점을 보여줍니다.
- 4
- 플러그인이 각 CR에 대한 줄 차이를 보고한 후, 차이점 요약이 보고됩니다.
- 5
- 해당 템플릿과의 차이점을 비교한 CR의 수입니다.
- 6
- 참조 구성에는 표현되었지만 라이브 클러스터에는 누락된 CR의 수입니다.
- 7
- 참조 구성에 표현되었지만 라이브 클러스터에는 없는 CR 목록입니다.
- 8
- 참조 구성의 해당 템플릿과 일치하지 않는 CR입니다.
- 9
- 메타데이터 해시는 참조 구성을 식별합니다.
- 10
- 패치된 CR 목록입니다.
명령에 -o junit을
추가하면 junit
형식으로 출력을 얻을 수 있습니다. 예를 들면 다음과 같습니다.
oc cluster-compare -r <path_to_reference_config>/metadata.yaml -o junit
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -o junit
junit
출력에는 다음과 같은 결과 유형이 포함됩니다.
- 완전히 일치된 각 템플릿에 대한 통과 결과입니다.
- 필수 사용자 정의 리소스(CR)가 발견되지 않았거나 누락되어 실패한 결과입니다.
- 사용자 재정의 메커니즘을 사용하여 패치된 차이점에 대한 건너뛴 결과입니다.
6.3.2. 필수 수집 데이터와 함께 클러스터 비교 플러그인 사용 링크 복사링크가 클립보드에 복사되었습니다!
cluster-compare
플러그인을 사용하면 참조 구성을 필수 수집
데이터의 구성 사용자 정의 리소스(CR)와 비교할 수 있습니다.
생산 환경에서 구성 문제를 해결하기 위해 반드시 수집해야 하는
데이터를 사용하여 클러스터 구성을 검증합니다.
프로덕션 환경의 경우 필수 수집
데이터만 포함하는 cluster-compare
플러그인을 사용하세요.
-
대상 클러스터에서
반드시 수집해야 할
데이터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)를 설치합니다. -
클러스터 비교
플러그인을 다운로드하여PATH
환경 변수에 포함했습니다. - 참조 구성에 액세스할 수 있습니다.
프로세스
다음 명령을 실행하여
수집해야 할
데이터를 참조 구성과 비교합니다.oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
-r은
참조 구성의metadata.yaml
파일에 대한 경로를 지정합니다. 로컬 디렉토리나 URI를 지정할 수 있습니다. -
-f는
필수 수집
데이터 디렉토리의 경로를 지정합니다. 로컬 디렉토리나 URI를 지정할 수 있습니다. 이 예제에서는 비교를 관련 클러스터 구성 디렉토리로 제한합니다. -R은
대상 디렉토리를 재귀적으로 검색합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 비교 중인 CR입니다. 이 플러그인은 각 CR을 해당 템플릿과 다르게 표시합니다.
- 2
- 비교를 위한 CR과 일치하는 템플릿입니다.
- 3
- Linux diff 형식의 출력은 템플릿과 클러스터 CR의 차이점을 보여줍니다.
- 4
- 플러그인이 각 CR에 대한 줄 차이를 보고한 후, 차이점 요약이 보고됩니다.
- 5
- 해당 템플릿과의 차이점을 비교한 CR의 수입니다.
- 6
- 참조 구성에는 표현되었지만 라이브 클러스터에는 누락된 CR의 수입니다.
- 7
- 참조 구성에 표현되었지만 라이브 클러스터에는 없는 CR 목록입니다.
- 8
- 참조 구성의 해당 템플릿과 일치하지 않는 CR입니다.
- 9
- 메타데이터 해시는 참조 구성을 식별합니다.
- 10
- 패치된 CR 목록입니다.
-
명령에 -o junit을
추가하면 junit
형식으로 출력을 얻을 수 있습니다. 예를 들면 다음과 같습니다.
oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R -o junit
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R -o junit
junit
출력에는 다음과 같은 결과 유형이 포함됩니다.
- 완전히 일치된 각 템플릿에 대한 통과 결과입니다.
- 필수 사용자 정의 리소스(CR)가 발견되지 않았거나 누락되어 실패한 결과입니다.
- 사용자 재정의 메커니즘을 사용하여 패치된 차이점에 대한 건너뛴 결과입니다.
6.3.3. 참조 클러스터 비교 플러그인 옵션 링크 복사링크가 클립보드에 복사되었습니다!
다음 내용은 클러스터 비교
플러그인의 옵션을 설명합니다.
옵션 | 설명 |
---|---|
| 라이브 클러스터와 함께 사용하는 경우 참조 구성의 유형과 일치하는 클러스터의 모든 리소스를 일치시키려고 시도합니다. 로컬 파일과 함께 사용하는 경우 참조 구성의 유형과 일치하는 로컬 파일의 모든 리소스를 일치시키려고 시도합니다. |
|
라이브 버전의 리소스와 비교할 때 병렬로 처리할 템플릿 수에 대한 정수 값을 지정합니다. 숫자가 클수록 속도는 빨라지지만 해당 기간 동안 메모리, I/O, CPU 사용량도 늘어납니다. 기본값은 |
| 사용자 구성 파일의 경로를 지정합니다. |
| 참조 구성과 비교하는 데 사용할 구성 사용자 정의 리소스에 대한 파일 이름, 디렉토리 또는 URL을 지정합니다. |
| 패치가 필요한 템플릿의 경로를 지정합니다. |
| 사용 가능한 템플릿 기능을 표시합니다. 참고
|
| 도움말 정보를 표시합니다. |
|
|
|
출력 형식을 지정합니다. 옵션에는 |
| 덮어쓰기를 생성하는 이유를 지정합니다. |
| 참조 구성에 대한 패치 덮어쓰기 파일의 경로를 지정합니다. |
|
|
|
참조 구성 |
|
비교에 관리 필드를 포함하려면 |
| 플러그인 출력의 상세 수준을 늘립니다. |
6.3.4. 예: telco 코어 참조 구성으로 클러스터 비교 링크 복사링크가 클립보드에 복사되었습니다!
cluster-compare
플러그인을 사용하여 참조 구성을 라이브 클러스터 또는 must-gather
데이터의 구성과 비교할 수 있습니다.
이 예에서는 라이브 클러스터의 구성을 telco 코어 참조 구성과 비교합니다. 통신 핵심 참조 구성은 telco 코어 참조 사양(RDS)에서 파생됩니다. Telco 코어 RDS는 컨트롤 플레인 및 일부 중앙 집중식 데이터 플레인 기능을 포함한 대규모 통신 애플리케이션을 지원하기 위해 클러스터용으로 설계되었습니다.
참조 구성은 telco core RDS를 사용하여 컨테이너 이미지에 패키지됩니다.
telco core 및 telco RAN distributed unit(DU) 프로필과 함께 cluster-compare
플러그인을 사용하는 추가 예제는 "추가 리소스" 섹션을 참조하십시오.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
registry.redhat.io
컨테이너 이미지 레지스트리에 액세스하기 위한 인증 정보가 있어야 합니다. -
cluster-compare
플러그인이 설치되어 있어야 합니다.
프로세스
다음 명령을 실행하여 인증 정보를 사용하여 컨테이너 이미지 레지스트리에 로그인합니다.
podman login registry.redhat.io
$ podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
telco-core-rds-rhel9
컨테이너 이미지에서 콘텐츠를 추출합니다.mkdir -p ./out
$ mkdir -p ./out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.18 | base64 -d | tar xv -C out
$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.18 | base64 -d | tar xv -C out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow reference-crs-kube-compare/
디렉터리에서 참조 구성을 볼 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클러스터의 구성을 telco 코어 참조 구성과 비교합니다.
oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 비교 중인 CR입니다. 플러그인은 해당 템플릿과 차이가 있는 각 CR을 표시합니다.
- 2
- 비교를 위해 CR과 일치하는 템플릿입니다.
- 3
- Linux diff 형식의 출력은 템플릿과 클러스터 CR의 차이점을 보여줍니다.
- 4
- 플러그인이 각 CR에 대한 줄 diffs를 보고하면 차이점에 대한 요약이 보고됩니다.
- 5
- 해당 템플릿의 차이점과 비교한 CR 수입니다.
- 6
- 참조 구성에 표시되지만 실시간 클러스터에서 누락된 CR 수입니다.
- 7
- 참조 구성에 표시되지만 실시간 클러스터에서 누락된 CR 목록입니다.
- 8
- 참조 구성에서 해당 템플릿과 일치하지 않는 CR입니다.
- 9
- 메타데이터 해시는 참조 구성을 식별합니다.
- 10
- 패치된 CR 목록입니다.
명령에 -o
을 추가하여 junit 형식으로 출력을 가져옵니다. 예를 들면 다음과 같습니다.
junit
oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml -o junit
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml -o junit
junit
출력에는 다음 결과 유형이 포함됩니다.
- 완전히 일치하는 각 템플릿에 대한 결과를 전달합니다.
- 차이점에 대한 실패한 결과 발견 또는 누락된 CR(사용자 정의 리소스)입니다.
- 사용자 덮어쓰기 메커니즘을 사용하여 패치된 차이에 대해 건너뛰었습니다.