시작하기 가이드
Red Hat OpenShift Local 사용 및 개발을 위한 빠른 시작 가이드
Fabrice Flore-Thebault
ffloreth@redhat.comdevtools-docs@redhat.com
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. Introducing Red Hat OpenShift Local
1.1. Red Hat OpenShift Local 정보
Red Hat OpenShift Local은 최소 OpenShift Container Platform 4 클러스터 및 Podman 컨테이너 런타임을 로컬 컴퓨터에 제공합니다. 이러한 런타임은 개발 및 테스트 목적으로 최소한의 환경을 제공합니다. Red Hat OpenShift Local은 주로 개발자의 데스크탑에서 실행을 대상으로 합니다. 헤드리스 또는 멀티 개발자 설정과 같은 다른 OpenShift Container Platform 사용 사례의 경우 전체 OpenShift 설치 프로그램을 사용합니다.
OpenShift Container Platform에 대한 전체 개요는 OpenShift Container Platform 설명서 를 참조하십시오.
Red Hat OpenShift Local에는 원하는 컨테이너 런타임을 사용하여 Red Hat OpenShift Local 인스턴스와 상호 작용할 수 있는 crc CLI(명령줄 인터페이스)가 포함되어 있습니다.
1.2. 프로덕션 OpenShift Container Platform 설치의 차이점
Red Hat OpenShift Local의 OpenShift 사전 설정은 다음과 같은 주요 차이점이 포함된 일반 OpenShift Container Platform 설치를 제공합니다.
- OpenShift Container Platform 클러스터는 임시이며 프로덕션용으로 사용되지 않습니다.
- Red Hat OpenShift Local에는 최신 OpenShift Container Platform 버전으로의 업그레이드 경로가 없습니다. OpenShift Container Platform 버전을 업그레이드하면 재현하기 어려운 문제가 발생할 수 있습니다.
- 컨트롤 플레인 및 작업자 노드 둘 다로 작동하는 단일 노드를 사용합니다.
- 기본적으로 Cluster Monitoring Operator를 비활성화합니다. 이 비활성화된 Operator는 웹 콘솔의 해당 부분이 작동하지 않습니다.
- OpenShift Container Platform 클러스터는 인스턴스 라는 가상 머신에서 실행됩니다. 이로 인해 특히 외부 네트워킹과 다른 차이점이 있을 수 있습니다.
Red Hat OpenShift Local에서 제공하는 OpenShift Container Platform 클러스터에는 다음과 같은 사용자 정의 가능한 클러스터 설정도 포함되어 있습니다. 이러한 설정은 수정하지 않아야 합니다.
- *.crc.testing 도메인 사용
내부 클러스터 통신에 사용되는 주소 범위입니다.
- 클러스터는 172 주소 범위를 사용합니다. 예를 들어 프록시가 동일한 주소 공간에서 실행되는 경우 문제가 발생할 수 있습니다.
2장. 설치
2.1. 최소 시스템 요구 사항
Red Hat OpenShift Local에는 다음과 같은 최소 하드웨어 및 운영 체제 요구 사항이 있습니다.
2.1.1. 하드웨어 요구 사항
Red Hat OpenShift Local은 AMD64, Intel 64 프로세서 및 M1 아키텍처에서 지원됩니다. Red Hat OpenShift Local은 중첩된 가상화를 지원하지 않습니다.
원하는 컨테이너 런타임에 따라 Red Hat OpenShift Local에는 다음과 같은 시스템 리소스가 필요합니다.
2.1.1.1. OpenShift Container Platform의 경우
- 4개의 물리적 CPU 코어
- 9GB의 여유 메모리
- 35GB의 저장 공간
2.1.1.2. Red Hat Device Edge의 경우
- 물리적 CPU 코어 2개
- 4GB의 여유 메모리
- 35GB의 저장 공간
OpenShift Container Platform 및 Red Hat Device Edge 사전 설정은 Red Hat OpenShift Local 인스턴스에서 실행하려면 이러한 최소 리소스가 필요합니다. 일부 워크로드에는 더 많은 리소스가 필요할 수 있습니다. Red Hat OpenShift Local 인스턴스에 더 많은 리소스를 할당하려면 인스턴스 구성을 참조하십시오.
2.1.1.3. Podman 컨테이너 런타임의 경우
- 물리적 CPU 코어 2개
- 2GB의 여유 메모리
- 35GB의 저장 공간
2.1.2. 운영 체제 요구 사항
Red Hat OpenShift Local에는 다음과 같은 최소 버전의 지원되는 운영 체제가 필요합니다.
2.1.2.1. Microsoft Windows
- Microsoft Windows에서 Red Hat OpenShift Local에는 Windows 10 Fall Creators Update(버전1709) 이상이 필요합니다. Red Hat OpenShift Local은 이전 버전의 Microsoft Windows에서 작동하지 않습니다. Microsoft Windows 10 Home Edition은 지원되지 않습니다.
2.1.2.2. macOS
- macOS에서 Red Hat OpenShift Local에는 macOS 11 Big Sur 이상이 필요합니다. Red Hat OpenShift Local은 이전 버전의 macOS에서 작동하지 않습니다.
2.1.2.3. Linux
- Linux에서 Red Hat OpenShift Local은 최신 두 개의 Red Hat Enterprise Linux/CentOS 8 및 9 마이너 릴리스와 최신 두 개의 안정적인 Fedora 릴리스에서만 지원됩니다.
- Red Hat Enterprise Linux를 사용하는 경우 Red Hat OpenShift Local을 실행하는 시스템을 Red Hat 고객 포털에 등록해야 합니다.
- Ubuntu 18.04 LTS 이상 및 Debian 10 이상은 지원되지 않으며 호스트 머신에 대한 수동 설정이 필요할 수 있습니다.
- Linux 배포에 필요한 패키지를 설치하는 데 필요한 소프트웨어 패키지를 참조하십시오.
2.2. Linux에 필요한 소프트웨어 패키지
Red Hat OpenShift Local을 사용하려면 libvirt 및 NetworkManager 패키지가 Linux에서 실행되어야 합니다. Linux 배포를 위해 이러한 패키지를 설치하는 데 사용되는 명령을 찾으려면 다음 표를 참조하십시오.
표 2.1. 배포별 패키지 설치 명령
| Linux 배포 | 설치 명령 |
|---|---|
| Fedora/Red Hat Enterprise Linux/CentOS |
|
| Debian/Ubuntu |
|
2.3. Red Hat OpenShift Local 설치
Red Hat OpenShift Local은 Red Hat Enterprise Linux에서 이식 가능한 실행 파일로 제공됩니다. Microsoft Windows 및 macOS에서 Red Hat OpenShift Local은 가이드 설치 프로그램을 사용하여 사용할 수 있습니다.
사전 요구 사항
- 호스트 시스템이 최소 시스템 요구 사항을 충족해야 합니다. 자세한 내용은 최소 시스템 요구 사항을 참조하십시오.
절차
- 플랫폼에 대한 Red Hat OpenShift Local의 최신 릴리스 를 다운로드합니다.
- Microsoft Windows에서 아카이브의 내용을 추출합니다.
macOS 또는 Microsoft Windows에서 가이드 설치 프로그램을 실행하고 지침을 따르십시오.
참고Microsoft Windows에서는 로컬 C:\ 드라이브에 Red Hat OpenShift Local을 설치해야 합니다. 네트워크 드라이브에서 Red Hat OpenShift Local을 실행할 수 없습니다.
Red Hat Enterprise Linux에서 아카이브가 ~/Downloads 디렉터리에 있다고 가정하면 다음 단계를 따르십시오.
아카이브 내용을 추출합니다.
$ cd ~/Downloads $ tar xvf crc-linux-amd64.tar.xz
~/bin 디렉터리가 없는 경우 해당 디렉터리를 생성하고
crc실행 파일을 여기에 복사합니다.$ mkdir -p ~/bin $ cp ~/Downloads/crc-linux-*-amd64/crc ~/bin
$PATH:에 ~/bin 디렉토리를 추가합니다.$ export PATH=$PATH:$HOME/bin $ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
2.4. 사용 데이터 수집 정보
Red Hat OpenShift Local은 개발을 지원하기 위해 선택적 익명의 사용 데이터 수집을 사용하기 전에 메시지를 표시합니다. 개인 식별 정보는 수집되지 않습니다. 사용 데이터 수집에 대한 동의는 언제든지 사용자가 부여하거나 취소할 수 있습니다.
추가 리소스
- 수집된 데이터에 대한 자세한 내용은 Red Hat Telemetry 데이터 수집 알림을 참조하십시오.
- 사용 데이터 수집에 대한 동의를 부여하거나 취소하려면 사용 데이터 수집 구성을 참조하십시오.
2.5. 사용 데이터 수집 구성
사용 데이터 수집에 대한 동의는 다음 구성 명령을 사용하여 언제든지 사용자가 부여하거나 취소할 수 있습니다.
원격 분석 동의에 대한 변경 사항은 실행 중인 인스턴스를 수정하지 않습니다. 다음에 crc start 명령을 실행할 때 변경 사항이 적용됩니다.
절차
Telemetry를 수동으로 활성화하려면 다음 명령을 실행합니다.
$ crc config set consent-telemetry yes
Telemetry를 수동으로 비활성화하려면 다음 명령을 실행합니다.
$ crc config set consent-telemetry no
추가 리소스
- 수집된 데이터에 대한 자세한 내용은 Red Hat Telemetry 데이터 수집 알림을 참조하십시오.
2.6. Red Hat OpenShift Local 업그레이드
최신 버전의 Red Hat OpenShift Local 실행 파일을 사용하려면 이전 버전과의 비호환성을 방지하기 위해 수동 설정이 필요합니다.
절차
- Red Hat OpenShift Local의 최신 릴리스를 다운로드합니다.
기존 Red Hat OpenShift Local 인스턴스를 삭제합니다.
$ crc delete
주의crc delete명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.이전
crc실행 파일을 최신 릴리스의 실행 파일로 바꿉니다. 버전을 확인하여 새crc실행 파일이 사용 중인지 확인합니다.$ crc version
새로운 Red Hat OpenShift Local 릴리스를 설정합니다.
$ crc setup
새 Red Hat OpenShift Local 인스턴스를 시작합니다.
$ crc start
3장. Red Hat OpenShift Local 사용
3.1. 사전 설정 정보
Red Hat OpenShift Local 사전 설정은 관리되는 컨테이너 런타임과 인스턴스를 실행하는 데 필요한 시스템 리소스의 하한을 나타냅니다. Red Hat OpenShift Local은 OpenShift Container Platform, Red Hat Device Edge 및 Podman 컨테이너 런타임에 대한 사전 설정을 제공합니다.
Microsoft Windows 및 macOS에서 Red Hat OpenShift Local 설치 프로그램이 원하는 사전 설정을 입력하라는 메시지를 표시합니다. Linux에서는 OpenShift Container Platform 사전 설정이 기본적으로 선택됩니다. crc setup 명령을 실행하기 전에 crc config 명령을 사용하여 이 선택을 변경할 수 있습니다. Microsoft Windows 및 macOS의 시스템 트레이 또는 지원되는 모든 운영 체제의 명령줄에서 선택한 사전 설정을 변경할 수 있습니다. 한 번에 하나의 사전 설정만 활성화될 수 있습니다.
추가 리소스
- 각 사전 설정의 최소 시스템 요구 사항에 대한 자세한 내용은 최소 시스템 요구 사항을 참조하십시오.
- 선택한 사전 설정을 변경하는 방법에 대한 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
3.2. Red Hat OpenShift Local 설정
crc setup 명령은 Red Hat OpenShift Local 인스턴스에 대한 호스트 시스템의 환경을 설정하는 작업을 수행합니다.
crc setup 명령은 아직 없는 경우 ~/.crc 디렉터리를 생성합니다.
새 버전을 설정하는 경우 새 Red Hat OpenShift Local 릴리스를 설정하기 전에 인스턴스에 대한 변경 사항을 캡처합니다.
사전 요구 사항
-
Linux 또는 macOS에서 사용자 계정에
sudo명령을 사용할 수 있는 권한이 있는지 확인합니다. Microsoft Windows에서 사용자 계정이 관리자 권한으로 이동할 수 있는지 확인합니다.
root 사용자 또는 관리자로 crc 실행 파일을 실행하지 마십시오. 항상 사용자 계정으로 crc 실행 파일을 실행합니다.
절차
(선택 사항) Linux에서는 OpenShift Container Platform 사전 설정이 기본적으로 선택됩니다. Podman 컨테이너 런타임 사전 설정을 선택하려면 다음을 수행합니다.
$ crc config set preset podman
Red Hat OpenShift Local의 호스트 머신을 설정합니다.
$ crc setup
추가 리소스
- 사용 가능한 컨테이너 런타임 사전 설정에 대한 자세한 내용은 사전 설정 정보를 참조하십시오.
3.3. 인스턴스 시작
crc start 명령은 Red Hat OpenShift Local 인스턴스를 시작하고 구성된 컨테이너 런타임을 시작합니다.
사전 요구 사항
- 네트워킹 관련 문제를 방지하려면 VPN에 연결되지 않았으며 네트워크 연결이 안정적인지 확인하십시오.
-
crc setup명령을 사용하여 호스트 시스템을 설정합니다. 자세한 내용은 Red Hat OpenShift Local 설정을 참조하십시오. - Microsoft Windows에서 사용자 계정이 관리자 권한으로 이동할 수 있는지 확인합니다.
OpenShift 사전 설정의 경우 유효한 OpenShift 사용자 가져오기 보안이 있는지 확인합니다. Red Hat Hybrid Cloud Console의 Red Hat OpenShift Local 페이지의 Pull Secret 섹션에서 풀 시크릿을 복사하거나 다운로드합니다.
참고사용자 풀 시크릿에 액세스하려면 Red Hat 계정이 필요합니다.
절차
Red Hat OpenShift Local 인스턴스를 시작합니다.
$ crc start
OpenShift 사전 설정의 경우 메시지가 표시되면 사용자 풀 시크릿을 제공합니다.
참고클러스터에서 요청을 제공하기 전에 필요한 컨테이너 및 Operator를 시작하는 데 최소 4분이 걸립니다.
추가 리소스
- 인스턴스에 할당된 기본 리소스를 변경하려면 인스턴스 구성을 참조하십시오.
-
crc를 시작하는동안 오류가 표시되면 잠재적인 솔루션에 대한 Red Hat OpenShift Local 문제 해결 섹션을 참조하십시오.
3.4. OpenShift 클러스터에 액세스
OpenShift Container Platform 웹 콘솔 또는oc(OpenShift CLI)를 사용하여 Red Hat OpenShift Local 인스턴스에서 실행 중인 OpenShift Container Platform 클러스터에 액세스합니다.
3.4.1. OpenShift 웹 콘솔에 액세스
웹 브라우저를 사용하여 OpenShift Container Platform 웹 콘솔에 액세스합니다.
kubeadmin 또는 developer 사용자를 사용하여 클러스터에 액세스합니다. developer 사용자를 사용하여 프로젝트 또는 OpenShift 애플리케이션을 생성하고 애플리케이션 배포를 위해 사용합니다. kubeadmin 사용자는 새 사용자 생성 또는 역할 설정과 같은 관리 작업에만 사용합니다.
사전 요구 사항
- Red Hat OpenShift Local은 OpenShift 사전 설정을 사용하도록 구성되어 있습니다. 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
- 실행 중인 Red Hat OpenShift Local 인스턴스. 자세한 내용은 인스턴스 시작을 참조하십시오.
절차
기본 웹 브라우저를 사용하여 OpenShift Container Platform 웹 콘솔에 액세스하려면 다음 명령을 실행합니다.
$ crc console
crc start명령의 출력에 출력된 암호를 사용하여developer사용자로 로그인합니다. 다음 명령을 실행하여개발자및kubeadmin사용자의 암호를 볼 수도 있습니다.$ crc console --credentials
추가 리소스
- OpenShift Container Platform 설명서에서 는 프로젝트 및 애플리케이션 생성에 대해 설명합니다.
3.4.2. OpenShift CLI를 사용하여 OpenShift 클러스터에 액세스
OpenShift CLI(oc)를 사용하여 Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터에 액세스합니다.
사전 요구 사항
- Red Hat OpenShift Local은 OpenShift 사전 설정을 사용하도록 구성되어 있습니다. 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
- 실행 중인 Red Hat OpenShift Local 인스턴스. 자세한 내용은 인스턴스 시작을 참조하십시오.
절차
crc oc-env명령을 실행하여 캐시된oc실행 파일을$PATH에 추가하는 데 필요한 명령을 출력합니다.$ crc oc-env
- 출력된 명령을 실행합니다.
개발자로 로그인합니다.$ oc login -u developer https://api.crc.testing:6443
참고crc start명령은developer사용자의 암호를 출력합니다.crc console --credentials명령을 실행하여 볼 수도 있습니다.이제
oc를 사용하여 OpenShift Container Platform 클러스터와 상호 작용할 수 있습니다. 예를 들어 OpenShift Container Platform 클러스터 Operator를 사용할 수 있는지 확인하려면kubeadmin사용자로 로그인하고 다음 명령을 실행합니다.$ oc config use-context crc-admin $ oc whoami kubeadmin $ oc get co
참고Red Hat OpenShift Local은 기본적으로 Cluster Monitoring Operator를 비활성화합니다.
추가 리소스
- OpenShift Container Platform 설명서에서 는 프로젝트 및 애플리케이션 생성에 대해 설명합니다.
3.4.3. 내부 OpenShift 레지스트리에 액세스
Red Hat OpenShift Local 인스턴스에서 실행되는 OpenShift Container Platform 클러스터에는 기본적으로 내부 컨테이너 이미지 레지스트리가 포함되어 있습니다. 이 내부 컨테이너 이미지 레지스트리는 로컬에서 개발한 컨테이너 이미지의 게시 대상으로 사용할 수 있습니다. 내부 OpenShift Container Platform 레지스트리에 액세스하려면 다음 단계를 따르십시오.
사전 요구 사항
- Red Hat OpenShift Local은 OpenShift 사전 설정을 사용하도록 구성되어 있습니다. 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
- 실행 중인 Red Hat OpenShift Local 인스턴스. 자세한 내용은 인스턴스 시작을 참조하십시오.
-
작동 중인 OpenShift CLI(
oc) 명령. 자세한 내용은 OpenShift CLI를 사용하여 OpenShift 클러스터 액세스를 참조하십시오.
절차
클러스터에 로그인한 사용자를 확인합니다.
$ oc whoami
참고설명을 위해 현재 사용자는
kubeadmin이라고 가정합니다.토큰을 사용하여 해당 사용자로 레지스트리에 로그인합니다.
$ oc registry login --insecure=true
새 프로젝트를 생성합니다.
$ oc new-project demo
컨테이너 이미지의 예를 미러링합니다.
$ oc image mirror registry.access.redhat.com/ubi8/ubi:latest=default-route-openshift-image-registry.apps-crc.testing/demo/ubi8:latest --insecure=true --filter-by-os=linux/amd64
이미지 스트림을 가져오고 푸시된 이미지가 나열되어 있는지 확인합니다.
$ oc get is
이미지 스트림에서 이미지 조회를 활성화합니다.
$ oc set image-lookup ubi8
이 설정을 사용하면 내부 레지스트리에 전체 URL을 제공하지 않고도 이미지 스트림의 소스가 될 수 있습니다.
최근 내보낸 이미지를 사용하여 Pod를 생성합니다.
$ oc run demo --image=ubi8 --command -- sleep 600s
3.5. odo를 사용하여 샘플 애플리케이션 배포
odo 를 사용하여 명령줄에서 OpenShift 프로젝트 및 애플리케이션을 생성할 수 있습니다. 이 절차에서는 Red Hat OpenShift Local 인스턴스에서 실행 중인 OpenShift Container Platform 클러스터에 샘플 애플리케이션을 배포합니다.
사전 요구 사항
-
odo가 설치되어 있어야 합니다. 자세한 내용은 odo 문서의설치를 참조하십시오.odo - Red Hat OpenShift Local은 OpenShift 사전 설정을 사용하도록 구성되어 있습니다. 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
- Red Hat OpenShift Local 인스턴스가 실행 중입니다. 자세한 내용은 인스턴스 시작을 참조하십시오.
절차
Red Hat OpenShift Local에서
developer사용자로 관리하는 실행 중인 OpenShift Container Platform 클러스터에 로그인합니다.$ odo login -u developer -p developer
애플리케이션에 대한 프로젝트를 생성합니다.
$ odo project create sample-app
구성 요소 디렉터리를 생성합니다.
$ mkdir sample-app $ cd sample-app
Node.js 애플리케이션 예를 복제합니다.
$ git clone https://github.com/openshift/nodejs-ex $ cd nodejs-ex
애플리케이션에
nodejs구성 요소를 추가합니다.$ odo create nodejs
URL을 생성하고 로컬 구성 파일에 항목을 추가합니다.
$ odo url create --port 8080
변경 사항을 푸시합니다.
$ odo push
이제 액세스 가능한 URL을 사용하여 구성 요소가 클러스터에 배포됩니다.
URL을 나열하고 구성 요소에 필요한 URL을 확인합니다.
$ odo url list
- 생성된 URL을 사용하여 배포된 애플리케이션을 확인합니다.
추가 리소스
-
odo사용에 대한 자세한 내용은odo설명서를 참조하십시오.
3.6. 인스턴스 중지
crc stop 명령은 실행 중인 Red Hat OpenShift Local 인스턴스 및 컨테이너 런타임을 중지합니다. 중지 프로세스는 클러스터가 종료되는 데 몇 분이 걸립니다.
절차
Red Hat OpenShift Local 인스턴스 및 컨테이너 런타임을 중지합니다.
$ crc stop
3.7. 인스턴스 삭제
crc delete 명령은 기존 Red Hat OpenShift Local 인스턴스를 삭제합니다.
절차
Red Hat OpenShift Local 인스턴스를 삭제합니다.
$ crc delete
주의crc delete명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.
4장. Red Hat OpenShift Local 구성
4.1. Red Hat OpenShift 로컬 구성 정보
crc config 명령을 사용하여 crc 실행 파일과 Red Hat OpenShift Local 인스턴스를 둘 다 구성합니다. crc config 명령을 사용하려면 구성에서 작동하는 하위 명령이 필요합니다. 사용 가능한 하위 명령은 get,set, unset, view 입니다. get,set, unset 하위 명령은 구성 가능한 이름 있는 속성에서 작동합니다. crc config --help 명령을 실행하여 사용 가능한 속성을 나열합니다.
crc config 명령을 사용하여 crc start 및 crc setup 명령에 대한 시작 검사 동작을 구성할 수도 있습니다. 기본적으로 시작 검사에서는 오류를 보고하고 조건이 충족되지 않으면 실행을 중지합니다. 검사를 건너뛰려면 skip-check 로 시작하는 속성 값을 true 로 설정합니다.
4.2. Red Hat OpenShift 로컬 구성 보기
Red Hat OpenShift Local 실행 파일은 구성 가능한 속성 및 현재 Red Hat OpenShift Local 구성을 볼 수 있는 명령을 제공합니다.
절차
사용 가능한 구성 가능한 속성을 보려면 다음을 수행합니다.
$ crc config --help
구성 가능한 속성의 값을 보려면 다음을 수행합니다.
$ crc config get <property>전체 현재 구성을 보려면 다음을 수행합니다.
$ crc config view
참고구성이 기본값으로 구성된 경우
crc config view명령은 정보를 반환하지 않습니다.
4.3. 선택한 사전 설정 변경
원하는 사전 설정을 선택하여 Red Hat OpenShift Local 인스턴스에 사용되는 컨테이너 런타임을 변경할 수 있습니다.
Microsoft Windows 및 macOS에서는 시스템 트레이 또는 명령줄 인터페이스를 사용하여 선택한 사전 설정을 변경할 수 있습니다. Linux에서 명령줄 인터페이스를 사용합니다.
기존 Red Hat OpenShift Local 인스턴스의 사전 설정은 변경할 수 없습니다. 사전 설정 변경은 Red Hat OpenShift Local 인스턴스가 생성될 때만 적용됩니다. 사전 설정된 변경 사항을 활성화하려면 기존 인스턴스를 삭제하고 새 인스턴스를 시작해야 합니다.
절차
명령줄에서 선택한 사전 설정을 변경합니다.
$ crc config set preset <name>유효한 사전 설정된 이름은 OpenShift Container Platform의 경우
openshift, Podman 컨테이너 런타임의 경우 Red Hat Device Edge 및podman의 경우microshift입니다.
추가 리소스
- 각 사전 설정의 최소 시스템 요구 사항에 대한 자세한 내용은 최소 시스템 요구 사항을 참조하십시오.
4.4. 인스턴스 구성
cpus 및 memory 속성을 사용하여 각각 Red Hat OpenShift Local 인스턴스에서 사용할 수 있는 기본 vCPU 수 및 메모리 양을 구성합니다.
또는 각각 crc start 명령에 --cpus 및 --memory 플래그를 사용하여 vCPU 수와 메모리 양을 할당할 수 있습니다.
실행 중인 Red Hat OpenShift Local 인스턴스의 구성은 변경할 수 없습니다. 구성 변경 사항을 활성화하려면 실행 중인 인스턴스를 중지하고 다시 시작해야 합니다.
절차
인스턴스에서 사용할 수 있는 vCPU 수를 구성하려면 다음을 수행합니다.
$ crc config set cpus <number>cpus속성의 기본값은4입니다. 할당할 vCPU 수가 기본값보다 크거나 같아야 합니다.원하는 수의 vCPU로 인스턴스를 시작하려면 다음을 수행합니다.
$ crc start --cpus <number>인스턴스에서 사용할 수 있는 메모리를 구성하려면 다음을 수행합니다.
$ crc config set memory <number-in-mib>참고사용 가능한 메모리 값은 메비바이트(MiB)로 설정됩니다. 1GB(GiB) 메모리는 1024MiB와 같습니다.
메모리속성의 기본값은9216입니다. 할당할 메모리 양은 기본값보다 크거나 같아야 합니다.원하는 메모리 양으로 인스턴스를 시작하려면 다음을 수행합니다.
$ crc start --memory <number-in-mib>
5장. 네트워킹
5.1. DNS 구성 세부 정보
5.1.1. 일반 DNS 설정
Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터는 2개의 DNS 도메인 이름 crc.testing 및 apps-crc.testing 을 사용합니다. crc.testing 도메인은 핵심 OpenShift Container Platform 서비스용입니다. apps-crc.testing 도메인은 클러스터에 배포된 OpenShift 애플리케이션에 액세스하기 위한 것입니다.
예를 들어 OpenShift Container Platform API 서버는 OpenShift Container Platform 콘솔에 console-openshift-console.apps-crc.testing 으로 액세스하는 동안 api.crc.testing 으로 노출됩니다. 이러한 DNS 도메인은 Red Hat OpenShift Local 인스턴스 내부에서 실행되는 dnsmasq DNS 컨테이너에서 제공합니다.
crc setup 명령은 이러한 도메인을 확인할 수 있도록 시스템 DNS 구성을 감지하고 조정합니다. crc start 를 실행할 때 DNS가 올바르게 구성되었는지 확인하기 위해 추가 검사가 수행됩니다.
5.1.2. Linux
Linux에서 배포에 따라 Red Hat OpenShift Local은 다음과 같은 DNS 구성을 예상합니다.
5.1.2.1. NetworkManager + systemd-resolved
이 구성은 기본적으로 Fedora 33 이상 및 Ubuntu Desktop 버전에서 사용됩니다.
- Red Hat OpenShift Local은 NetworkManager가 네트워킹을 관리할 것으로 예상합니다.
-
Red Hat OpenShift Local은
테스트도메인에 대한 요청을192.168.130.11DNS 서버로 전달하도록systemd-resolv를 구성합니다.192.168.130.11은 Red Hat OpenShift Local 인스턴스의 IP입니다. systemd-resolved구성은 /etc/NetworkManager/dispatcher.d/99-crc.sh 의 NetworkManager 디스패처 스크립트를 사용하여 수행됩니다.#!/bin/sh export LC_ALL=C systemd-resolve --interface crc --set-dns 192.168.130.11 --set-domain ~testing exit 0
systemd-resolved 는 Red Hat Enterprise Linux 및 CentOS 8.3에서 지원되지 않는 기술 프리뷰로도 제공됩니다. systemd-resolved 를 사용하도록 호스트를 구성한 후 실행 중인 클러스터를 중지하고 crc setup 을 재실행합니다.
5.1.2.2. NetworkManager + dnsmasq
이 구성은 기본적으로 Fedora 32 이상, Red Hat Enterprise Linux 및 CentOS에서 사용됩니다.
- Red Hat OpenShift Local은 NetworkManager가 네트워킹을 관리할 것으로 예상합니다.
-
NetworkManager는 /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf 구성 파일과 함께
dnsmasq를 사용합니다. 이
dnsmasq인스턴스의 구성 파일은 /etc/NetworkManager/dnsmasq.d/crc.conf 입니다.server=/crc.testing/192.168.130.11 server=/apps-crc.testing/192.168.130.11
-
NetworkManager
dnsmasq인스턴스는crc.testing및apps-crc.testing도메인에 대한 요청을192.168.130.11DNS 서버로 전달합니다.
-
NetworkManager
5.2. 예약된 IP 서브넷
Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터는 호스트 네트워크와 충돌하지 않아야 하는 내부 사용을 위해 IP 서브넷을 예약합니다. 다음 IP 서브넷을 사용할 수 있는지 확인합니다.
예약된 IP 서브넷
-
10.217.0.0/22 -
10.217.4.0/23 -
192.168.126.0/24
또한 호스트 하이퍼바이저는 호스트 운영 체제에 따라 다른 IP 서브넷을 예약할 수 있습니다. 추가 서브넷은 macOS 및 Microsoft Windows에 예약되지 않습니다. Linux의 추가 예약된 서브넷은 192.168.130.0/24 입니다.
5.3. 프록시 뒤에서 Red Hat OpenShift Local 시작
환경 변수 또는 구성 가능한 속성을 사용하여 정의된 프록시 뒤에서 Red Hat OpenShift Local을 시작할 수 있습니다.
OpenShift Container Platform에서는 Cryostat 프록시를 지원하지 않습니다.
사전 요구 사항
-
crc oc-env를 사용하지 않는 경우 클러스터와 상호 작용할 때no_proxy환경 변수의 일부로.testing도메인을 내보냅니다. 포함된oc실행 파일은 수동 설정이 필요하지 않습니다. 포함된oc실행 파일을 사용하는 방법에 대한 자세한 내용은 OpenShift CLI를 사용하여 OpenShift 클러스터 액세스를 참조하십시오.
절차
http_proxy및https_proxy환경 변수를 사용하거나 다음과 같이crc config set명령을 사용하여 프록시를 정의합니다.$ crc config set http-proxy http://proxy.example.com:<port> $ crc config set https-proxy http://proxy.example.com:<port> $ crc config set no-proxy <comma-separated-no-proxy-entries>
프록시에서 사용자 정의 CA 인증서 파일을 사용하는 경우 다음과 같이 설정합니다.
$ crc config set proxy-ca-file <path-to-custom-ca-file>
Red Hat OpenShift Local의 구성에 설정된 프록시 관련 값은 환경 변수로 설정된 값보다 우선 순위가 있습니다.
5.4. 원격 서버에서 Red Hat OpenShift Local 설정
Red Hat OpenShift Local에서 제공하는 OpenShift Container Platform 클러스터를 실행하도록 원격 서버를 구성합니다.
이 절차에서는 Red Hat Enterprise Linux, Fedora 또는 CentOS 서버를 사용하는 것으로 가정합니다. 원격 서버의 이 절차에서 모든 명령을 실행합니다.
이 절차는 로컬 네트워크에서만 수행합니다. 인터넷에서 비보안 서버를 노출하는 것은 많은 보안에 영향을 미칩니다.
사전 요구 사항
- Red Hat OpenShift Local이 원격 서버에 설치되어 설정되어 있습니다. 자세한 내용은 Red Hat OpenShift Local 설치 및 Red Hat OpenShift Local 설정을 참조하십시오.
- Red Hat OpenShift Local은 원격 서버에서 OpenShift 사전 설정을 사용하도록 구성되어 있습니다. 자세한 내용은 선택한 사전 설정 변경 을 참조하십시오.
-
사용자 계정에는 원격 서버에 대한
sudo권한이 있습니다.
절차
클러스터를 시작합니다.
$ crc start
이 절차 중에 클러스터가 계속 실행 중인지 확인합니다.
haproxy패키지 및 기타 유틸리티를 설치합니다.$ sudo dnf install haproxy /usr/sbin/semanage
클러스터와의 통신을 허용하도록 방화벽을 수정합니다.
$ sudo systemctl enable --now firewalld $ sudo firewall-cmd --add-service=http --permanent $ sudo firewall-cmd --add-service=https --permanent $ sudo firewall-cmd --add-service=kube-apiserver --permanent $ sudo firewall-cmd --reload
SELinux의 경우 HAProxy가 이 포트에서
kube-apiserver를 제공할 수 있도록 TCP 포트 6443에서 수신 대기하도록 허용합니다.$ sudo semanage port -a -t http_port_t -p tcp 6443
기본
haproxy구성의 백업을 생성합니다.$ sudo cp /etc/haproxy/haproxy.cfg{,.bak}클러스터와 함께 사용할
haproxy를 구성합니다.$ export CRC_IP=$(crc ip) $ sudo tee /etc/haproxy/haproxy.cfg &>/dev/null <<EOF global log /dev/log local0 defaults balance roundrobin log global maxconn 100 mode tcp timeout connect 5s timeout client 500s timeout server 500s listen apps bind 0.0.0.0:80 server crcvm $CRC_IP:80 check listen apps_ssl bind 0.0.0.0:443 server crcvm $CRC_IP:443 check listen api bind 0.0.0.0:6443 server crcvm $CRC_IP:6443 check EOFhaproxy서비스를 시작합니다.$ sudo systemctl start haproxy
5.5. 원격 Red Hat OpenShift Local 인스턴스에 연결
dnsmasq 를 사용하여 Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터를 실행하는 원격 서버에 클라이언트 머신을 연결합니다.
이 절차에서는 Red Hat Enterprise Linux, Fedora 또는 CentOS 클라이언트를 사용하는 것으로 가정합니다. 클라이언트의 이 절차에서 모든 명령을 실행합니다.
로컬 네트워크에서만 노출되는 서버에 연결합니다.
사전 요구 사항
- 클라이언트가 연결할 수 있도록 원격 서버가 설정됩니다. 자세한 내용은 원격 서버에서 Red Hat OpenShift Local 설정을 참조하십시오.
- 서버의 외부 IP 주소를 알고 있습니다.
-
클라이언트의
$PATH에 최신 OpenShift CLI(oc) 가 있습니다.
절차
dnsmasq패키지를 설치합니다.$ sudo dnf install dnsmasq
NetworkManager에서 DNS 확인에
dnsmasq사용을 활성화합니다.$ sudo tee /etc/NetworkManager/conf.d/use-dnsmasq.conf &>/dev/null <<EOF [main] dns=dnsmasq EOF
Red Hat OpenShift Local의 DNS 항목을
dnsmasq구성에 추가합니다.$ sudo tee /etc/NetworkManager/dnsmasq.d/external-crc.conf &>/dev/null <<EOF address=/apps-crc.testing/SERVER_IP_ADDRESS address=/api.crc.testing/SERVER_IP_ADDRESS EOF
참고/etc/NetworkManager/dnsmasq.d/crc.conf 의 기존 항목을 주석 처리합니다. 이러한 항목은 Red Hat OpenShift Local의 로컬 인스턴스를 실행하여 생성되며 원격 클러스터의 항목과 충돌합니다.
NetworkManager 서비스를 다시 로드합니다.
$ sudo systemctl reload NetworkManager
oc:를 사용하여developer사용자로 원격 클러스터에 로그인합니다.$ oc login -u developer -p developer https://api.crc.testing:6443
원격 OpenShift Container Platform 웹 콘솔은 https://console-openshift-console.apps-crc.testing에서 사용할 수 있습니다.
6장. 관리 작업
6.1. 모니터링 시작
Red Hat OpenShift Local은 일반적인 노트북에서 Red Hat OpenShift Local을 실행할 수 있도록 기본적으로 클러스터 모니터링을 비활성화합니다. 모니터링은 Red Hat Hybrid Cloud Console 에서 클러스터를 나열합니다. 클러스터 모니터링을 활성화하려면 다음 절차를 따르십시오.
사전 요구 사항
-
Red Hat OpenShift Local 인스턴스에 추가 메모리를 할당해야 합니다. 핵심 기능에는 최소
14GiB의 메모리가 권장됩니다. 워크로드 증가에는 더 많은 메모리가 필요합니다. 자세한 내용은 인스턴스 구성을 참조하십시오.
절차
enable-cluster-monitoring구성 가능한 속성을true로 설정합니다.$ crc config set enable-cluster-monitoring true
인스턴스를 시작합니다.
$ crc start
주의클러스터 모니터링을 비활성화할 수 없습니다. 모니터링을 제거하려면
enable-cluster-monitoring구성 가능한 속성을false로 설정하고 기존 Red Hat OpenShift Local 인스턴스를 삭제합니다.
6.2. 재정의 Operator 활성화
Red Hat OpenShift Local을 일반적인 랩탑에서 실행할 수 있도록 일부 리소스 집약적인 서비스는 기본적으로 비활성화되어 있습니다. 이러한 서비스는 Operator 덮어쓰기 목록에서 원하는 Operator를 수동으로 제거하여 활성화할 수 있습니다.
사전 요구 사항
-
실행 중인 Red Hat OpenShift 로컬 가상 머신 및 작업
oc명령. 자세한 내용은oc를 사용하여 OpenShift 클러스터 액세스를 참조하십시오. -
kubeadmin사용자로oc를 통해 로그인해야 합니다.
절차
관리되지 않는 Operator를 나열하고 원하는 Operator의 숫자 인덱스를 확인합니다.
Linux 또는 macOS의 경우:
$ oc get clusterversion version -ojsonpath='{range .spec.overrides[*]}{.name}{"\n"}{end}' | nl -v 0PowerShell을 사용하는 Microsoft Windows에서 다음을 수행합니다.
PS> oc get clusterversion version -ojsonpath='{range .spec.overrides[*]}{.name}{"\n"}{end}' | % {$nl++;"`t$($nl-1) `t $_"};$nl=0
식별된 숫자 인덱스를 사용하여 원하는 Operator를 시작합니다.
$ oc patch clusterversion/version --type='json' -p '[{"op":"remove", "path":"/spec/overrides/<unmanaged-operator-index>"}]' clusterversion.config.openshift.io/version patched
7장. Red Hat OpenShift Local 문제 해결
Red Hat OpenShift Local의 목표는 개발 및 테스트 목적으로 OpenShift Container Platform 환경을 제공하는 것입니다. 특정 OpenShift 애플리케이션을 설치 또는 사용하는 동안 발생하는 문제는 Red Hat OpenShift Local의 범위를 벗어납니다. 이러한 문제를 관련 프로젝트에 보고합니다.
7.1. OpenShift 클러스터에 대한 쉘 액세스 가져오기
문제 해결 또는 디버깅을 위해 클러스터에 액세스하려면 다음 절차를 따르십시오.
OpenShift Container Platform 클러스터에 대한 직접 액세스는 정기적으로 사용할 필요가 없으며 권장되지 않습니다.
사전 요구 사항
-
클러스터에 대한 OpenShift CLI(
oc) 액세스를 활성화하고kubeadmin사용자로 로그인합니다. 자세한 단계는 OpenShift CLI를 사용하여 OpenShift 클러스터 액세스를 참조하십시오.
절차
oc get nodes명령을 실행하여 원하는 노드를 식별합니다. 출력은 다음과 유사합니다.$ oc get nodes NAME STATUS ROLES AGE VERSION crc-shdl4-master-0 Ready master,worker 7d7h v1.14.6+7e13ab9a7
-
oc debug nodes/ <node>를 실행합니다. 여기서 <node>는 이전 단계에서 출력된 노드의 이름입니다.
7.2. 만료된 인증서 문제 해결
릴리스되는 각 crc 실행 파일에 있는 OpenShift Container Platform의 시스템 번들은 릴리스 후 1년 후에 만료됩니다. 이 만료는 OpenShift Container Platform 클러스터에 포함된 인증서로 인해 발생합니다. crc start 명령은 필요한 경우 자동 인증서 갱신 프로세스를 트리거합니다. 인증서 갱신은 클러스터 시작 시간에 최대 5분을 추가할 수 있습니다.
이러한 추가 시작 시간을 방지하거나 인증서 갱신 프로세스에서 실패한 경우 다음 절차를 사용하십시오.
절차
자동으로 갱신할 수 없는 만료된 인증서 오류를 해결하려면 다음을 수행합니다.
-
최신 Red Hat OpenShift Local 릴리스를 다운로드 하여
$PATH에crc실행 파일을 배치합니다. crc delete명령을 사용하여 인증서 오류가 있는 클러스터를 제거합니다.$ crc delete
주의crc delete명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.새 릴리스를 설정합니다.
$ crc setup
새 인스턴스를 시작합니다.
$ crc start
7.3. 번들 버전 불일치 문제 해결
생성된 Red Hat OpenShift Local 인스턴스에는 번들 정보 및 인스턴스 데이터가 포함되어 있습니다. 새로운 Red Hat OpenShift Local 릴리스를 설정할 때 번들 정보 및 인스턴스 데이터는 업데이트되지 않습니다. 이 정보는 이전 인스턴스 데이터의 사용자 지정으로 인해 업데이트되지 않습니다. 이렇게 하면 crc start 명령을 실행할 때 오류가 발생합니다.
$ crc start ... FATA Bundle 'crc_hyperkit_4.2.8.crcbundle' was requested, but the existing VM is using 'crc_hyperkit_4.2.2.crcbundle'
절차
인스턴스를 시작하기 전에
crc delete명령을 실행합니다.$ crc delete
주의crc delete명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.
7.4. 알 수 없는 문제 해결
Red Hat OpenShift Local을 정리 상태로 다시 시작하여 대부분의 문제를 해결합니다. 여기에는 인스턴스를 중지하고, 삭제하고, crc setup 명령으로 변경한 사항을 되돌리고, 변경 사항을 다시 적용한 후 인스턴스를 다시 시작해야 합니다.
사전 요구 사항
-
crc setup명령을 사용하여 호스트 시스템을 설정합니다. 자세한 내용은 Red Hat OpenShift Local 설정을 참조하십시오. -
crc start명령을 사용하여 Red Hat OpenShift Local을 시작했습니다. 자세한 내용은 인스턴스 시작을 참조하십시오. - 최신 Red Hat OpenShift Local 릴리스를 사용하고 있습니다. Red Hat OpenShift Local 1.2.0 이전 버전을 사용하면 만료된 x509 인증서와 관련된 오류가 발생할 수 있습니다. 자세한 내용은 만료된 인증서 문제 해결을 참조하십시오.
절차
Red Hat OpenShift Local 문제를 해결하려면 다음 단계를 수행합니다.
Red Hat OpenShift Local 인스턴스를 중지합니다.
$ crc stop
Red Hat OpenShift Local 인스턴스를 삭제합니다.
$ crc delete
주의crc delete명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.crc setup명령에서 나머지 변경 사항을 정리합니다.$ crc cleanup
참고crc cleanup명령은 기존 Red Hat OpenShift Local 인스턴스를 제거하고crc setup명령으로 생성된 DNS 항목의 변경 사항을 되돌립니다. macOS에서crc cleanup명령도 시스템 트레이를 제거합니다.변경 사항을 다시 적용하도록 호스트 머신을 설정합니다.
$ crc setup
Red Hat OpenShift Local 인스턴스를 시작합니다.
$ crc start
참고클러스터에서 요청을 제공하기 전에 필요한 컨테이너 및 Operator를 시작하는 데 최소 4분이 걸립니다.
이 절차에서 문제가 해결되지 않으면 다음 단계를 수행합니다.
- 발생할 수 있는 문제에 대한 열려 있는 문제를 검색합니다.
- 기존 문제가 발생하지 않는 경우 문제를 생성하고 생성된 문제에 ~/.crc/crc.log 파일을 연결합니다. ~/.crc/crc.log 파일에는 발생하는 문제를 진단하는 데 도움이 될 수 있는 자세한 디버깅 및 문제 해결 정보가 있습니다.