본문으로 건너뛰기

4.9. ReplicaSets (복제 세트)

개요

ReplicaSets 페이지는 멀티클러스터 환경의 모든 ReplicaSet을 통합적으로 조회하는 페이지입니다. ReplicaSet은 지정된 수의 파드 복제본을 항상 유지하도록 보장하는 Kubernetes 리소스입니다.

주요 목적:

  • 멀티클러스터 ReplicaSet 통합 조회
  • 클러스터별 ReplicaSet 상태 모니터링
  • 복제본 수 동적 조정 (스케일 업/다운)
  • ReplicaSet 관련 파드 확인

ReplicaSet 특징:

  • Deployment에 의해 자동 생성 및 관리
  • 지정된 복제본 수 유지
  • 파드 템플릿 기반 파드 생성
  • 셀렉터를 통한 파드 관리

참고: ReplicaSet은 일반적으로 Deployment에 의해 자동으로 관리됩니다. 직접 ReplicaSet을 생성하기보다 Deployment를 사용하는 것을 권장합니다.

화면 구성

ReplicaSets 페이지는 테이블 형태로 ReplicaSet 목록을 표시합니다. 이 리소스는 Managed 타입으로, 멤버 클러스터에 존재하는 리소스를 조회합니다.

ReplicaSets 메인 화면

페이지 상단 요소

요소설명
클러스터 필터특정 클러스터의 ReplicaSet만 표시
네임스페이스 필터특정 네임스페이스의 ReplicaSet만 표시
새로고침 버튼ReplicaSet 목록 갱신
검색창ReplicaSet 이름으로 검색

테이블 컬럼

컬럼설명정렬
이름ReplicaSet 이름
네임스페이스ReplicaSet이 속한 네임스페이스
클러스터ReplicaSet이 존재하는 클러스터
상태복제본 상태 (준비된/원하는) 및 실패 수
이미지컨테이너 이미지
셀렉터파드 셀렉터 레이블
경과시간ReplicaSet 생성 후 경과 시간
작업보기/삭제 버튼-

상태 표시

상태 컬럼은 ReplicaSet의 복제본 현황을 표시합니다:

상태설명표시
정상모든 복제본 준비 완료녹색 (예: 1/1)
진행 중일부 복제본 준비 중노란색 (예: 0/1)
실패파드 생성 실패빨간색 배지 (예: 1 실패)
비활성복제본 없음회색 (예: 0/0)

예: 0/1 1 실패 - 원하는 복제본 1개 중 0개 준비됨, 1개 실패

ReplicaSet 상세 정보

ReplicaSet 행을 클릭하면 상세 정보 패널이 열립니다.

ReplicaSet 상세 정보

상세 패널 헤더

요소설명
ReplicaSet 이름선택한 ReplicaSet 이름
Managed 배지멤버 클러스터 리소스 표시
네임스페이스ReplicaSet이 속한 네임스페이스
클러스터ReplicaSet이 존재하는 클러스터
복제본 상태준비된 복제본 / 원하는 복제본 (예: 1/1)

액션 버튼

버튼기능
스케일 다운복제본 수 감소
스케일 업복제본 수 증가
새로고침ReplicaSet 정보 갱신
보기YAML 보기 모드
삭제ReplicaSet 삭제

탭 메뉴

개요 탭

ReplicaSet의 기본 정보, 복제 세트 상태, 파드 상태, 컨테이너 이미지를 표시합니다.

기본 정보:

항목설명
이름ReplicaSet 이름
네임스페이스ReplicaSet이 속한 네임스페이스
클러스터ReplicaSet이 존재하는 클러스터
상태복제본 상태 (예: 1/1 준비됨)
경과시간생성 후 경과 시간
생성일ReplicaSet 생성 일시

복제 세트 상태:

프로그레스 바와 함께 복제본 상태를 시각적으로 표시합니다:

항목설명
원하는 복제본목표 복제본 수
준비된 복제본준비 완료된 복제본 수
사용 가능한 복제본사용 가능한 복제본 수
완전 레이블된 복제본모든 레이블이 적용된 복제본 수

파드 상태:

현재 파드 현황을 상태별로 표시합니다:

  • 실행 중 (Running): 정상 실행 중인 파드 수
  • 대기 중 (Pending): 스케줄링 대기 중인 파드 수
  • 실패 (Failed): 실패한 파드 수

컨테이너 이미지:

ReplicaSet에 정의된 컨테이너 이미지를 표시합니다. 복사 버튼으로 이미지 URL을 클립보드에 복사할 수 있습니다.

레이블 탭

ReplicaSet에 적용된 Kubernetes 레이블 목록을 표시합니다.

어노테이션 탭

ReplicaSet에 적용된 어노테이션 목록을 표시합니다.

파드 탭

해당 ReplicaSet이 관리하는 파드 목록을 표시합니다.

파드 탭
컬럼설명
이름파드 이름
클러스터파드가 실행 중인 클러스터
상태파드 상태 (실행 중/대기 중/실패)
노드파드가 스케줄된 노드
재시작 횟수파드 재시작 횟수
경과시간파드 생성 후 경과 시간
작업보기/삭제 버튼

이벤트 탭

ReplicaSet 관련 Kubernetes 이벤트를 표시합니다.

ReplicaSet 작업

스케일 업/다운

  1. ReplicaSet 선택
  2. 상세 패널에서 스케일 업(+) 또는 스케일 다운(-) 버튼 클릭
  3. 복제본 수 변경 확인

주의: Deployment에 의해 관리되는 ReplicaSet의 복제본 수를 직접 변경하면, Deployment가 원래 값으로 되돌릴 수 있습니다. Deployment의 복제본 수를 변경하는 것을 권장합니다.

ReplicaSet YAML 보기

  1. ReplicaSet 선택
  2. 상세 패널에서 "보기" 버튼 클릭
  3. YAML 뷰어에서 ReplicaSet 정의 확인

ReplicaSet 삭제

⚠️ 주의: ReplicaSet을 삭제하면 관련된 모든 파드도 함께 삭제됩니다. Deployment가 관리하는 ReplicaSet은 자동으로 재생성됩니다.

  1. 삭제할 ReplicaSet 선택
  2. 상세 패널에서 "삭제" 버튼 클릭
  3. 확인 다이얼로그에서 ReplicaSet 이름 입력
  4. "삭제" 버튼 클릭

사용 예시

시나리오 1: ReplicaSet 상태 확인

  1. ReplicaSets 페이지에서 확인할 ReplicaSet 클릭
  2. 개요 탭에서 복제 세트 상태 확인:
    • 프로그레스 바로 전체 상태 파악
    • 원하는 복제본 vs 준비된 복제본 비교
  3. 파드 상태 섹션에서 상세 현황 확인
  4. 문제가 있으면 이벤트 탭에서 원인 파악

시나리오 2: 클러스터별 ReplicaSet 조회

  1. 클러스터 필터 드롭다운 클릭
  2. 확인할 클러스터 선택
  3. 해당 클러스터의 ReplicaSet만 표시됨
  4. 필요시 네임스페이스 필터 추가 적용

시나리오 3: 실패한 ReplicaSet 문제 해결

  1. 상태 컬럼에서 "실패" 표시가 있는 ReplicaSet 클릭
  2. 개요 탭에서 파드 상태 확인:
    • 실패 파드 수 확인
  3. 파드 탭에서 실패한 파드 식별
  4. 파드 클릭하여 상세 정보 확인
  5. 이벤트 탭에서 실패 원인 파악
  6. 필요시 Deployment 또는 이미지 설정 수정

시나리오 4: ReplicaSet 파드 확인

  1. 파드를 확인할 ReplicaSet 클릭
  2. 파드 탭 선택
  3. 파드 목록에서 상태, 노드, 재시작 횟수 확인
  4. 개별 파드 클릭하여 상세 정보 확인
  5. 필요시 파드 로그 확인

시나리오 5: 복제본 수 조정

  1. 조정할 ReplicaSet 선택
  2. 상세 패널에서 스케일 업 또는 스케일 다운 버튼 클릭
  3. 복제 세트 상태에서 변경 사항 확인
  4. 파드 탭에서 새 파드 생성/삭제 확인

관련 개념

ReplicaSet vs Deployment

특성ReplicaSetDeployment
역할복제본 수 유지ReplicaSet 관리 및 롤아웃
업데이트수동 업데이트롤링 업데이트 지원
롤백지원 안 함자동 롤백 지원
권장 사용직접 사용 비권장표준 배포 방식
히스토리없음리비전 히스토리 유지

ReplicaSet 동작 원리

  1. 셀렉터 매칭: ReplicaSet은 셀렉터와 일치하는 파드를 관리
  2. 복제본 유지: 원하는 복제본 수와 실제 파드 수를 비교
  3. 파드 생성/삭제: 차이가 있으면 파드 생성 또는 삭제
  4. 지속적 감시: 파드 상태를 지속적으로 모니터링

파드 템플릿 해시

ReplicaSet 이름에 포함된 해시 (예: my-deployment-69459b88fc):

  • Deployment가 파드 템플릿 내용을 기반으로 생성
  • 템플릿 변경 시 새로운 해시로 새 ReplicaSet 생성
  • 이전 ReplicaSet은 0개 복제본으로 유지 (롤백용)

셀렉터

ReplicaSet이 관리할 파드를 식별하는 레이블:

selector:
matchLabels:
app: my-app
pod-template-hash: 69459b88fc
  • app: 애플리케이션 식별 레이블
  • pod-template-hash: Deployment가 자동 생성하는 해시

복제본 상태 필드

필드설명
replicas현재 파드 수
readyReplicasReady 상태인 파드 수
availableReplicas사용 가능한 파드 수
fullyLabeledReplicas모든 레이블이 적용된 파드 수

Managed 리소스

ReplicaSet은 Managed 리소스입니다:

  • 멤버 클러스터에 직접 존재하는 리소스
  • MCM 컨트롤 플레인에서 조회만 가능
  • 클러스터 필터로 특정 클러스터 리소스 조회
  • PropagationPolicy가 아닌 클러스터별 직접 관리

문제 해결

파드가 생성되지 않는 경우:

  • 이미지 Pull 실패 확인 (이미지 이름, 레지스트리 인증)
  • 리소스 부족 확인 (CPU, 메모리 제한)
  • 노드 셀렉터 또는 어피니티 설정 확인

복제본 수가 원하는 수와 다른 경우:

  • 스케줄러가 파드를 배치할 노드가 있는지 확인
  • PersistentVolumeClaim 바인딩 상태 확인
  • 리소스 쿼터 한도 확인

다음 단계