# QKS Requirements ### 운영체제 지원 | 운영체제 | 버전 | 비고 | 필수 사항 | | -------- | ------------- | ---------------------- | -------------------------------------------- | | Ubuntu | 20.04 / 22.04 | LTS | | | RHEL | 8.x / 9.x | 스트림별 현재 안정버전 | 7.x 의 경우 커널 3.10.0-1127.el7.x86_64 이상 | > x86_64 아키텍쳐만 지원하며, 물리머신 또는 VM머신(AWS EC2포함)은 무관합니다. > RHEL의 경우, 아래의 버전이 검증되었습니다. > - 8.4 / 8.7 > - 9.x > CentOS의 경우, 2020년 12월 Discontinue 발표 후 7.8 / 8.2 외의 추가지원은 중단합니다. ### 하드웨어 스펙 | 노드 | 권장 (CPU/RAM) | 최소 (CPU/RAM) | 비고 | | ------------ | -------------- | -------------- | ---------------------------------------------------------- | | Control-Plane| 4 / 16G | 2 / 8G | K8s 순수 컨트롤 플레인만 해당 (30노드 이하) | | Worker | 8 / 32G | 4 / 16G | K8s 순수 검포넌트만 해당 (컨트롤러, 저장소, 모니터링, ...) | | Storage Ceph | 4 / 16G | 2 / 8G | 개별 노드로 분리할 경우 | | Storage NFS | 2 / 16G | 2 / 8G | 개별 노드로 분리할 경우 | > 30노드 이하의 Kubernetes 플랫폼이 원활히 작동하기 위한 사양이며, `비지니스 워크로드는 제외`입니다. ### 저장공간 스펙 | 구분 | 파티션 | 권장 | 최소 | 비고 | | ------------ | ---------- | ------ | ------ | ---------------------------------- | | Control-Plane| /data | 200 GB | 100 GB | CRI Images and Container Ephemeral | | | | | | K8s Container Ephemeral | | Worker | /data | 1 TB | 500 GB | CRI Images and Container Ephemeral | | | | | | K8s Container Ephemeral | | Storage 노드 | RAW 디스크 | 적당량 | 적당량 | 고객 데이터 | > 파티션 위치는 설정가능하며, 기본 위치는 CRI (/data/cri), K8s (/data/k8s) 하위 위치에 구성됩니다. > `Control-Plane 노드`의 요구사항은 Control-Plane 전용으로 구성할 때의 예시이며, `Control-Plane`이 비지니스 워크로드를 동시에 처리하는 환경이라면, `Worker 노드`의 예시를 적용합니다. ### 네트워크 포트 | 프로토콜 | 포트 범위 | 용도 | | -------- | ----------- | ----------------------------- | | TCP | 6443,8443 | Kubernetes API Server | | TCP | 2379-2381 | ETCD | | TCP | 10250 | Kubelet API | | TCP | 10251,10259 | Kubernetes Scheduler | | TCP | 10252,10257 | Kubernetes Controller Manager | | TCP | 10249 | Kube Proxy | | TCP | 30000-32767 | Service, NodePort | > `Kubernetes 노드 간에는 모든 통신이 가능`하도록 방화벽 해제가 권장됩니다. > `8443` 포트는 Load-Balancer 사용 시, `6443` 포트로 Forwarding 하기위한 포트입니다.