클러스터 범위 인스턴스는 클러스터 전체에 리소스를 배포하고 관리하기 위한 것입니다.
네임스페이스 기능에서 애플리케이션을 사용하려면 Argo CD 인스턴스 범위의 모드를 클러스터 범위 인스턴스로 선택합니다.
클러스터 범위 인스턴스는 클러스터 수준 리소스에 액세스할 수 있으므로 일반적으로 클러스터 구성에 사용되는 것은 아닙니다. 특정 네임스페이스 범위의 Argo CD 인스턴스를 클러스터 범위가 되도록 선택할 수 있습니다. 인스턴스를 준비하려면 GitOps Operator의 Subscription 리소스를 변경해야 합니다.
-
인스턴스를 확장하는 동안 신중하게 고려해야 합니다.
-
애플리케이션 제공 팀에서 자체 관리하는 인스턴스를 설정하지 마십시오. 이 작업을 수행하면 사용자가 자체 관리 인스턴스 클러스터 관리자가 되고 권한을 완전히 제어할 수 있으므로 이러한 인스턴스가 클러스터에 심각한 보안 위험이 발생할 수 있습니다.
Argo CD에서 멀티 테넌시를 설정할 때 많은 주의를 기울여야 합니다. 예를 들어 클러스터 관리자가 여러 애플리케이션 팀의 공유 Argo CD 인스턴스를 관리하는 경우 사용자 지정 클러스터 범위 인스턴스가 적합할 수 있습니다.
이 방법은 어떻게 작동합니까?
사용자가 cluster-admin 권한을 사용하여 Argo CD 인스턴스를 배포하지 못하도록 하려면 Subscription 리소스에서 ARGOCD_CLUSTER_CONFIG_NAMESPACES 환경 변수를 사용하여 클러스터 권한으로 네임스페이스를 식별해야 합니다.
비 클러스터 관리자는 서브스크립션 리소스에 액세스할 수 없으므로 인스턴스의 권한을 승격하고 클러스터 보안을 우회할 수 없습니다.
인스턴스가 클러스터 범위로 지정되면 Operator는 클러스터 역할 및 클러스터 역할 바인딩을 자동으로 생성합니다. 이는 해당 네임스페이스의 Argo CD 애플리케이션 컨트롤러 및 서버 서비스 계정에 대해 생성됩니다.
이 기본 역할은 표준 cluster-admin 역할과 같지 않습니다. 훨씬 더 작은 권한 세트를 제공합니다. 필요에 따라 추가 클러스터 역할 또는 클러스터 역할 바인딩을 생성하여 이러한 권한을 확장할 수 있습니다.