2.7.2. 다중 테넌트 클러스터에 권장되는 솔루션
다중 네임스페이스 설치 모드가 존재하지만 매우 적은 Operator에서 지원합니다. 표준 All namespaces 및 Single namespace 설치 모드 간의 중간 솔루션으로 다음 워크플로를 사용하여 각 테넌트에 대해 동일한 Operator의 인스턴스를 여러 개 설치할 수 있습니다.
- 테넌트의 네임스페이스와 별도의 테넌트 Operator의 네임스페이스를 생성합니다.
- 테넌트 Operator 범위의 Operator group을 테넌트의 네임스페이스에만 생성합니다.
- 테넌트 Operator 네임스페이스에 Operator를 설치합니다.
결과적으로 Operator는 테넌트 Operator 네임스페이스에 상주하며 테넌트 네임스페이스를 감시하지만, 테넌트에서 Operator Pod 및 해당 서비스 계정을 볼 수 없거나 사용할 수 없습니다.
이 솔루션을 사용하면 더 나은 테넌트 분리, 리소스 사용 비용의 최소 권한 원칙, 제약 조건이 충족되도록 하는 추가 오케스트레이션을 제공합니다. 자세한 절차는 "다중 테넌트 클러스터용 Operator의 여러 인스턴스 준비"를 참조하십시오.
제한 사항 및 고려 사항
이 솔루션은 다음 제약 조건이 충족되는 경우에만 작동합니다.
- 동일한 Operator의 모든 인스턴스가 동일한 버전이어야 합니다.
- Operator는 다른 Operator에 대한 종속성을 가질 수 없습니다.
- Operator는 CRD 변환 Webhook를 제공할 수 없습니다.
동일한 클러스터에서 동일한 Operator의 다른 버전을 사용할 수 없습니다. 결국 다음 조건을 충족하면 Operator의 다른 인스턴스 설치가 차단됩니다.
- 인스턴스가 최신 버전의 Operator가 아닙니다.
- 인스턴스는 클러스터에서 이미 사용 중인 최신 버전 또는 버전이 없는 이전 버전의 CRD를 제공합니다.
관리자는 "클러스터 이외의 관리자가 Operator를 설치할 수 있도록 허용"에 설명된 대로 클러스터 이외의 관리자가 Operator를 직접 설치할 수 있도록 허용할 때 주의해야 합니다. 이러한 테넌트는 종속 항목이 없는 것으로 알려진 Operator의 선별된 카탈로그에만 액세스할 수 있어야 합니다. 이러한 테넌트는 CRD가 변경되지 않도록 하려면 Operator의 동일한 버전 행을 사용해야 합니다. 이를 위해서는 네임스페이스 범위 카탈로그를 사용해야 하며 글로벌 기본 카탈로그를 비활성화해야 합니다.