티스토리 뷰
Openshift CRC(CodeReady Containers)
레드햇의 코드레디 컨테이너(CRC)는 개발자에게 개발 및 테스트에 완벽한 경량 로컬 OpenShift 4 클러스터를 제공합니다. 이 가이드에서는 우분투에서 CRC를 설정하는 과정을 안내하고, 그 과정에서 배운 몇 가지 팁과 요령을 공유합니다.
▣ 실습 준비
- 하이퍼바이저 : Proxmox 8.2
- VM 사양 : 6 vCPU / 24 GB / 130 GB
- CRC version: 2.56.0+cb4c91
- OpenShift version: 4.20.1
- 싱글노드 : 1식 (ubuntu24.04 LTS )
- Hardware virtualization support (VT-x or AMD-v)
▣ 사전 작업
ubuntu 24.04 LTS vm 설치 및 초기 설정
# Update package list
sudo apt update
# Install KVM and libvirt
sudo apt install qemu-kvm libvirt-daemon libvirt-daemon-system
# Verify KVM installation
kvm-ok
# Network-Manager 설치
sudo systemctl install -y network-manager
sudo systemctl enable --now network-manager
sudo systemctl status NetworkManager
# reboot
Install Required Dependencies
# Install QEMU and virtiofsd
sudo apt install qemu-system virtiofsd
# Add your user to the libvirt group
sudo usermod -aG libvirt $USER
newgrp libvirt
CRC 설치 (CentOs Stream 9 기준)
> crc version (버전 호환성 체크)
- CRC version: 2.56.0+cb4c91
- OpenShift version: 4.20.1
- MicroShift version: 4.20.0
CRC Download the latest from Red Hat's Developer portal
# Extract the archive
tar -xvf crc-linux-amd64.tar.xz
# Move binary to your PATH
sudo mv crc-linux-*/crc /usr/local/bin/
# Make it executable
sudo chmod +x /usr/local/bin/crc

Setup and Start CRC
# CRC 사전 설정
crc setup
# 설정 로그 확인 (문제 발생시)
crc setup --log-level debug
클러스터 시작
# CRC 시작 (15-30분 소요)
crc start
# secret 입력
- https://console.redhat.com/openshift/create/local 에서 secret-key 복사/붙여넣기
# 상세 로그 보기 (문제 발생시)
crc start --log-level debug
기본 설정 구성
# 풀러 시크릿 설정
crc config set pull-secret-file ~/pull-secret.txt
# 리소스 설정
crc config set memory 16384 # 16GB
crc config set cpus 6 # 8 CPU 코어
# 네트워크 설정 (필요시)
crc config set nameserver 8.8.8.8
# 구성 확인
crc config view
사전 검증
# 1. 중첩 가상화 확인 (반드시 출력 있어야 함)
grep -E 'vmx|svm' /proc/cpuinfo | head -3
# 2. KVM 모듈 로드 확인
lsmod | grep kvm
# 3. libvirt 데몬 상태
sudo systemctl status libvirtd --no-pager
# 4. 네트워크 인터페이스 확인
ip a | grep virbr
# 5. NetworkManager 활성화
sudo systemctl is-active NetworkManager
# 6. 디스크 공간 확인 (최소 100GB 필요)
df -h /home
# 7. 메모리 확인 (16GB 이상)
free -h
CRC 실행 결과
# Start the cluster
crc start
Started the OpenShift cluster.
The server is accessible via web console at:
https://console-openshift-console.apps-crc.testing
Log in as administrator:
Username: kubeadmin
Password: amRYG-hu6et-nJFnm-5GiEI
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u kubeadmin https://api.crc.testing:6443
<결과화면>

user services 유지(가장 중요)
# linger 활성화 (한 번만 실행하면 됨)
sudo loginctl enable-linger yeshua
# 상태 확인
loginctl user-status yeshua
# 또는
loginctl show-user yeshua
외부 노출을 위한 DNS 서버 등록

<웹 접속 화면>

<OC 클러스터 상태>

VM 리소스 권장사항
CPU: 8 cores (최소 4 cores)
Memory: 16GB (최소 12GB)
Disk: 100GB SSD (최소 64GB)
Network: Bridge 모드 (vmbr0)
레드헷 공식 사이트 : 로컬모드 설치용 파일 및 시크릿 다운로드
https://console.redhat.com/openshift/create/local
Hybrid Cloud Console
console.redhat.com
Proxmox VM 노드 설정 : 중첩 가상화 host 모드 적용
☞ 중첩 가상화 미지원: CRC는 KVM 기반 VM을 내부에서 한 번 더 띄우므로, Proxmox에서 중첩 가상화를 활성화해야 합니다.
# Proxmox 노드 셸에서 (VM이 꺼진 상태)
qm set <vmid> --cpu host
리눅스 사용자 계정 설정
# libvirt 그룹에 사용자 추가 (로그에 이미 확인됨, 하지만 재확인)
$ sudo usermod -a -G libvirt $(whoami)
$ sudo usermod -a -G kvm $(whoami) # KVM 그룹 추가 (vsock 관련)
# 그룹 변경 적용 (로그아웃/로그인 또는 재시작 필요)
$ newgrp libvirt # 임시 적용
$ newgrp kvm
# vhost_vsock 커널 모듈 로드 (vsock 지원 확인) => 오류발생시에만
$ sudo modprobe vhost_vsock
$ lsmod | grep vhost_vsock # 로드 확인 (vhost_vsock g ... 출력)
# /dev/vsock 권한 확인
$ ls -l /dev/vsock # crw-rw---- 1 root kvm ... 형태여야 함 (kvm 그룹에 rw 권한)
secret key config
# secret key config
crc config set pull-secret-file ~/openshift-crc/pull-secret.txt
CRC 모니터링
# 단계 1: 설정 적용 및 의존성 다운로드 (약 5-10분)
crc setup
# 단계 2: 클러스터 시작 (약 15-25분)
crc start
# 단계 3: 진행 상황 모니터링
watch -n 10 'crc status'
# 단계 4: 성공 후 환경 설정
eval $(crc oc-env)
oc login -u kubeadmin -p $(crc console --credentials | grep kubeadmin | awk '{print $2}') https://api.crc.testing:6443
※ 디스크 용량 부족할 경우
# Proxmox에서 VM 디스크 확장 (VM running 상태 OK)
1) Proxmox 웹 UI → VM 선택 → Hardware → Hard Disk (e.g., scsi0) → Edit.
2) Disk size: 현재(130G) → 원하는 크기 (e.g., 200G) → Resize → Confirm.
3) VM 재시작 (Shutdown → Start). (파티션 업데이트 위해 필요.)
# CentOS Stream 9 내 LVM home 확장
1) 파티션 확장 (growpart 설치 후)
sudo dnf install -y cloud-utils-growpart
sudo growpart /dev/sda 2 # sda2 크기 증가 (e.g., 129G → 199G)
sudo partprobe /dev/sda # 커널 인식
sudo reboot # 재부팅 (lsblk로 sda2 크기 확인)
2) 재부팅 후 LVM 확장
sudo pvresize /dev/sda2 # PV 크기 업데이트
sudo vgs # VFree 증가 확인 (e.g., 70G+)
sudo lvextend -l +100%FREE /dev/mapper/cs-home # home LV 전체 free 추가
sudo xfs_growfs /home # XFS 확장
df -h /home # 확인: home 용량 증가
oc CLI 도구 설치
# oc CLI 다운로드
cd ~/crc-install
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz
# 압축 해제 및 설치
tar -xvf openshift-client-linux.tar.gz
sudo mv oc kubectl /usr/local/bin/
sudo chmod +x /usr/local/bin/oc /usr/local/bin/kubectl
# 버전 확인
oc version
kubectl version --client
클러스터 접속 설정
# 환경 변수 설정
eval $(crc oc-env)
# 클러스터 상태 확인
oc get nodes
oc get pods -A
# kubeadmin 비밀번호 확인
crc console --credentials
※ CRC 재설치 (중간 에러 초기화)
# 재설치
crc stop
crc cleanup
crc setup ## 완전 초기화시에만 추가
crc start --memory 12288 --cpus 6
eval $(crc oc-env)
oc get nodes
# secret key config
crc config set pull-secret-file ~/openshift-crc/pull-secret.txt
# Proxmox 환경 특별 설정 (DNS 문제 방지)
crc config set host-network-access true
# libvirt 소켓 권한 수정
sudo chmod 666 /var/run/libvirt/libvirt-sock
sudo systemctl restart libvirtd
# 재설치할 때 다운받은 번들파일 재사용하는 법
crc cleanup
crc setup --bundle ~/.crc/cache/crc_libvirt_4.20.1_amd64.crcbundle
※ 그 밖에 오류 발생시 확인사항
# 방화벽 6443/tcp 열기
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --reload
# 데몬 로그 점검
tail -f ~/.crc/crcd.log
# libvirtd 상태
sudo systemctl status libvirtd
sudo systemctl restart libvirtd
CRC 중요 명령어
# crc 설치
crc setup
# crc start
crc start -p ~/Downloads/pull-secret
# Stop the cluster
crc stop
# Delete the cluster
crc delete
# View cluster status
crc status
# Get console URL and credentials
crc console --credentials
# Clean up CRC installation
crc cleanup
초기화 및 재설치
# 모든 것을 한 번에 정리하고 재시작
pkill -9 crc; \
virsh destroy crc 2>/dev/null; virsh undefine crc 2>/dev/null; \
crc cleanup; \
rm -rf ~/.crc; \
sudo systemctl restart libvirtd; \
newgrp libvirt; \
cd ~/openshift-crc; \
crc config set memory 16384; \
crc config set cpus 8; \
crc config set disk-size 60; \
crc config set consent-telemetry no; \
crc setup --log-level debug
<참고 사이트>
https://dev.to/khurammurad/how-to-set-up-openshift-local-crc-on-ubuntu-a-developers-guide-le2
How to Set Up OpenShift Local (CRC) on Ubuntu: A Developer's Guide
Red Hat's CodeReady Containers (CRC) provides developers with a lightweight, local OpenShift 4...
dev.to
https://www.server-world.info/en/note?os=CentOS_Stream_9&p=crc&f=1
'openshift' 카테고리의 다른 글
| [OpenShift] nginx 서비스 배포 (0) | 2025.11.19 |
|---|---|
| Fundamentals of Red Hat OpenShift Administration (0) | 2025.11.15 |
| 1. Introduction to Kubernetes and OpenShift (0) | 2025.11.15 |