본문으로 건너뛰기

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: 기본 네임스페이스

다음 단계