> For the complete documentation index, see [llms.txt](https://ia-cloud.gitbook.io/cloudia-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ia-cloud.gitbook.io/cloudia-manual/kubernetes/cluster.md).

# 클러스터

## 화면 개요

**클러스터**는 쿠버네티스 컨트롤 플레인, 워커 노드, 네트워크, 스토리지, 리소스를 통합 관리하는 기능입니다.

## 클러스터 목록

클러스터 목록을 확인합니다.

### 주요 작업

* `생성`: 새 클러스터를 생성합니다.
* `삭제`: 선택한 클러스터를 삭제합니다.

> 💡 **공통 조건:** 목록에서 좌측 **라디오 버튼**으로 클러스터를 선택합니다. 한 번에 **1개 클러스터만 선택**할 수 있습니다.

### 테이블 컬럼

| 컬럼           | 설명                                                                                             |
| ------------ | ---------------------------------------------------------------------------------------------- |
| **이름**       | 클러스터 이름입니다. 클릭하면 상세 화면으로 이동합니다.                                                                |
| **ID**       | 클러스터의 고유 ID입니다.                                                                                |
| **버전**       | 클러스터의 쿠버네티스 버전입니다.                                                                             |
| **엔드포인트 IP** | API 서버 접근에 사용하는 엔드포인트 IP 주소입니다.                                                                |
| **상태**       | 예: `UP`, `POWERING_UP`, `CREATING`, `DELETING`, `CA_ROTATING`, `PENDING`, `DOWN`, `ERROR_DOWN` |
| **컨트롤 플레인**  | 정상 상태의 컨트롤 플레인 수/전체 수를 `N/N` 형식으로 표시합니다.                                                       |
| **워커 노드**    | 정상 상태의 워커 노드 수/전체 수를 `N/N` 형식으로 표시합니다.                                                         |
| **생성 일시**    | 생성 일시를 표시합니다.                                                                                  |

### 검색

* **검색 조건**: 드롭다운에서 `이름`을 선택합니다.
* **검색어 입력**: 검색어를 입력합니다.
* **검색 버튼**: 검색 버튼을 클릭하여 검색을 실행합니다.

> ⚠️ **주의:** `삭제 중(DELETING)` 상태의 클러스터는 삭제할 수 없습니다.

***

## 클러스터 상세

선택한 클러스터의 기본 정보와 하위 탭을 확인합니다.

### 상단 요약

* **이름**: 클러스터 이름입니다.
* **ID**: 클러스터의 고유 ID입니다.
* **버전**: 쿠버네티스 버전입니다.
* **VPC**: `VPC 이름 (ID: VPC ID)` 형식으로 표시됩니다.
* **IP**: 엔드포인트 IP 주소입니다.
* **상태**: 클러스터 상태입니다.
* **생성 일시**: 생성 일시입니다.

### 주요 작업

* `Config 추출`: 서비스 계정 이름과 토큰을 입력해 kubeconfig 파일을 다운로드합니다.
* `CA 파일 재설정`: 새 `ca.crt` 와 `ca.key` 를 업로드해 CA를 재설정합니다.

#### Config 추출

* 입력 항목은 **서비스 계정**, **토큰**입니다.
* 두 값을 모두 입력해야 **추출** 버튼이 활성화됩니다.
* 다운로드 파일명은 `config`입니다.

#### CA 파일 재설정

* `ca.crt`, `ca.key` 를 모두 선택해야 저장할 수 있습니다.
* 재설정 중에는 상태가 `CA_ROTATING`으로 표시되며, 완료되면 다시 `UP`으로 복귀합니다.

> ⚠️ **주의:** CA 파일 재설정은 모든 노드가 정상 상태일 때만 진행할 수 있습니다.

### 하단 탭

상세 화면 하단에서는 `모니터링`, `컴퓨트`, `워커 오토 스케일링 그룹`, `네트워크`, `스토리지`, `리소스` 탭을 확인할 수 있습니다.

> ⚠️ **주의:** `CREATING` 상태에서는 **컴퓨트**, **워커 오토 스케일링 그룹**, **네트워크** 탭에서 생성 진행 상황과 연결 정보를 먼저 확인할 수 있습니다.

#### 모니터링 탭

클러스터 상태와 사용량을 모니터링합니다.

**주요 작업**

* `새로고침`: 최신 데이터를 다시 조회합니다.
* `자동 새로고침`: 일정 주기로 데이터를 자동 갱신합니다.

**주요 표시 영역**

* **컨트롤 플레인 평균 부하**: CPU, Memory, Disk 사용률
* **파드 상태**: `Running`, `Pending`, `Succeed`, `Failed`, `Unknown`
* **워커 노드 사용량**: CPU, Memory, `Network rx`, `Network tx`
* **노드 상태**: 컨트롤 플레인/워커의 정상 수와 전체 수

> 💡 **참고:** CPU 사용 제한이나 메모리 부족 위험이 감지되면 경고 문구가 함께 표시될 수 있습니다.

#### 컴퓨트 탭

컨트롤 플레인과 워커 노드 목록을 확인하고, 워커 노드 관련 작업을 수행합니다.

**주요 작업**

* `워커 노드 추가`: 새 워커 노드를 추가합니다.
* `워커 노드 삭제`: 선택한 워커 노드를 삭제합니다.

**테이블 컬럼**

| 컬럼                 | 설명                                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **역할**             | `컨트롤 플레인` 또는 `워커 노드`입니다.                                                                                                                          |
| **노드 이름**          | 클릭 시 VM 인스턴스 상세로 이동합니다.                                                                                                                           |
| **ID**             | 노드의 고유 ID입니다.                                                                                                                                     |
| **버전**             | 쿠버네티스 버전입니다.                                                                                                                                      |
| **기본 인터페이스 IP 주소** | 노드 IP 주소입니다.                                                                                                                                      |
| **인스턴스 타입**        | 연결된 인스턴스 타입입니다.                                                                                                                                   |
| **상태**             | 예: `READY`, `NOT_READY`, `UNKNOWN`, `PENDING`, `CREATING`, `DELETING`, `ERROR_DOWN`, `CA_ROTATING`, `MACHINE_DOWN`, `MACHINE_DELETED`, `ORPHANED` |
| **생성 일시**          | 생성 일시입니다.                                                                                                                                         |

> ⚠️ **주의:** 컨트롤 플레인 노드는 삭제할 수 없습니다.

> ⚠️ **주의:** `PENDING`, `CREATING`, `DELETING` 상태의 워커 노드는 삭제할 수 없습니다.

> ⚠️ **주의:** 생성 중이거나 삭제 중인 노드는 상세 화면으로 이동할 수 없습니다.

#### 워커 오토 스케일링 그룹 탭

워커 오토 스케일링 그룹 목록을 확인하고 관리합니다.

**주요 작업**

* `생성`: 워커 오토 스케일링 그룹을 생성합니다.
* `삭제`: 목록에서 선택한 그룹을 삭제합니다.

**테이블 컬럼**

| 컬럼          | 설명                                                           |
| ----------- | ------------------------------------------------------------ |
| **이름**      | 그룹 이름입니다. 클릭하면 상세 화면으로 이동합니다.                                |
| **ID**      | 그룹의 고유 ID입니다.                                                |
| **인스턴스 상태** | `READY/전체` 형식으로 표시합니다.                                       |
| **상태**      | 예: `UP`, `CREATING`, `DELETING`, `SCALING_OUT`, `SCALING_IN` |
| **생성 일시**   | 생성 일시입니다.                                                    |

#### 네트워크 탭

클러스터에 연결된 네트워크 리소스를 조회합니다.

**테이블 컬럼**

| 컬럼        | 설명                                                         |
| --------- | ---------------------------------------------------------- |
| **서브넷**   | `서브넷 이름 (ID: 서브넷 ID)` 형식으로 표시되며, 클릭하면 서브넷 상세로 이동합니다.       |
| **보안그룹**  | 연결된 보안그룹 목록입니다. 각 항목을 클릭하면 보안그룹 상세로 이동합니다.                 |
| **로드밸런서** | `로드밸런서 이름 (ID: 로드밸런서 ID)` 형식으로 표시되며, 클릭하면 로드밸런서 상세로 이동합니다. |

> 💡 **참고:** 클러스터 생성 시 자동으로 연결된 보안그룹과, 추가로 선택한 보안그룹을 함께 확인할 수 있습니다.

#### 스토리지 탭

스토리지 클래스와 PVC를 전환하여 조회하고 생성합니다.

**주요 작업**

* `스토리지 클래스 생성`
* `PVC 생성`

**스토리지 클래스 목록 컬럼**

| 컬럼            | 설명                            |
| ------------- | ----------------------------- |
| **이름**        | 스토리지 클래스 이름입니다.               |
| **경과 시간**     | 생성 후 경과 시간(`age`)입니다.         |
| **볼륨 확장 허용**  | `allowVolumeExpansion` 여부입니다. |
| **서버**        | `parameters.server` 값입니다.     |
| **공유 경로**     | `parameters.share` 값입니다.      |
| **프로비저너**     | `provisioner` 값입니다.           |
| **반환 정책**     | `Delete` 또는 `Retain`입니다.      |
| **볼륨 바인딩 모드** | `volumeBindingMode` 값입니다.     |
| **기본**        | 기본 스토리지 클래스 여부입니다.            |

**PVC 목록 컬럼**

| 컬럼           | 설명                    |
| ------------ | --------------------- |
| **이름**       | PVC 이름입니다.            |
| **경과 시간**    | 생성 후 경과 시간(`age`)입니다. |
| **상태**       | 예: `Pending`, `Bound` |
| **스토리지 클래스** | 연결된 스토리지 클래스입니다.      |
| **볼륨**       | 바인딩된 볼륨입니다.           |
| **설정 용량**    | 요청한 용량입니다.            |
| **접근 모드**    | 접근 모드입니다.             |

> 💡 **참고:** 스토리지 탭에서는 스토리지 클래스와 PVC를 조회하고 생성할 수 있습니다.

#### 리소스 탭

클러스터 리소스를 드롭다운으로 전환해 조회합니다.

**조회 대상**

* `시스템 파드`
* `디플로이먼트`
* `서비스`
* `데몬셋`
* `이벤트`

**표시 항목**

* **시스템 파드**: 이름, 네임스페이스, Phase, 노드 이름, Pod IP, Host IP, 재시작 횟수, 경과 시간, Ready, 상태, QoS Class
* **디플로이먼트**: 이름, 네임스페이스, Replicas(`readyReplicas/replicas`), 경과 시간, Ready, 상태, Strategy
* **서비스**: 이름, 네임스페이스, Type, Cluster IP, External IP, Ports, 경과 시간, 상태
* **데몬셋**: 이름, 네임스페이스, Desired Nodes, Available Nodes, 경과 시간, Ready Pods, 상태, Update Strategy
* **이벤트**: 경과 시간, Type, 네임스페이스, Reason, Message

> ⚠️ **주의:** 리소스 탭은 조회 전용입니다.

***

## 클러스터 생성

클러스터를 생성할 때 기본 정보, 네트워크, 컨트롤 플레인, 사용자 계정, CA 파일을 입력합니다.

> 💡 **참고:** 필수 항목을 모두 입력하면 **생성** 버튼이 활성화됩니다.

### 기본 정보

* **클러스터 이름**을 입력합니다.

#### 입력 필드 유효성

| 필드          | 허용 값         | 검증 규칙                | 비고     |
| ----------- | ------------ | -------------------- | ------ |
| **클러스터 이름** | 소문자, 숫자, `-` | 최대 `40자`, 첫 글자 숫자 불가 | **필수** |

### VPC 및 서브넷 설정

* **VPC**를 먼저 선택합니다.
* 선택한 VPC에 맞는 **서브넷**을 선택합니다.
* 필요한 경우 **추가 보안그룹**을 선택합니다.

> 💡 **참고:** 기본 보안그룹은 클러스터 생성 과정에서 자동으로 준비됩니다.

> ⚠️ **주의:** 추가 보안그룹은 최대 `4개`까지 선택할 수 있습니다.

### 컨트롤 플레인 설정

* **인스턴스 구성**을 선택합니다.
* **버전**을 선택합니다.
* **컨트롤 플레인 수**를 선택합니다.

#### 고급 옵션

버전을 선택하면 **고급 옵션**을 펼칠 수 있습니다. 고급 옵션에서는 다음 항목을 설정합니다.

* **디스크 크기 설정**을 입력합니다.
* **스토리지 도메인**을 선택합니다. (선택)

> 💡 **참고:** 컨트롤 플레인 수는 `1` 또는 `3` 중에서 선택합니다.

> 💡 **참고:** 고급 옵션은 **버전을 먼저 선택**해야 펼칠 수 있습니다.

> 💡 **참고:** 스토리지 도메인을 선택하면 해당 도메인에 인스턴스가 배치됩니다. 선택하지 않으면 시스템이 자동으로 배치합니다.

> ⚠️ **주의:** 디스크 크기 설정은 최소 `32 GB` 이상 입력합니다.

### 사용자 계정 및 인증 방식

* **사용자 이름**을 입력합니다.
* 인증 방식은 비밀번호 또는 SSH 키를 사용할 수 있습니다.
* 비밀번호를 사용하는 경우 비밀번호와 확인 값을 모두 입력합니다.

### CA 파일 설정

* **CA 인증서(`ca.crt`)**
* **개인 키(`ca.key`)**

두 파일을 모두 선택하거나, 모두 선택하지 않을 수 있습니다. CA 파일을 첨부하지 않으면 시스템이 자동으로 CA를 생성합니다.

> ⚠️ **주의:** CA 인증서와 개인 키 중 하나만 첨부할 수 없습니다. 둘 다 첨부하거나 둘 다 첨부하지 않아야 합니다.

#### CA 파일 직접 생성 예시

CA 파일을 직접 준비하려면 `openssl`로 개인 키와 자체 서명 인증서를 생성할 수 있습니다.

```bash
# 개인 키(ca.key) 생성
openssl genrsa -out ca.key 4096

# 자체 서명 CA 인증서(ca.crt) 생성 (유효기간 10년)
openssl req -x509 -new -nodes -key ca.key -days 3650 -subj "/CN=kubernetes-ca" -out ca.crt
```

> 💡 **참고:** 생성된 `ca.key`(개인 키)와 `ca.crt`(CA 인증서)를 CA 파일 설정에서 각각 첨부합니다.

#### 입력 필드 유효성

| 필드               | 허용 값                 | 검증 규칙             | 비고             |
| ---------------- | -------------------- | ----------------- | -------------- |
| **VPC**          | 프로젝트 내 VPC 1개        | 선택 필요             | **필수**         |
| **서브넷**          | 선택 가능한 서브넷 1개        | 선택 필요             | **필수**         |
| **추가 보안그룹**      | 선택 가능한 보안그룹          | 최대 `4개` 선택 가능     | 선택             |
| **인스턴스 구성**      | 인스턴스 타입 또는 직접 입력     | 유효한 값 선택 필요       | **필수**         |
| **버전**           | 사용 가능한 쿠버네티스 버전      | 선택 필요             | **필수**         |
| **컨트롤 플레인 수**    | `1` 또는 `3`           | 값 중 하나를 선택해야 함    | **필수**         |
| **디스크 크기 설정**    | 정수                   | 최소 `32 GB` 이상     | **필수** (고급 옵션) |
| **스토리지 도메인**     | 사용 가능한 스토리지 도메인      | 선택 가능             | 선택 (고급 옵션)     |
| **CA 인증서/개인 키**  | 파일 업로드               | 둘 다 첨부하거나 둘 다 미첨부 | 선택             |
| **사용자 계정/인증 방식** | 사용자명 + 비밀번호 또는 SSH 키 | 유효성 검사 통과 필요      | **필수**         |

### 생성 결과

* 생성 요청 직후 목록에 새 클러스터가 `CREATING` 상태로 표시됩니다.
* 완료되면 `UP` 상태로 전환됩니다.
* 클러스터 생성과 함께 컨트롤 플레인 노드, 로드밸런서, 타겟 그룹이 자동으로 준비됩니다.

> ⚠️ **주의:** 프로젝트 자원이나 서브넷의 사용 가능 IP가 부족하면 생성이 실패할 수 있습니다.

***

## 클러스터 삭제

클러스터를 선택한 뒤 삭제할 수 있습니다.

1. **클러스터 선택:** 목록에서 삭제하려는 클러스터를 선택한 뒤 **삭제** 버튼을 클릭합니다.
2. **삭제 확인:** 클러스터 삭제 확인 창이 나타납니다.
3. **삭제 실행:** 삭제 대상 클러스터를 다시 확인한 뒤 **삭제** 버튼을 눌러 진행합니다.

> ⚠️ **주의:** 클러스터를 삭제하면 클러스터에 연결된 리소스도 함께 정리됩니다. 삭제된 클러스터는 복구할 수 없습니다.

### 함께 정리되는 리소스

| 리소스               | 설명                                     |
| ----------------- | -------------------------------------- |
| **컨트롤 플레인 노드**    | 클러스터에 속한 모든 컨트롤 플레인 인스턴스가 삭제됩니다.       |
| **워커 노드**         | 클러스터에 속한 모든 워커 노드 인스턴스가 삭제됩니다.         |
| **워커 오토 스케일링 그룹** | 클러스터에 연결된 워커 오토 스케일링 그룹과 하위 노드가 삭제됩니다. |
| **로드밸런서**         | 클러스터 생성 시 자동으로 준비된 로드밸런서가 삭제됩니다.       |
| **타겟 그룹**         | 클러스터 생성 시 자동으로 준비된 타겟 그룹이 삭제됩니다.       |
| **클러스터 네트워크 구성**  | 클러스터에 연결된 네트워크 구성이 정리됩니다.              |

***

## 워커 노드 추가

컴퓨트 탭에서 워커 노드를 추가합니다.

> 💡 **참고:** 클러스터 상태가 `UP`일 때만 **워커 노드 추가** 버튼이 활성화됩니다.

### 기본 정보

* **인스턴스 구성**: 인스턴스 타입 선택 또는 직접 입력 방식으로 vCPU, 메모리를 설정합니다. GPU 인스턴스 타입을 선택하면 GPU 패스스루가 적용됩니다. 가속기를 사용하는 워커 노드를 추가할 때는 대상 호스트의 가속기 가용 용량을 검증하며, 가용 용량이 부족하면 노드 추가가 차단됩니다.
* **워커 노드 수**: 추가할 워커 노드 수를 입력합니다.
* **디스크 크기 설정**: 부팅 디스크 크기를 입력합니다.
* **스토리지 도메인**: 인스턴스를 배치할 스토리지 도메인을 선택합니다. (선택)

### 사용자 계정

* 사용자 계정과 인증 방식을 입력합니다.
* 비밀번호 또는 SSH 키를 사용할 수 있습니다.

#### 입력 필드 유효성

| 필드               | 허용 값                 | 검증 규칙                      | 비고     |
| ---------------- | -------------------- | -------------------------- | ------ |
| **인스턴스 구성**      | 인스턴스 타입 또는 직접 입력     | 유효한 값 선택 필요                | **필수** |
| **워커 노드 수**      | 정수                   | 최소 `1`, 최대 `5`(가용 IP 범위 내) | **필수** |
| **디스크 크기 설정**    | 정수                   | 최소 `32 GB` 이상              | **필수** |
| **스토리지 도메인**     | 사용 가능한 스토리지 도메인      | 선택 가능                      | 선택     |
| **사용자 계정/인증 방식** | 사용자명 + 비밀번호 또는 SSH 키 | 유효성 검사 통과 필요               | **필수** |

> 💡 **참고:** 생성 후 상태는 `CREATING` 을 거쳐 `READY` 로 바뀔 수 있습니다.

## 워커 노드 삭제

컴퓨트 탭에서 워커 노드를 선택한 뒤 삭제할 수 있습니다.

1. **워커 노드 선택:** 컴퓨트 탭에서 삭제하려는 워커 노드를 선택한 뒤 **워커 노드 삭제** 버튼을 클릭합니다.
2. **삭제 확인:** 노드 삭제 확인 창이 나타납니다.
3. **삭제 실행:** 삭제 대상 노드를 다시 확인한 뒤 **삭제** 버튼을 눌러 진행합니다.

> ⚠️ **주의:** 컨트롤 플레인 노드는 삭제 대상이 아닙니다.

> ⚠️ **주의:** `PENDING`, `CREATING`, `DELETING` 상태의 워커 노드는 삭제할 수 없습니다.

***

## 워커 오토 스케일링 그룹 상세

워커 오토 스케일링 그룹의 상세 정보와 하위 노드 목록을 확인합니다.

### 상단 요약

* **이름**: 그룹 이름입니다.
* **클러스터 ID**: 소속 클러스터의 고유 ID입니다.
* **상태**: 그룹 상태입니다.
* **인스턴스 상태**: `READY/전체` 형식으로 표시됩니다.
* **시작 템플릿**: 시작 템플릿 이름과 ID입니다.
* **Cloud-init**: 그룹에 적용된 사용자 계정 및 초기화 정보입니다.
* **타겟 그룹**: 연결된 타겟 그룹입니다.
* **그룹 정보**: 최소/최대 노드 수, 스케일 간격 정보를 표시합니다.
* **생성 일시**: 생성 일시입니다.
* **설명**: 그룹 설명입니다.

### 하단 노드 목록

하단에는 해당 그룹에 속한 워커 노드 목록이 표시됩니다. 컬럼 구성은 컴퓨트 탭과 동일한 계열입니다.

## 워커 오토 스케일링 그룹 생성

워커 오토 스케일링 그룹 생성 화면에서 시작 템플릿, 타겟 그룹, 그룹 정보, 조정 정책을 입력합니다.

### 기본 정보

* **이름**: 그룹 이름을 입력합니다.
* **설명**: 그룹 설명을 입력합니다. (선택)

### 시작 템플릿

* **인스턴스 구성**: 인스턴스 타입 선택 또는 직접 입력 방식으로 vCPU, 메모리를 설정합니다.
* **디스크 크기 설정**: 부팅 디스크 크기를 입력합니다.
* **스토리지 도메인**: 인스턴스를 배치할 스토리지 도메인을 선택합니다. (선택)
* **사용자 계정 및 인증 방식**: 사용자 이름, 비밀번호 또는 SSH 키를 설정합니다.

### 타겟 그룹 설정

* 타겟 그룹 생성 여부를 선택합니다.
* 생성하는 경우 프로토콜과 포트 번호를 입력합니다.

### 그룹 정보

* **초기 노드 수**
* **최소 노드 수**
* **최대 노드 수**
* **스케일 간격**

### 조정 정책

* **지표**: `CPU` 또는 `MEMORY`
* **스케일 인 대상값**
* **스케일 아웃 대상값**

#### 입력 필드 유효성

| 필드               | 허용 값                  | 검증 규칙                                    | 비고     |
| ---------------- | --------------------- | ---------------------------------------- | ------ |
| **이름**           | 영문/숫자/`-`/`_`         | 최대 `80자`                                 | **필수** |
| **설명**           | 문자열                   | 최대 `200자`                                | 선택     |
| **인스턴스 구성**      | 인스턴스 타입 또는 직접 입력      | 유효한 값 선택 필요                              | **필수** |
| **디스크 크기 설정**    | 정수                    | 최소 `32 GB` 이상                            | **필수** |
| **스토리지 도메인**     | 사용 가능한 스토리지 도메인       | 선택 가능                                    | 선택     |
| **사용자 계정/인증 방식** | 사용자명 + 비밀번호 또는 SSH 키  | 유효성 검사 통과 필요                             | **필수** |
| **타겟 그룹 포트**     | 1\~65535              | 타겟 그룹 생성 시 입력                            | 조건부 필수 |
| **그룹 정보**        | 초기/최소/최대 노드 수, 스케일 간격 | 최소 노드 수는 `1` 이상, 최대 노드 수는 최소 노드 수보다 커야 함 | **필수** |
| **조정 정책**        | 지표, 스케일 인/아웃 대상값      | 스케일 아웃 값은 스케일 인 값보다 커야 함                 | **필수** |

> 💡 **참고:** 워커 오토 스케일링 그룹의 노드는 클러스터와 같은 버전과 네트워크 구성을 따릅니다.

## 워커 오토 스케일링 그룹 삭제

목록에서 그룹을 선택한 뒤 삭제할 수 있습니다.

1. **그룹 선택:** 워커 오토 스케일링 그룹 탭에서 삭제하려는 그룹을 선택한 뒤 **삭제** 버튼을 클릭합니다.
2. **삭제 확인:** 그룹 삭제 확인 창이 나타납니다.
3. **삭제 실행:** 확인 창에서 **삭제** 버튼을 눌러 진행합니다.

> ⚠️ **주의:** 그룹 삭제 시 해당 그룹의 워커 노드도 함께 정리될 수 있습니다.

> ⚠️ **주의:** 그룹 삭제는 되돌릴 수 없습니다.

***

## 스토리지 클래스 생성

스토리지 탭에서 스토리지 클래스를 생성합니다.

1. **스토리지 탭 이동:** 클러스터 상세 화면 하단의 **스토리지** 탭을 클릭합니다.
2. **드롭다운 전환:** 드롭다운에서 `스토리지 클래스`를 선택합니다.
3. **생성 페이지 이동:** **스토리지 클래스 생성** 버튼을 클릭합니다.
4. **정보 입력:** 이름, 파일 시스템, 반환 정책을 입력합니다.
5. **생성:** **생성** 버튼을 눌러 스토리지 클래스를 생성합니다.

#### 입력 필드 유효성

| 필드         | 허용 값                 | 검증 규칙          | 비고     |
| ---------- | -------------------- | -------------- | ------ |
| **이름**     | 소문자, 숫자, `-`         | 최대 `60자`       | **필수** |
| **파일 시스템** | 선택 가능한 파일 시스템        | 선택 필요          | **필수** |
| **반환 정책**  | `Delete` \| `Retain` | 값 중 하나를 선택해야 함 | **필수** |

> 💡 **참고:** 파일 시스템은 클러스터와 연결된 네트워크에서 사용할 수 있는 항목만 선택할 수 있습니다.

## PVC 생성

스토리지 탭에서 PVC를 생성합니다.

1. **스토리지 탭 이동:** 클러스터 상세 화면 하단의 **스토리지** 탭을 클릭합니다.
2. **드롭다운 전환:** 드롭다운에서 `PVC`를 선택합니다.
3. **생성 페이지 이동:** **PVC 생성** 버튼을 클릭합니다.
4. **정보 입력:** 이름, 용량, 스토리지 클래스, 네임스페이스, 접근 모드를 입력합니다.
5. **생성:** **생성** 버튼을 눌러 PVC를 생성합니다.

#### 입력 필드 유효성

| 필드           | 허용 값                              | 검증 규칙          | 비고     |
| ------------ | --------------------------------- | -------------- | ------ |
| **이름**       | 소문자, 숫자, `-`                      | 최대 `60자`       | **필수** |
| **용량**       | 정수 + 단위                           | 최소 `1 GB` 이상   | **필수** |
| **스토리지 클래스** | 기존 스토리지 클래스 1개                    | 선택 필요          | **필수** |
| **네임스페이스**   | 선택 가능한 네임스페이스 1개                  | 선택 필요          | **필수** |
| **접근 모드**    | `ReadOnlyMany` \| `ReadWriteMany` | 값 중 하나를 선택해야 함 | **필수** |
