DevOps 조직이 선언적(GitOps)으로 관리하는 애플리케이션 영역과 사용자가 포탈(Workbench)을 통해 온디맨드로 생성하는 샌드박스/분석 영역이 공존하는 복합 멀티테넌트 환경에서의 네임스페이스(Namespace) 관리 마스터 가이드 및 Best Practice입니다.
6,000명 단위의 사용자 인터페이스와 대규모 클러스터를 안정적으로 지탱하려면, Workbench가 네임스페이스를 생성하는 시점에 보안, 자원, 네트워크 격리 정책이 단 1초의 공백도 없이 패키지로 자동 주입(Provisioning)되도록 아키텍처 가드레일을 치는 것이 핵심입니다.
두 트랙의 관리 주체와 목적이 완전히 다르므로, 쿠버네티스 RBAC 및 모니터링 그룹화를 위해 접두사(Prefix)를 이용해 물리적 영역을 엄격히 격리해야 합니다.
<영역>-<도메인/서비스>-<환경>app-finops-prod, infra-aistor-prod, shared-starrocks-mgmtusr-<팀/부서>-<사번/계정명> (또는 wb- 접두사 사용)usr-analytics-honggd, usr-platform-kimsb사용자가 Workbench에서 "나만의 작업 공간 생성"을 누를 때, 백엔드 엔진은 단지 kind: Namespace만 생성해서는 안 됩니다. 해당 네임스페이스 내부에 다음 4대 핵심 오브젝트를 한 세트(Bundle)로 묶어서 동시에 배포해야 합니다. Workbench 백엔드 API에 템플릿화해 두거나, Kyverno 같은 Mutation 어드미션 컨트롤러를 도입하여 자동화하십시오.
ResourceQuota & LimitRange6,000명의 유저가 자율적으로 파드를 띄우기 때문에, 기동 즉시 클러스터 자원 고갈(Starvation)을 막는 쿼터가 강제 적용되어야 합니다.
NetworkPolicyWorkbench 네임스페이스는 기본적으로 "모든 타인으로부터의 인바운드 차단(Default Deny Isolation)" 정책이 적용되어야 합니다.
usr-analytics-honggd 네임스페이스 내부의 파드는 옆자리 usr-analytics-lee 파드와 통신할 수 없으며, DevOps가 관리하는 app- 계열의 내부 마이크로서비스를 직접 찌를 수 없도록 차단합니다.RBAC (RoleBinding)Workbench에서 로그인을 수행한 사용자(Keycloak OIDC 연동 계정 등)에게 해당 네임스페이스 내부에서만 왕처럼 군림할 수 있는 권한을 부여합니다.
admin 또는 edit 롤을 오브젝트 스토리지 생성 시 유저 계정과 RoleBinding으로 결합합니다.ClusterRoleBinding이 없으므로 API 서버 단에서 원천 차단됩니다.데이터 사이언티스트나 분석가들은 워크벤치에서 Jupyter Notebook이나 가설 검증용 Spark 파드를 띄워놓고 퇴근하거나 방치하는 경우가 매우 많습니다. 이는 대규모 노드 환경에서 자원 파편화와 유휴 손실의 주범이 됩니다.
usr- 계열 네임스페이스는 내부 워크로드를 자동으로 Downscaling(Replica 0) 하거나 배치를 종료하고 메신저로 경고를 날리는 자동 회수 메커니즘을 정착시키십시오.에어갭 내부 저장소(AIStor, Bitbucket 등)에 접근하기 위한 공통 Credential(접속 키 토큰, SSL 인증서 등)을 모든 유저 네임스페이스에 복사해 주는 작업은 관리적 오버헤드이자 보안 취약점입니다.
Kubed (Secret Syncer)를 도입하여, DevOps가 마스터 네임스페이스에 시크릿을 생성하고 어노테이션(kubed.appscode.com/sync: "")을 달아두면 새로 생성되는 모든 usr- 네임스페이스로 공통 시크릿이 실시간 복제되도록 파이프를 뚫어둡니다.사용자들이 워크벤치 안에서 대용량 원천 Parquet를 로컬 디스크로 무분별하게 다운로드받다가 노드의 Root 디스크를 고갈시키는 사고를 방지해야 합니다.
StorageClass만 사용하도록 제한하고, ResourceQuota 명세에 requests.storage 총량을 명확히 묶어두어 한 테넌트의 폭주가 물리 스토리지 풀 전체를 다운시키는 시나리오를 방어하십시오.| 관리 대상 요소 | DevOps 생성 영역 (app-) | Workbench 생성 영역 (usr-) |
|---|---|---|
| 생성 주체 | DevOps 엔지니어 | Workbench 플랫폼 API (무인 자동화) |
| 형태 | 선언적 매니페스트 (GitOps) | 템플릿 기반 동적 바인딩 |
| ResourceQuota | 도메인 스펙별 맞춤형 산정 | 엄격한 표준 기본 샌드박스 쿼터 적용 |
| LimitRange | 애플리케이션 특성별 수동 최적화 | 엄격한 가드레일용 Default값 강제 주입 |
| NetworkPolicy | 서비스 간 메쉬 통신 허용 | 외부 통신 완전 차단 (오직 인프라만 허용) |
| 보안 인증 | 서비스 어카운트 및 Vault 연동 | OIDC 유저 계정 1:1 맵핑 RoleBinding |
| 생명 주기 | 서비스 종료 시까지 영구 유지 | TTL 정책 적용 (유휴 시 자원 자동 회수) |