2.7.2. 다중 테넌트 클러스터에 권장되는 솔루션
Multinamespace 설치 모드가 존재하지만 Operator는 매우 적은 수의 Operator에서 지원합니다. 표준 모든 네임스페이스와 단일 네임스페이스 설치 모드 간의 중간 솔루션이므로 다음 워크플로우를 사용하여 각 테넌트에 대해 동일한 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의 동일한 버전 라인을 사용해야 합니다. 이를 위해서는 네임스페이스 범위 카탈로그를 사용해야 하며 글로벌 기본 카탈로그가 비활성화될 수 있습니다.