본문으로 건너뛰기

3.3. Namespaces (네임스페이스)

개요​

네임스페이스 페이지는 MCM 컨트롤 플레인에 존재하는 모든 네임스페이스를 관리합니다. 네임스페이스의 멀티클러스터 전파 상태를 확인하고, 새로운 네임스페이스를 생성하거나 기존 네임스페이스를 편집/삭제할 수 있습니다.

주요 목적:

  • MCM 컨트롤 플레인 네임스페이스 관리
  • 멀티클러스터 전파 상태 모니터링
  • 네임스페이스별 클러스터 동기화 상태 확인
  • 자동 스케줄링 설정 관리

화면 구성​

네임스페이스 페이지는 테이블 형태로 네임스페이스 목록을 표시합니다.

네임스페이스 메인 화면

페이지 상단 요소​

요소설명
필터 버튼전체 / 전파됨 / 미전파 필터링
새로고침 버튼네임스페이스 목록 갱신
생성 버튼새 네임스페이스 생성 다이얼로그 열기
검색창네임스페이스 이름으로 검색

필터 옵션​

필터설명
전체모든 네임스페이스 표시
전파됨멤버 클러스터에 전파된 네임스페이스만 표시
미전파전파되지 않은 네임스페이스만 표시
전파됨 필터

테이블 컬럼​

컬럼설명정렬
이름네임스페이스 이름 및 상태 아이콘✅
상태Active / Terminating✅
자동 스케줄링 건너뛰기Yes / No✅
동기화 상태동기화된 클러스터 수 / 전파된 클러스터 수✅
레이블네임스페이스에 적용된 레이블✅
경과시간네임스페이스 생성 후 경과 시간✅
작업편집/삭제 버튼-

네임스페이스 상태 아이콘​

이름 컬럼에는 네임스페이스 유형을 나타내는 아이콘이 표시됩니다:

아이콘의미설명
🔄 (파란색)멀티 클러스터에 전파된 네임스페이스PropagationPolicy가 적용되어 멤버 클러스터에 전파됨
⏭️ (노란색)자동 스케줄링 건너뛰기namespace.karmada.io/skip-auto-propagation 레이블이 적용됨
🔒 (빨간색)시스템 네임스페이스 (보호됨)karmada-system, kube-system 등 시스템 네임스페이스
시스템 배지시스템 네임스페이스시스템 용도로 사용되는 네임스페이스

동기화 상태​

전파된 네임스페이스의 경우, 동기화 상태 컬럼에 클러스터별 동기화 현황이 표시됩니다:

  • 3/3: 3개 클러스터 중 3개에 동기화 완료
  • 1/3: 3개 클러스터 중 1개에만 동기화 완료 (일부 실패)
  • 미전파: 어떤 클러스터에도 전파되지 않음

네임스페이스 상세 정보​

네임스페이스 행을 클릭하면 상세 정보 패널이 열립니다.

네임스페이스 상세 정보

상세 패널 헤더​

요소설명
네임스페이스 이름선택한 네임스페이스 이름
상태 배지Active / Terminating
전파 상태 배지전파됨 / 미전파
동기화 상태N/N 동기화 상태

액션 버튼​

버튼기능
새로고침네임스페이스 정보 갱신
편집YAML 편집 모드
삭제네임스페이스 삭제

탭 메뉴​

개요 탭​

네임스페이스의 기본 정보와 동기화 상태를 표시합니다.

기본 정보:

항목설명
이름네임스페이스 이름
상태Active / Terminating
시스템시스템 네임스페이스 여부 (예/아니오)
자동 스케줄링 건너뛰기자동 전파 건너뛰기 여부 (예/아니오)
동기화 대상전파 정책 적용 여부 (예/아니오)
경과시간생성 후 경과 시간
생성일네임스페이스 생성 일시

동기화 상태:

  • 동기화 미완료: 동기화되지 않은 클러스터 수
  • 동기화 완료: 동기화된 클러스터 수
  • 전체 클러스터: 전파 대상 클러스터 수

클러스터 동기화 상태:

  • 스케줄됨 여부
  • 전체 적용 여부
  • 동기화 현황 (N/N)
  • 각 클러스터별 상태 (Healthy / Unhealthy)

레이블 탭​

네임스페이스에 적용된 Kubernetes 레이블 목록을 표시합니다.

어노테이션 탭​

네임스페이스에 적용된 어노테이션 목록을 표시합니다.

파드 탭​

해당 네임스페이스에 존재하는 파드 목록을 표시합니다.

이벤트 탭​

네임스페이스 관련 Kubernetes 이벤트를 표시합니다.

네임스페이스 생성​

새로운 네임스페이스를 MCM 컨트롤 플레인에 생성합니다.

네임스페이스 생성 다이얼로그

입력 항목​

항목필수설명
네임스페이스 이름✅고유한 네임스페이스 이름
자동 스케줄링 건너뛰기-예 / 아니오 (기본값: 아니오)

네임스페이스 이름 규칙​

  • 소문자 영숫자 또는 '-'만 사용 가능
  • 영숫자로 시작하고 끝나야 함
  • 예: my-app, production, test-namespace

자동 스케줄링 건너뛰기​

옵션설명
예namespace.karmada.io/skip-auto-propagation=true 레이블 적용. 자동 전파 정책에서 제외됨
아니오기본값. 전파 정책에 따라 멤버 클러스터에 자동 전파될 수 있음

네임스페이스 편집​

기존 네임스페이스의 설정을 수정합니다.

  1. 편집할 네임스페이스 행에서 "편집" 버튼 클릭
  2. YAML 에디터에서 네임스페이스 정의 수정
  3. "저장" 버튼 클릭

편집 가능한 항목​

  • 레이블 (Labels)
  • 어노테이션 (Annotations)
  • 자동 스케줄링 건너뛰기 설정

참고: 시스템 네임스페이스는 편집이 제한될 수 있습니다.

네임스페이스 삭제​

⚠️ 주의: 네임스페이스를 삭제하면 해당 네임스페이스 내의 모든 리소스가 함께 삭제됩니다. 멤버 클러스터에 전파된 리소스도 삭제 정책에 따라 처리됩니다.

삭제 가능 조건​

  • 시스템 네임스페이스 (karmada-system, kube-system 등)는 삭제할 수 없습니다
  • 보호된 네임스페이스는 삭제할 수 없습니다

삭제 방법​

  1. 삭제할 네임스페이스 행에서 "삭제" 버튼 클릭
  2. 확인 다이얼로그에서 네임스페이스 이름 입력
  3. "삭제" 버튼 클릭

사용 예시​

시나리오 1: 멀티클러스터용 네임스페이스 생성​

  1. "생성" 버튼 클릭
  2. 네임스페이스 이름 입력 (예: my-app)
  3. 자동 스케줄링 건너뛰기: "아니오" 선택
  4. "확인" 버튼 클릭
  5. 생성된 네임스페이스에 PropagationPolicy 적용하여 멤버 클러스터에 전파

시나리오 2: 전파 제외 네임스페이스 생성​

  1. "생성" 버튼 클릭
  2. 네임스페이스 이름 입력 (예: local-only)
  3. 자동 스케줄링 건너뛰기: "예" 선택
  4. "확인" 버튼 클릭
  5. 해당 네임스페이스는 자동 전파 정책에서 제외됨

시나리오 3: 전파 상태 확인​

  1. "전파됨" 필터 클릭하여 전파된 네임스페이스만 표시
  2. 동기화 상태 컬럼에서 N/N 확인
  3. 동기화가 완료되지 않은 네임스페이스 클릭
  4. 상세 패널에서 클러스터별 동기화 상태 확인
  5. 문제가 있는 클러스터 식별 및 조치

시나리오 4: 네임스페이스 레이블 추가​

  1. 레이블을 추가할 네임스페이스 클릭
  2. 상세 패널에서 "편집" 버튼 클릭
  3. YAML에서 labels 섹션에 레이블 추가:
    metadata:
    labels:
    environment: production
    team: backend
  4. "저장" 버튼 클릭

관련 개념​

자동 스케줄링 건너뛰기​

MCM은 기본적으로 ClusterPropagationPolicy를 통해 네임스페이스를 자동으로 멤버 클러스터에 전파할 수 있습니다. namespace.karmada.io/skip-auto-propagation=true 레이블이 적용된 네임스페이스는 이러한 자동 전파에서 제외됩니다.

시스템 네임스페이스​

다음 네임스페이스는 시스템 네임스페이스로 보호됩니다:

  • karmada-system: Karmada 시스템 컴포넌트
  • karmada-cluster: 클러스터 관리 네임스페이스
  • karmada-es-*: 클러스터별 실행 공간 네임스페이스
  • kube-system: Kubernetes 시스템 컴포넌트
  • kube-public: 공개 리소스
  • kube-node-lease: 노드 리스 관리
  • default: 기본 네임스페이스

다음 단계​