반응형

RKE2는 엔터프라이즈급 쿠버네티스 환경을 손쉽게 구성할 수 있는 랜처의 경량화 도구입니다. Ubuntu와 Rocky Linux를 중심으로 설치부터 검증까지 단계별로 알아보겠습니다.
필수 조건 확인
공통 사항
- OS 버전: Ubuntu 20.04+/Rocky Linux 8.5+
- RAM: 4GB 이상 (권장 8GB)
- CPU: 2코어 이상 (권장 4코어)
- 디스크: 60GB 이상 (권장 100GB SSD)
포트 개방
| 6443 | TCP | Kubernetes API |
| 9345 | TCP | RKE2 Supervisor API |
| 2379-2381 | TCP | etcd 통신 |
| 8472 | UDP | Flannel VXLAN |
| 10250 | TCP | kubelet API |
| 30000-32767 | TCP | NodePort 서비스 |
OS별 준비 작업
# Ubuntu
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
sudo apt update && sudo apt upgrade -y
sudo ufw disable
# Rocky Linux
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
sudo dnf update -y
sudo systemctl disable --now firewalld
sudo setenforce 0Ubuntu에 RKE2 설치
서버 노드 설정
# RKE2 서버 설치
curl -sfL https://get.rke2.io | sudo INSTALL_RKE2_TYPE="server" sh -
# 설정 디렉토리 생성
sudo mkdir -p /etc/rancher/rke2
# 설정 파일 생성
sudo tee /etc/rancher/rke2/config.yaml > ~/.bashrc
# 클러스터 상태 확인
kubectl get nodes
kubectl get pods -A워커 노드 추가
# 마스터 노드에서 토큰 확인
sudo cat /var/lib/rancher/rke2/server/node-token
# 워커 노드에서 RKE2 에이전트 설치
curl -sfL https://get.rke2.io | sudo INSTALL_RKE2_TYPE="agent" sh -
# 설정 파일 생성
sudo mkdir -p /etc/rancher/rke2
sudo tee /etc/rancher/rke2/config.yaml :9345
token:
node-label:
- "node-type=worker"
EOF
# 서비스 활성화 및 시작
sudo systemctl enable rke2-agent --nowRocky Linux에 RKE2 설치
서버 노드 설정
# SELinux 임시 비활성화
sudo setenforce 0
# RKE2 서버 설치
curl -sfL https://get.rke2.io | sudo INSTALL_RKE2_TYPE="server" sh -
# 설정 디렉토리 생성
sudo mkdir -p /etc/rancher/rke2
# 설정 파일 생성 (SELinux 지원 포함)
sudo tee /etc/rancher/rke2/config.yaml :9345
token:
selinux: true
node-label:
- "node-type=worker"
- "os=rocky"
EOF
# 서비스 활성화 및 시작
sudo systemctl enable rke2-agent --now설치 후 검증
클러스터 상태 확인
# kubeconfig 복사 및 권한 설정
sudo mkdir -p ~/.kube
sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
sudo chmod 600 ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
# PATH 설정
export PATH=$PATH:/var/lib/rancher/rke2/bin
echo 'export PATH=$PATH:/var/lib/rancher/rke2/bin' >> ~/.bashrc
# 노드 상태 확인
kubectl get nodes -o wide
# 시스템 Pod 상태 확인
kubectl get pods -A
# 클러스터 정보 확인
kubectl cluster-info컨테이너 런타임 테스트
# containerd 상태 확인
sudo /var/lib/rancher/rke2/bin/crictl ps
# 이미지 목록 확인
sudo /var/lib/rancher/rke2/bin/crictl images
# 네트워크 상태 확인
kubectl get svc -A
kubectl get endpoints -A테스트 애플리케이션 배포
# nginx 테스트 배포
kubectl create deployment nginx-test --image=nginx:latest
kubectl expose deployment nginx-test --type=NodePort --port=80
# 배포 상태 확인
kubectl get pods -l app=nginx-test
kubectl get svc nginx-test
# 서비스 테스트
NODE_PORT=$(kubectl get svc nginx-test -o jsonpath='{.spec.ports[0].nodePort}')
curl http://localhost:$NODE_PORTOS별 핵심 차이점
| 패키지 관리 | apt | dnf |
| 방화벽 | ufw disable | firewalld disable |
| SELinux | 기본 비활성화 | setenforce 0 필요 |
| 서비스 실행 | systemctl | systemctl |
| 설정 특이사항 | 기본 설정으로 충분 | selinux: true 권장 |
| 보안 정책 | AppArmor | SELinux |
Ubuntu 특화 설정
# AppArmor 프로파일 확인
sudo aa-status
# 필요 시 AppArmor 비활성화
sudo systemctl disable apparmor
sudo systemctl stop apparmorRocky Linux 특화 설정
# SELinux 상태 확인
getenforce
# SELinux 컨텍스트 설정
sudo setsebool -P container_manage_cgroup true
sudo setsebool -P virt_use_nfs true문제 해결 팁
일반적인 문제 해결
# 노드 미연결 문제
sudo journalctl -u rke2-server -f
sudo journalctl -u rke2-agent -f
# 포트 충돌 확인
sudo netstat -tulpn | grep 6443
sudo ss -tlnp | grep 9345
# 인증 오류 해결
sudo cat /var/lib/rancher/rke2/server/node-token
sudo cat /etc/rancher/rke2/config.yaml
# 서비스 재시작
sudo systemctl restart rke2-server
sudo systemctl restart rke2-agent네트워크 문제 진단
# CNI 상태 확인
kubectl get pods -n kube-system | grep calico
# 네트워크 정책 확인
kubectl get networkpolicies -A
# DNS 테스트
kubectl run test-pod --image=busybox --rm -it -- nslookup kubernetes.default성능 최적화
# etcd 성능 확인
sudo /var/lib/rancher/rke2/bin/crictl exec $(sudo /var/lib/rancher/rke2/bin/crictl ps --name etcd --quiet) etcdctl endpoint health
# 리소스 사용량 모니터링
kubectl top nodes
kubectl top pods -A고급 설정 옵션
고가용성(HA) 구성
# /etc/rancher/rke2/config.yaml (추가 마스터 노드)
server: https://첫번째-마스터-IP:9345
token:
tls-san:
- "로드밸런서-IP"
- "클러스터-도메인"커스텀 CNI 설정
# Cilium CNI 사용 예시
cni: "cilium"
disable-network-policy: false보안 강화 설정
# CIS 프로파일 적용
profile: "cis"
secrets-encryption: true
protect-kernel-defaults: true마무리
Ubuntu와 Rocky Linux 모두 RKE2 설치가 간편합니다. Calico CNI를 기본으로 제공해 네트워크 구성도 손쉽게 가능합니다. 첫 단계는 반드시 swap 메모리를 비활성화하고 필수 포트를 개방하세요.
핵심 포인트:
- swap 메모리 완전 비활성화 필수
- 방화벽 설정 및 필수 포트 개방
- OS별 특화 설정 (SELinux, AppArmor 등)
- 단일 명령어로 5분 내 설치 완료
- containerd 기반 경량 런타임으로 성능 최적화
RKE2는 엔터프라이즈 환경에서 요구하는 보안성과 안정성을 제공하면서도 설치와 관리가 간편한 차세대 쿠버네티스 플랫폼입니다.
반응형
'IT기술 > 쿠버네티스 (k8s)' 카테고리의 다른 글
| RKE2 보안 완벽 가이드: 기업과 정부를 위한 차세대 보안 쿠버네티스 (4) | 2025.07.10 |
|---|---|
| RKE2 v1.30.4 클러스터 10분 구축 가이드: AWS EC2로 프로덕션급 쿠버네티스 환경 만들기 (2) | 2025.07.08 |
| RKE2 설치 필수 요구사항 완벽 가이드: 성공적인 쿠버네티스 클러스터 구축 (0) | 2025.07.07 |
| RKE2 아키텍처 완벽 가이드: 차세대 엔터프라이즈 쿠버네티스 구조 분석 (0) | 2025.07.06 |
| RKE1 vs RKE2 완벽 비교 가이드: 차세대 엔터프라이즈 쿠버네티스로의 전환 (2) | 2025.07.04 |