티스토리 뷰

openshift

[OpenShift] CRC install on Bare Metal VM

넷오빠 2025. 11. 16. 16:25

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

 

Red Hat's Developer portal

 

 

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

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함