6장. 네임스페이스 범위의 Argo 롤아웃 설치 지원 활성화
Red Hat OpenShift GitOps는 Argo Rollouts 설치의 두 가지 모드를 지원합니다.
- 클러스터 범위 설치 (기본값): 모든 네임스페이스에 정의된 Argo Rollouts CR(사용자 정의 리소스)은 Argo Rollouts 인스턴스에 의해 조정됩니다. 결과적으로 클러스터의 모든 네임스페이스에서 Argo Rollouts CR을 사용할 수 있습니다.
네임스페이스 범위 설치: Argo Rollouts 인스턴스는 특정 네임스페이스에 설치되고 동일한 네임스페이스 내에서 Argo 롤아웃 CR만 처리합니다. 이 설치 모드에는 다음과 같은 이점이 있습니다.
-
이 모드에서는 클러스터 전체
ClusterRole또는ClusterRoleBinding권한이 필요하지 않습니다. 클러스터 권한 없이도 단일 네임 스페이스 내에서 Argo Rollouts를 설치하고 사용할 수 있습니다. - 이 모드는 단일 Argo 롤아웃 인스턴스의 클러스터 범위를 특정 네임스페이스로 제한하여 보안 이점을 제공합니다.
-
이 모드에서는 클러스터 전체
의도하지 않은 권한 에스컬레이션을 방지하기 위해 Red Hat OpenShift GitOps는 한 번에 하나의 Argo 롤아웃 설치 모드만 허용합니다.
클러스터 범위 및 네임스페이스 범위의 Argo 롤아웃 설치를 전환하려면 다음 단계를 완료하십시오.
6.1. 네임스페이스 범위의 Argo 롤아웃 설치 구성 링크 복사링크가 클립보드에 복사되었습니다!
Argo Rollouts 설치의 네임스페이스 범위 인스턴스를 구성하려면 다음 단계를 완료합니다.
사전 요구 사항
- Red Hat OpenShift GitOps 클러스터에 관리자로 로그인되어 있습니다.
- Red Hat OpenShift GitOps를 Red Hat OpenShift GitOps 클러스터에 설치했습니다.
프로세스
-
웹 콘솔의 관리자 화면에서 Administration
CustomResourceDefinitions 로 이동합니다. -
서브스크립션을 검색하고
SubscriptionCRD를 클릭합니다. - Instances 탭을 클릭한 다음 openshift-gitops-operator 서브스크립션을 클릭합니다.
YAML 탭을 클릭하고 YAML 파일을 편집합니다.
.spec.config.env속성에 값이true로 설정된NAMESPACE_SCOPED_ARGO_ROLLOUTS환경 변수를 지정합니다.네임스페이스 범위의 Argo 롤아웃 설치 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
'true'로 설정된 값은 네임스페이스 범위 설치를 활성화합니다. 값을'false'로 설정하거나 지정하지 않으면 설치 기본값은 cluster-scoped mode입니다.
저장을 클릭합니다.
Red Hat OpenShift GitOps Operator는 네임스페이스 범위 설치 내에서 Argo Rollouts 사용자 정의 리소스를 쉽게 조정할 수 있습니다.
GitOps 컨테이너의 로그를 확인하여 Red Hat OpenShift GitOps Operator에서 네임스페이스 범위 Argo Rollouts 설치를 활성화했는지 확인합니다.
-
웹 콘솔의 관리자 화면에서 워크로드
Pod 로 이동합니다. - openshift-gitops-operator-controller-manager Pod를 클릭한 다음 로그 탭을 클릭합니다.
-
다음 로그 문을 찾습니다. namespaced
-scoped 모드에서 실행중입니다. 이 성명은 Red Hat OpenShift GitOps Operator가 네임스페이스 범위 Argo Rollouts 설치를 활성화했음을 나타냅니다.
-
웹 콘솔의 관리자 화면에서 워크로드
RolloutManager리소스를 생성하여 네임스페이스 범위의 Argo Rollouts 설치를 완료합니다.-
Operator
설치된 Operator → Red Hat OpenShift GitOps 로 이동하여 RolloutManager 탭을 클릭합니다. - RolloutManager 생성 을 클릭합니다.
YAML 보기를 선택하고 다음 스니펫을 입력합니다.
네임스페이스 범위 Argo 롤아웃 설치에 대한
RolloutManagerCR의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 네임스페이스 범위 Argo Rollouts 인스턴스를 설치할 프로젝트의 이름을 지정합니다.
생성을 클릭합니다.
RolloutManagerCR이 생성되면 Red Hat OpenShift GitOps가 네임스페이스 범위 Argo Rollouts 인스턴스를 선택한 네임스페이스에 설치하기 시작합니다.
-
Operator
네임스페이스 범위의 설치에 성공했는지 확인합니다.
-
RolloutManager 탭의 RolloutManagers 섹션에서
RolloutManager인스턴스의 Status 필드가Phase: Available인지 확인합니다. RolloutManagers 섹션의 YAML 탭에서 다음 출력을 검사하여 설치에 성공했는지 확인합니다.
네임스페이스 범위의 Argo 롤아웃 설치 YAML 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 상태는 네임스페이스 범위의 Argo 롤아웃 설치가 성공적으로 활성화되었음을 나타냅니다.
클러스터 범위의 설치가 클러스터에 이미 존재하는 동안 네임스페이스별 Argo Rollouts 인스턴스를 설치하려고 하면 오류 메시지가 표시됩니다.
오류 메시지가 포함된 잘못된 설치의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 상태는 네임스페이스 범위의 Argo 롤아웃 설치가 성공적으로 활성화되지 않았음을 나타냅니다. 설치 기본값은 cluster-scoped 모드입니다.
-
RolloutManager 탭의 RolloutManagers 섹션에서