# 클러스터

노드 상태, 자원 분포, 사용량 추이, 외부 모니터링, 스토리지 현황을 한 화면에서 살펴봅니다.

관리자 메뉴 → **클러스터** 로 들어갑니다. 한 페이지 안에 다섯 개 탭이 들어 있습니다.

---

## 페이지 구성

| 탭 | 어떤 내용 |
|----|----------|
| 상태 | 노드 목록 · 진단 · 작업 배치 제외 |
| 분포 | 가속기가 어디에 어떻게 쓰이고 있는지 |
| 사용량 | CPU · 메모리 · 가속기 사용률 카드 |
| 모니터링 | Grafana 그래프 새 탭으로 열기 |
| 스토리지 | 저장소 유형별 용량 · 사용량 |

위쪽의 **마지막 업데이트 / 자동 새로고침 / 새로고침** 컨트롤은 모든 탭에 공통으로 적용됩니다.

---

## 상태 탭

### 요약 카드

| 카드 | 어떤 값 |
|------|---------|
| Ready 노드 | 정상 동작 중인 노드 수 |
| Drained 노드 | 새 작업을 잠시 안 받는 노드 수 |
| 전체 Pod | 클러스터의 전체 Pod 수 |
| 실행 중 Pod | 정상 실행 중인 Pod 수 |
| Pending Pod | 어디서 띄울지 기다리는 Pod 수 |

### 노드 목록

요약 카드 아래에 **Ready 노드** 와 **Drained 노드** 가 나뉘어 보입니다.

**보기 방식 — 그리드 / 리스트**

| 모드 | 어떤 식 |
|------|---------|
| 그리드 | 노드를 카드로. 가속기 시각화가 함께 보임 |
| 리스트 | 노드를 줄로. 많은 노드를 한눈에 |

**가속기 필터**

| 옵션 | 어떤 식 |
|------|---------|
| 전체 디바이스 | 모든 노드 표시 |
| 특정 가속기 | 그 가속기를 가진 노드만 표시 (예: NVIDIA A100) |

### 노드 상세

카드 또는 줄을 누르면 상세 창이 열립니다.

**노드 정보**

| 항목 | 어떤 값 |
|------|---------|
| 상태 배지 | Ready / NotReady / SchedulingDisabled |
| 역할 배지 | Control Plane / Data Plane |
| CPU | 가진 코어 수 |
| 메모리 | 가진 메모리 (GB) |
| 가속기 | 종류와 수 |
| 스토리지 | 가진 디스크 (GB) |

**실행 중인 Pod 목록**: 그 노드에서 동작 중인 Pod 목록이 같이 보입니다.

**노드 진단**

| 항목 | 의미 |
|------|------|
| NetworkUnavailable | 네트워크 문제 (CNI 등) |
| MemoryPressure | 메모리가 부족해지고 있음 |
| DiskPressure | 디스크가 부족해지고 있음 |
| PIDPressure | 프로세스 수 한계에 가까워짐 |

정상이면 초록색, 문제가 있으면 경고로 표시됩니다.

!!!warning 진단에 빨간불이 켜졌다면
새 Pod 배치가 막히거나 동작 중인 Pod가 흔들릴 수 있습니다. 즉시 원인을 살펴 조치합니다.
!!!

**작업 배치 제외 (Drain)**

상세 창 아래쪽 **스케줄러 제외** 버튼을 누르면 그 노드는 새 작업을 잠시 받지 않게 됩니다.

- 이미 동작 중인 Pod는 그대로 살아 있습니다.
- 하드웨어 점검, 드라이버 업데이트, 노드 정기 점검 때 씁니다.

---

## 분포 탭

가속기가 어디에 어떻게 쓰이고 있는지 시각화해서 보여 줍니다.

| 모드 | 어떤 식 |
|------|---------|
| 사용유무 | 쓰임 / 안 쓰임만 단순 표시 |
| Pod별 구분 | 각 GPU 슬롯이 어느 Pod에 가 있는지 |
| 그룹별 구분 | 그룹별로 어느 GPU를 점유 중인지 (색 범례 포함) |

그룹별 색깔 범례로 어느 팀이 어느 GPU를 쓰고 있는지 빠르게 봅니다.

---

## 사용량 탭

클러스터 전체 자원이 얼마나 차 있는지 카드와 막대로 보여 줍니다.

| 카드 | 단위 |
|------|------|
| CPU | 코어 |
| Memory | GB |
| 가속기 종류별 | 개수 |
| Storage | GB |

각 카드에 **사용량 / 한도 / 총량** 과 사용률 막대가 함께 있습니다.

| 범위 | 색 |
|------|-----|
| 0 ~ 69% | 기본 |
| 70 ~ 89% | 노랑 |
| 90% 이상 | 빨강 |

---

## 모니터링 탭

시간에 따른 사용량 추이는 Grafana로 봅니다. 모니터링 탭을 누르면 새 탭에서 Grafana가 열립니다.

Grafana는 Cluma와 별도로 클러스터 안 `monitoring` 작업 공간에 떠 있어야 하고, Cluma 관리자가 그 주소를 환경변수로 설정해 둔 경우에만 열립니다.

!!!note 탭을 눌러도 아무것도 안 열린다면
Grafana 주소가 비어 있는 상태입니다. 클러스터 배포 담당자에게 사용자 화면 빌드의 `NEXT_PUBLIC_GRAFANA_URL` 환경변수 설정을 요청하세요.
!!!

### Grafana에서 보이는 것

| 항목 | 어떤 그래프 |
|------|-----------|
| CPU 사용률 | 노드별 · 전체 |
| 메모리 사용률 | 노드별 · 전체 |
| GPU 사용률 | GPU 노드의 가속기 사용률 (DCGM 기반) |
| 네트워크 I/O | 노드별 송수신 |
| 디스크 I/O | 노드별 읽기 / 쓰기 |
| Pod 상태 | 작업 공간별 Pod 수 · 상태 추이 |

### Grafana 접속 정보

| 항목 | 기본값 |
|------|--------|
| 주소 | `http://grafana.internal` |
| 작업 공간 | `monitoring` |

!!!note 사내 도메인을 쓴다면
`grafana.internal` 같은 사내 도메인을 쓰는 경우, 작업 PC의 `/etc/hosts` 에 노드 IP 매핑을 추가합니다.

```
<노드 IP>  grafana.internal
```
!!!

---

## 스토리지 탭

클러스터에 등록된 저장소 유형별로 용량과 사용량을 봅니다.

| 항목 | 어떤 값 |
|------|---------|
| 스토리지 유형 | NFS / Local 등 |
| 전체 용량 | 클러스터가 인식한 총 용량 |
| 사용량 | 현재 쓰이고 있는 양 |
| 사용률 | 백분율 (70% 노랑 / 90% 빨강) |

---

## 사용량 탭 vs 모니터링 탭

| 구분 | 사용량 탭 | 모니터링 탭 |
|------|----------|------------|
| 무엇을 | 지금 얼마나 차 있는지 | 시간에 따른 사용량 변화 |
| 데이터 | 지금 이 순간의 스냅샷 | 과거부터 현재까지의 그래프 |
| 도구 | Cluma 내장 | Grafana (외부 연동) |

---

## 다음 단계

- [관리자 대시보드](./dashboard.md) — 그룹별 사용량
- [그룹 관리](./group-management.md) — 그룹별 자원 한도
