2.2. OPENMARU COP 구성
Master(Control Plane) 노드
Master 노드는 API Server, etcd, Controller Manager, Scheduler 등 클러스터 제어 컴포넌트가 실행되는 노드입니다. 고가용성 확보를 위해 최소 3식으로 구성하는 것을 권장합니다.
VM 정보
| 항목 | 사양(권장 최소값) |
|---|---|
| vCPU | 4 core 이상 |
| Memory | 16GB 이상 |
| Disk | 100GB 이상 (OS) + /var/lib/rancher 별도 볼륨 권장 |
| OS | Rocky Linux 9.5+ / Alma Linux 9.5+ / RHEL 9.5+ |
| 네트워크 | 관리망 1개 이상, 고정 IP |
ℹ️ 참고: 실제 운영 환경의 노드 사양은 워크로드 규모에 따라
env.yaml의master:항목과 함께 조정하십시오.
Infra 노드
Infra 노드는 모니터링, CI/CD 등 인프라성 워크로드를 애플리케이션 워크로드와 분리하여 실행하기 위한 선택적 노드입니다. env.yaml의 infra: 목록에 노드를 지정하면 Taint/Toleration을 통해 인프라 전용 워크로드만 스케줄링됩니다.
VM 정보
| 항목 | 사양(권장 최소값) |
|---|---|
| vCPU | 4 core 이상 |
| Memory | 16GB 이상 |
| OS Disk | 100GB 이상 |
| Data Disk | 200GB 이상(메트릭/로그 저장용, Observability/APM 구성 시) |
| OS | Rocky Linux 9.5+ / Alma Linux 9.5+ / RHEL 9.5+ |
Taint 관련 설정 키:
| 설정 키 | 설명 |
|---|---|
taint_master_node | Master 노드에 Taint를 적용해 일반 워크로드 스케줄링 차단 |
taint_infra_node | Infra 노드에 Taint를 적용해 인프라 전용 워크로드만 스케줄링 |
tolerate_ingress_master_node | Ingress Controller가 Master 노드에서도 동작하도록 허용 |
tolerate_ingress_infra_node | Ingress Controller가 Infra 노드에서도 동작하도록 허용 |
Worker 노드
Worker 노드는 실제 애플리케이션 워크로드(Pod)가 실행되는 노드입니다. 운영 규모에 따라 자유롭게 증설할 수 있습니다.
VM 정보
| 항목 | 사양(권장 최소값) |
|---|---|
| vCPU | 8 core 이상 |
| Memory | 32GB 이상 |
| Disk | 200GB 이상 |
| OS | Rocky Linux 9.5+ / Alma Linux 9.5+ / RHEL 9.5+ |
| GPU(선택) | NVIDIA GPU 장착 시 CogentAI/vLLM 등 AI 워크로드 실행 가능 |
ℹ️ Worker 노드 증설 절차는 3.1. OPENMARU COP 운영절차 - Worker/Infra 노드 증설을 참고하십시오.
GPU 노드(선택) VM 정보
CogentAI/vLLM 등 AI/GPU 워크로드를 운영하 는 경우, 별도의 GPU 노드를 구성합니다.
| 항목 | 사양(권장 최소값) |
|---|---|
| vCPU | 16 core 이상 |
| Memory | 64GB 이상 |
| GPU | NVIDIA GPU 1식 이상(VRAM 48GB 이상 권장) |
| OS Disk | 200GB 이상(NVMe 권장) |
| Data Disk | 500GB 이상(NVMe 권장, LLM 모델 저장용) |
| OS | Rocky Linux 9.5+ / Alma Linux 9.5+ / RHEL 9.5+ |
ℹ️ 참고: 위 표는 운영 편의를 위한 권장 최소값입니다. 워크로드 유형별 상세 사양은 설치 시 제공된 시스템 요구사항 문서를 참고하십시오.
Bastion
Bastion은 설치 자동화 및 DevOps 도구를 호스팅하는 관리 서버입니다. 상세 구성은 2.1. 시스템 구성 - Bastion 서버 구성을 참고하십시오.
VM 정보
| 항목 | 사양(권장 최소값) |
|---|---|
| vCPU | 4 core 이상 |
| Memory | 16GB 이상 |
| Disk | 500GB 이상 (NFS 공유 스토리지, 레지스트리 저장 공간 포함) |
| OS | Rocky Linux 9.5+ / Alma Linux 9.5+ / RHEL 9.5+ |
클러스터 기동 및 종료 절차
OPENMARU COP 클러스터 노드 기동 절차
전원 차단, 정기 점검 등으로 클러스터가 완전히 종료된 이후 재기동할 때는 다음 순서를 반드시 지켜야 합니다.
-
Bastion 서버 기동
# Bastion 서버 전원을 먼저 켠 후 기본 서비스 상태 확인systemctl status named chronyd haproxy nfs-server docker# Docker Engine이 정상 기동되어야 GitLab/Harbor/Jenkins/Nexus/ChartMuseum/MariaDB# 컨테이너가 함께 올라옵니다. 컨테이너 상태도 함께 확인합니다.docker ps -a -
Master 노드 순차 기동 (노드 1대씩 전원을 켠 후 서비스 상태 확인)
systemctl status rke2-server -
etcd/API Server 정상화 확인 (Master 전체 기동 후)
kubectl get nodes -o wide모든 Master 노드가
Ready상태가 될 때까지 대기합니다. -
Worker 노드 기동
systemctl status rke2-agent -
전체 클러스터 상태 확인
kubectl get nodes -o widekubectl get pods -A | grep -v Running
⚠️ 주의: Master 노드는 반드시 순차적으로 기동하고, 전체 Master가
Ready상태가 된 이후 Worker 노드를 기동해야 합니다. 동시에 기동할 경우 etcd Quorum 형성 지연으로 클러스터 초기화가 실패할 수 있습니다.
OPENMARU COP 클러스터 노드 종료 절차
계획된 정전, 데이터센터 이전 등으로 클러스터를 완전히 종료해야 하는 경우 다음 순서를 따릅니다.
-
애플리케이션 워크로드 안전 종료 확인
kubectl get pods -A -
Worker 노드 순차 Cordon/Drain
kubectl cordon <worker-node>kubectl drain <worker-node> --ignore-daemonsets --delete-emptydir-data -
Worker 노드 서비스 종료 후 전원 차단
systemctl stop rke2-agent -
Master 노드 서비스 종료 후 전원 차단 (마지막 노드부터 역순 권장)
systemctl stop rke2-server -
Bastion 서버 종료 (DevOps 도구/DNS/NFS 서비스가 모두 정상 종료된 것을 확인한 후 전원 차단)
⚠️ 주의: Worker 노드를 Drain하지 않고 강제로 종료하면 워크로드가 비정상 종료(SIGKILL)되어 데이터 유실이 발생할 수 있습니다. 반드시 Cordon/Drain 절차를 선행하십시오.
ℹ️ 참고: 정기 점검을 위한 무중단 롤링 재시작은 종료가 아닌 3.1. OPENMARU COP 운영절차 - Worker/Infra 노드 증설 및 Rolling Restart 자동화 플레이북(
openmaru-cop-rke2-rolling-restart.yaml)을 활용하십시오.