IT기술/쿠버네티스 (k8s)

RKE2 설치 필수 요구사항 완벽 가이드: 성공적인 쿠버네티스 클러스터 구축

후스파 2025. 7. 7. 07:27
반응형

RKE2를 성공적으로 설치하기 위해 반드시 확인해야 할 운영체제, 포트 개방, 하드웨어 사양을 총정리합니다. 초보자도 쉽게 따라할 수 있는 실전 가이드입니다!


지원 운영체제 및 커널 버전

RKE2는 리눅스와 윈도우 환경에서 모두 설치 가능합니다.

LinuxUbuntu 18.04+, RHEL 7+, CentOS 7+, SLES 15 SP2+4.15+
WindowsServer 2019 LTSC, 2022 LTSC-

중요 사항

  • 윈도우 노드는 Calico CNI 필수 사용
  • 리눅스는 systemd 기반 배포판만 지원

지원 OS 상세 목록

# 지원되는 Linux 배포판 확인
cat /etc/os-release

# 커널 버전 확인
uname -r

# systemd 확인
systemctl --version

Linux 배포판 상세:

  • Ubuntu: 18.04, 20.04, 22.04, 24.04 LTS
  • RHEL: 7.x, 8.x, 9.x
  • CentOS: 7.x, 8.x (Stream 포함)
  • SLES: 15 SP2+
  • Oracle Linux: 7.x, 8.x
  • Rocky Linux: 8.x, 9.x
  • AlmaLinux: 8.x, 9.x

하드웨어 최소·권장 사양

최소(테스트용)2코어4GB50GB SSD
권장(프로덕션)4코어8GB100GB SSD

대규모 클러스터 가이드

0-2252코어4GB100GB SSD1Gbps
226-4504코어8GB200GB SSD10Gbps
451-13008코어16GB500GB SSD10Gbps
1300+16코어32GB1TB NVMe25Gbps

팁: SSD 사용 시 etcd 성능 70% 향상

스토리지 성능 테스트

# etcd 성능 벤치마크 (RKE2 설치 후)
export CRI_CONFIG_FILE=/var/lib/rancher/rke2/agent/etc/crictl.yaml
etcdcontainer=$(/var/lib/rancher/rke2/bin/crictl ps --label io.kubernetes.container.name=etcd --quiet)
/var/lib/rancher/rke2/bin/crictl exec $etcdcontainer etcdctl --cert /var/lib/rancher/rke2/server/tls/etcd/server-client.crt --key /var/lib/rancher/rke2/server/tls/etcd/server-client.key --cacert /var/lib/rancher/rke2/server/tls/etcd/server-ca.crt check perf

# 디스크 성능 테스트 (설치 전)
fio --name=etcd-test --ioengine=sync --rw=write --bs=2300 --size=5g --numjobs=1 --fdatasync=1

반드시 개방해야 할 포트

6443TCP인바운드Kubernetes API
9345TCP인바운드RKE2 Supervisor API
2379-2381TCP서버 간etcd 통신
30000-32767TCP양방향NodePort 서비스
8472UDP양방향Flannel VXLAN
10250TCP양방향kubelet API

방화벽 설정

# Ubuntu/Debian 방화벽 비활성화 (권장)
sudo ufw disable
sudo iptables -F

# CentOS/RHEL firewalld 비활성화 (필수)
sudo systemctl disable firewalld
sudo systemctl stop firewalld

# 또는 필요한 포트만 개방
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=9345/tcp
sudo firewall-cmd --permanent --add-port=2379-2381/tcp
sudo firewall-cmd --permanent --add-port=8472/udp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=30000-32767/tcp
sudo firewall-cmd --reload

네트워크 검증

# 포트 연결 테스트
nc -zv  6443
nc -zv  9345

# 네트워크 인터페이스 확인
ip addr show
ip route show

필수 선행 작업

Swap 메모리 비활성화

# 즉시 비활성화
sudo swapoff -a

# 영구 비활성화
sudo sed -i '/swap/d' /etc/fstab

# systemd 서비스로 관리 (권장)
sudo tee /etc/systemd/system/swapoff.service > /etc/rancher/rke2/config.yaml

NFS 클라이언트 설치

# Ubuntu/Debian
sudo apt update
sudo apt install -y nfs-common

# CentOS/RHEL
sudo yum install -y nfs-utils

# 또는 dnf (RHEL 8+)
sudo dnf install -y nfs-utils

시간 동기화

# NTP 활성화
sudo timedatectl set-ntp true

# 시간대 설정
sudo timedatectl set-timezone Asia/Seoul

# 상태 확인
timedatectl status

# chrony 설정 (선택사항)
sudo apt install -y chrony
sudo systemctl enable chronyd
sudo systemctl start chronyd

필수 패키지 설치

# Ubuntu/Debian
sudo apt update
sudo apt install -y curl wget net-tools vim tree openssh-server

# CentOS/RHEL
sudo yum install -y curl wget net-tools vim tree openssh-server

# 컨테이너 런타임 도구
sudo apt install -y socat conntrack ipset

특수 환경 대응 방안

프록시 서버 사용 시

# 환경 변수 설정
export HTTP_PROXY=http://프록시주소:포트
export HTTPS_PROXY=http://프록시주소:포트
export NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16

# 영구 설정
sudo tee -a /etc/environment /dev/null; then
    echo "systemd: 사용 가능 ✓"
else
    echo "systemd: 사용 불가 (설치 불가)"
fi

# 6. 네트워크 연결 확인
echo -e "\n6. 인터넷 연결:"
if curl -s --connect-timeout 5 https://get.rke2.io &>/dev/null; then
    echo "인터넷 연결: 정상 ✓"
else
    echo "인터넷 연결: 실패 (프록시 설정 확인)"
fi

echo -e "\n=== 검증 완료 ==="

마무리

RKE2 설치의 성공은 사전 준비에서 결정됩니다. 특히 etcd 성능을 위해 SSD 사용과 포트 개방을 꼼꼼히 확인하세요. 대규모 클러스터 구축 시 단계별 노드 추가를 권장하며, 윈도우 노드는 반드시 Calico CNI를 적용해야 합니다.
핵심 포인트:

  • systemd 기반 Linux 배포판에서만 설치 가능
  • 스왑 메모리 완전 비활성화 필수
  • 방화벽 비활성화 또는 필수 포트 개방
  • SSD 스토리지 사용으로 etcd 성능 최적화
  • 프록시/오프라인 환경 대응 방안 준비
  • 윈도우 노드는 Calico CNI 필수

지금 바로 체크리스트를 따라 준비하고 안정적인 쿠버네티스 환경을 구축해보세요. 사전 준비가 완료되면 단일 명령어로 5분 내에 RKE2 클러스터를 구축할 수 있습니다.

반응형