참고 : 2024.9.24 기준으로 OpenShift Local은 v2.5이고, 공식 설명서는 https://docs.redhat.com/en/documentation/red_hat_openshift_local/2.5/html/getting_started_guide/index 에서 볼 수 있습니다.
애플리케이션이나 구성을 프로덕션 환경으로 전송하기 전에 테스트할 수 있는 랩은 배포를 원활하게 하고 프로덕션을 안정적으로 유지하는 데 매우 중요한 리소스입니다.
컨테이너 오케스트레이션에서도 마찬가지입니다. 프로덕션 환경이 소규모 클러스터이든, 대규모 온프레미스 환경이든, 심지어 클라우드의 Red Hat OpenShift Service on AWS(ROSA) 클러스터이든, 로컬 랩 환경에서 적절하게 테스트하여 구성이 올바른지 확인하면 동일한 이점을 얻을 수 있습니다.
OpenShift Local을 사용하면 개발자가 자체 머신에 소규모 단일 노드 OpenShift 클러스터를 배포하여 애플리케이션을 로컬에서 테스트할 수 있습니다. 또한 컨테이너 오케스트레이터에서 실행할 때 어떻게 동작하는지 확인할 수 있습니다.
이 문서에서는 로컬 Linux 머신에 OpenShift Local을 설치하는 방법을 보여드리겠습니다. 다른 운영 체제와 함께 OpenShift Local을 설치할 수도 있습니다. 자세한 내용은 공식 문서를 참조하세요.
OpenShift Local 시작하기
Linux의 경우, OpenShift Local 배포는 Fedora 및 Red Hat Enterprise Linux의 최신 릴리스 2종에서 지원됩니다. 다음 요구 사항이 있는 경우 다른 Linux 배포판에도 설치할 수 있습니다:
- Network manager
- Libvirt
- Qemu(qemu-kvm)
OpenShift Local을 시작하려면 Red Hat 콘솔에서 crc
도구를 다운로드하세요. Red Hat 계정이 없는 경우 Red Hat 개발자 프로그램을 통해 무료로 계정을 만들 수 있습니다.
로그인한 후 Red Hat OpenShift Local 화면에서 설치 패키지와 풀 시크릿(pull secret)을 모두 다운로드합니다:
다운로드가 완료되면 crc 도구의 압축을 풀고 경로 내 위치로 옮깁니다. 모든 것을 사용자 계정에 로컬로 유지하려면 다음과 같이 디렉터리를 만들어 경로에 추가합니다:
다운로드가 완료되면 crc 도구의 압축을 풀고 경로 내 위치로 옮깁니다. 모든 것을 사용자 계정에 로컬로 유지하려면 다음과 같이 디렉터리를 만들어 경로에 추가합니다:
$ cd ~/Downloads/
$ tar xvf crc-linux-amd64.tar.xz
crc-linux-2.16.0-amd64/
crc-linux-2.16.0-amd64/LICENSE
crc-linux-2.16.0-amd64/crc
$ mkdir -p ~/local/bin
$ mv crc-linux-*-amd64/crc ~/local/bin/
$ export PATH=$HOME/local/bin:$PATH
$ crc version
CRC version: 2.16.0+05b62a75
OpenShift version: 4.12.9
Podman version: 4.4.1
$ echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
OpenShift Local은 시스템의 가상 머신(VM)에서 단일 노드 클러스터로 실행됩니다. 따라서 실제 프로덕션 환경과 비교하면 몇 가지 제한 사항이 있습니다:
- 컨트롤 플레인과 작업자 노드가 동일한 머신에서 실행됨
- 클러스터는 임시적입니다.
- 클러스터는 자동 업데이트를 지원하지 않습니다.
기타 다른 차이점은 설명서를 참조하세요.
머신 설정
로컬 OpenShift 클러스터를 실행하기 전에 crc 설정을 사용하여 머신을 설정해야 합니다.
crc 설정은 $HOME/.crc 디렉터리를 사용하여 설치에 필요한 가상 머신 이미지를 캐시합니다. 홈 디렉터리에 최소 35GB의 여유 공간이 있는지 확인하세요. LVM을 사용하는 경우 명령을 실행하기 전에 논리 볼륨을 생성하고 .crc를 마운트할 수 있습니다.
처음 설정을 실행하면 제품 개선에 도움이 되는 익명 데이터를 제공할 것인지 묻는 메시지가 표시됩니다. 이 질문이 표시되지 않도록 하려면 crc config를 사용하여 옵션을 미리 구성할 수 있습니다:
$ crc config set consent-telemetry <yes/no>
$ crc config view
- consent-telemetry : yes
이제 설정을 실행하여 기기를 구성할 수 있습니다:
$ crc setup
클러스터가 실행 중일 때 클러스터에 연결할 수 있도록 crc가 NetworkManager에 일부 네트워크 구성을 추가할 수 있도록 sudo 비밀번호를 제공해야 합니다.
이 시점에서 crc는 로컬 클러스터의 가상 머신 이미지를 다운로드하고 압축을 풉니다. 이 작업은 네트워크 및 디스크 속도에 따라 시간이 오래 걸릴 수 있습니다.
OpenShift Local 시작
crc 설정 명령은 OpenShift를 실행하도록 시스템을 구성하고 $HOME/.crc에 VM 이미지를 캐시합니다. 그러나 클러스터를 자동으로 시작하지는 않습니다. 이 시점에서는 기본 구성으로 클러스터를 시작할 수 있습니다. 머신에 더 많은 리소스가 있고 OpenShift 클러스터에 사용할 수 있는 리소스를 늘리려면 crc 구성을 사용하여 CPU 또는 RAM 수와 같은 VM 구성을 조정할 수 있습니다.
기본 구성은 4개의 가상 CPU와 9GB의 RAM이 있는 VM을 만듭니다. 이 정도면 대부분의 경우 충분하지만 애플리케이션 요구 사항에 따라 더 많은 리소스가 필요할 수 있습니다. 예를 들어 가상 CPU 수를 8개로 늘리고 메모리를 16GB로 늘리려면 다음과 같이 crc 구성을 실행합니다:
$ crc config set cpus 8
$ crc config set memory 16384
$ crc config view
- consent-telemetry : yes
- cpus : 8
- memory : 16384
이제 crc start 명령으로 클러스터를 시작합니다. 이전에 다운로드한 풀시크릿 파일의 전체 경로를 명령줄에 전달하여 설치 중에 붙여넣을 필요가 없도록 할 수도 있습니다:
$ crc start -p ~/Downloads/pull-secret
crc start 명령은 VM을 생성하고 클러스터를 시작합니다. virsh를 사용하여 VM 리소스를 확인할 수 있습니다:
$ virsh -c qemu:///system dumpxml crc | grep -e vcpu -e "memory unit"
<memory unit='KiB'>16777216</memory>
<vcpu placement='static'>8</vcpu>
몇 분 후 클러스터가 실행되고 crc가 연결 정보를 인쇄합니다:
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: ahYhw-xJNMn-NyxMT-47t22
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u developer https://api.crc.testing:6443
새 클러스터에 액세스
OpenShift 로컬 클러스터가 실행 중이면 클러스터에 액세스하여 애플리케이션을 배포할 수 있습니다. crc 설정을 실행할 때 명령줄에서 클러스터에 연결할 수 있도록 oc와 같은 추가 명령줄 도구도 다운로드되었습니다. 이러한 도구를 사용하려면 해당 도구가 클러스터를 찾을 수 있도록 환경을 설정해야 합니다:
$ eval $(crc oc-env)
그런 다음, crc 설정 명령으로 생성한 비밀번호로 kubeadmin을 사용하여 관리자로 클러스터에 연결합니다:
$ oc login -u kubeadmin https://api.crc.testing:6443
이제 클러스터 정보에 액세스할 수 있습니다. 예를 들어, 제어 플레인과 워커 노드로 모두 작동하는 단일 노드가 실행 중인지 확인하려면 oc get nodes 명령을 사용하세요:
$ oc get nodes
NAME STATUS ROLES AGE VERSION
crc-8tnb7-master-0 Ready control-plane,master,worker 20d v1.25.7+eab9cc9
그래픽 콘솔을 사용하려면 브라우저에서 https://console-openshift-console.apps-crc.testing 을 가리키면 콘솔에 액세스할 수 있습니다:
다음 단계
OpenShift Local은 데스크톱이나 노트북에서 로컬 OpenShift 클러스터를 빠르고 쉽게 설정할 수 있는 방법을 제공합니다. 이를 통해 애플리케이션과 구성 매개변수를 프로덕션 환경으로 전송하기 전에 테스트할 수 있습니다. 또한 실제 프로덕션 환경에서 유용하게 사용할 OpenShift 기술을 배우거나 연습할 수 있는 훌륭한 옵션입니다.
이제 클러스터가 실행 중이므로 다음 글에서 클러스터에 샘플 애플리케이션을 배포하는 방법을 보여드리겠습니다.
출처 : https://www.redhat.com/sysadmin/install-openshift-local