Skip to content

StatefulSet 생성 ​

상태를 가지는 애플리케이션(데이터베이스 등)을 위한 StatefulSet을 생성합니다. StatefulSet은 안정적인 네트워크 ID와 영구 스토리지를 Pod에 제공합니다.

사전 조건

  • Container 앱 접근 권한, 대상 Cluster가 Active 상태
  • 배포 대상 Namespace 및 컨테이너 Image 준비
  • 영구 스토리지가 필요하면 StorageClass 준비

왼쪽 끝의 클러스터 아이콘을 눌러 대상 Cluster 안으로 들어간 뒤 Workloads → StatefulSets 메뉴를 엽니다.

StatefulSet 목록 조회 및 생성 페이지 진입 ​

생성된 StatefulSet이 목록으로 표시됩니다.

StatefulSet 목록 조회 및 생성 페이지 진입
번호기능항목설명
1-1목록 컬럼Status / Name워크로드 상태와 이름입니다.
Namespace소속 Namespace입니다.
Image컨테이너 Image입니다.
Ready준비된 Pod 수와 전체 Pod 수입니다.
Created at생성 시각입니다.
Action행 메뉴로 수정·삭제 등을 수행합니다.

'Create StatefulSet' 버튼을 클릭하면 폼(Create as Form) 또는 YAML 입력(Create as YAML) 중 방식을 선택할 수 있습니다.

생성 진입

Create StatefulSet: StatefulSet ​

리소스 고유 설정을 지정하는 첫 탭입니다. 상단의 Pod 탭과 컨테이너 탭(container-0)으로 전환하고, 우측 Summary의 Create로 생성합니다.

Create StatefulSet: StatefulSet
번호기능항목설명
3-1NamespaceNamespace· StatefulSet을 배포할 Namespace를 선택합니다. (필수)
3-2NameName· 고유한 StatefulSet 이름을 입력합니다. (필수)
3-3ReplicasReplicas· 실행할 Pod 복제본 수를 입력합니다. (필수)
3-4Service nameService name· Pod에 안정적 네트워크 ID를 부여할 Headless Service를 선택합니다. (필수)
3-5Selector labelsSelector labels· Add Selector로 추가한 행에 Pod 선택용 Match Labels의 Key·Value를 입력합니다. (필수)

Create StatefulSet: Pod ​

Pod 템플릿 수준 설정(종료·네트워크·스케줄링·리소스·보안·스토리지)을 섹션별로 지정합니다.

Create StatefulSet: Pod
번호기능항목설명
4-1Scaling and upgrade policyScaling and upgrade policy· Termination Grace Period에 Pod 종료 유예 시간을 초 단위로 입력합니다.
4-2NetworkingNetworking· Network mode·DNS policy·Hostname 등 Pod 네트워크 설정입니다.

Pod 템플릿 수준 설정(종료·네트워크·스케줄링·리소스·보안·스토리지)을 섹션별로 지정합니다.

Create StatefulSet: Pod (2)
번호기능항목설명
5-1Node schedulingNode scheduling· Pod를 배치할 노드 선택(nodeSelector·affinity) 규칙입니다.
5-2Pod schedulingPod scheduling· Add Pod Selector로 추가한 그룹에서 Pod affinity 유형·우선순위·대상 Pod를 지정합니다.

Pod 템플릿 수준 설정(종료·네트워크·스케줄링·리소스·보안·스토리지)을 섹션별로 지정합니다.

Create StatefulSet: Pod (3)
번호기능항목설명
6-1ResourcesResources· Pod 수준 리소스 관련 설정입니다.
6-2Security contextSecurity context· Pod Filesystem Group(fsGroup)을 지정합니다.
6-3StorageStorage· Pod 수준 볼륨/스토리지 설정입니다.

Create StatefulSet: Container ​

컨테이너의 이미지·네트워크·커맨드·환경변수·리소스 등 설정을 섹션별로 지정합니다.

Create StatefulSet: Container
번호기능항목설명
7-1ImageImage· Container Image·Pull Policy·Pull Secrets를 설정합니다.
7-2NetworkingNetworking· Add Port or Service로 추가한 행에 컨테이너가 노출할 Service 유형·포트를 입력합니다.

컨테이너의 이미지·네트워크·커맨드·환경변수·리소스 등 설정을 섹션별로 지정합니다.

Create StatefulSet: Container (2)
번호기능항목설명
8-1CommandCommand· 컨테이너의 Command·Args를 재정의합니다.
8-2Environment variablesEnvironment variables· Add Variable로 추가한 행에 환경변수의 Key·Value를 입력합니다.
8-3Service AccountService Account· 컨테이너가 사용할 Service Account를 지정합니다.

컨테이너의 이미지·네트워크·커맨드·환경변수·리소스 등 설정을 섹션별로 지정합니다.

Create StatefulSet: Container (3)
번호기능항목설명
9-1Lifecycle hooksLifecycle hooks· postStart·preStop 라이프사이클 훅을 설정합니다.
9-2ResourcesResources· CPU·메모리의 Reservation과 Limit을 설정합니다.

컨테이너의 이미지·네트워크·커맨드·환경변수·리소스 등 설정을 섹션별로 지정합니다.

Create StatefulSet: Container (4)
번호기능항목설명
10-1Security contextSecurity context· 컨테이너 보안 컨텍스트(권한·capabilities 등)입니다.
10-2Health checkHealth check· Liveness·Readiness·Startup probe를 설정합니다.
10-3StorageStorage· 볼륨 마운트 등 컨테이너 스토리지를 설정합니다.

주요 입력 항목 ​

  • Service Name — 연결할 Headless Service 이름. 각 Pod에 고정 DNS(pod-0.svc.namespace.svc.cluster.local)를 부여합니다.
  • Container Image — 예: mysql:8.0. Port·CPU/Memory Request·Limit을 함께 지정할 수 있습니다.
  • Volume Claim Templates — 각 Pod에 독립 PVC를 자동 생성합니다.
항목설명예시
Mount Path컨테이너 내 마운트 경로/var/lib/mysql
Storage Class스토리지 클래스standard
Access Mode접근 모드ReadWriteOnce
Capacity용량10Gi

비밀번호를 환경변수에 직접 입력하지 마세요

DB 비밀번호 등은 Secret을 생성하고 secretKeyRef로 참조하는 것을 권장합니다.

각 Pod가 name-0 → name-1 순서로 기동되고, Volume Claim Templates를 설정한 경우 Pod마다 PVC가 자동 생성됩니다.

AI 인프라의 새로운 기준