시작하기 가이드

Red Hat OpenShift Local 2.23

Red Hat OpenShift Local 사용 및 개발을 위한 빠른 시작 가이드

Fabrice Flore-Thebault

Red Hat Developer Group Documentation Team

초록

이 가이드에서는 Red Hat OpenShift Local을 사용하여 속도를 높이는 방법을 보여줍니다. 호스트 워크스테이션(Microsoft Windows, macOS 또는 Red Hat Enterprise Linux)에서 Red Hat OpenShift Container Platform 4를 사용하여 컨테이너화된 애플리케이션을 개발하는 첫 번째 단계를 안내하는 지침 및 예제가 포함되어 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

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장. Red Hat OpenShift Local 설치

2.1. 최소 시스템 요구 사항

Red Hat OpenShift Local에는 다음과 같은 최소 하드웨어 및 운영 체제 요구 사항이 있습니다.

2.1.1. 하드웨어 요구 사항

Red Hat OpenShift Local은 다음 아키텍처에서 지원됩니다.

표 2.1. 사전 설정 및 아키텍처 호환성

사전 설정AMD64Intel 64M1

OpenShift Container Platform

제공됨

제공됨

제공됨

MicroShift

제공됨

제공됨

제공됨

podman 컨테이너 런타임

제공됨

제공됨

제공됨

Red Hat OpenShift Local은 중첩된 가상화를 지원하지 않습니다.

원하는 컨테이너 런타임에 따라 Red Hat OpenShift Local에는 다음과 같은 시스템 리소스가 필요합니다.

2.1.1.1. OpenShift Container Platform의 경우

  • 4개의 물리적 CPU 코어
  • 9GB의 여유 메모리
  • 35GB의 저장 공간

2.1.1.2. MicroShift의 경우

  • 물리적 CPU 코어 2개
  • 4GB의 여유 메모리
  • 35GB의 저장 공간
참고

OpenShift Container Platform 및 MicroShift 사전 설정은 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을 사용하려면 libvirtNetworkManager 패키지가 Linux에서 실행되어야 합니다. Linux 배포를 위해 이러한 패키지를 설치하는 데 사용되는 명령을 찾으려면 다음 표를 참조하십시오.

표 2.2. 배포별 패키지 설치 명령

Linux 배포설치 명령

Fedora/Red Hat Enterprise Linux/CentOS

sudo dnf install NetworkManager

Debian/Ubuntu

sudo apt install qemu-kvm libvirt-daemon libvirt-daemon-system network-manager

2.3. Red Hat OpenShift Local 설치

Red Hat OpenShift Local은 Red Hat Enterprise Linux에서 이식 가능한 실행 파일로 제공됩니다. Microsoft Windows 및 macOS에서 Red Hat OpenShift Local은 가이드 설치 프로그램을 사용하여 사용할 수 있습니다.

사전 요구 사항

절차

  1. 플랫폼에 대한 Red Hat OpenShift Local의 최신 릴리스 를 다운로드합니다.
  2. Microsoft Windows에서 아카이브의 내용을 추출합니다.
  3. macOS 또는 Microsoft Windows에서 가이드 설치 프로그램을 실행하고 지침을 따르십시오.

    참고

    Microsoft Windows에서는 로컬 C:\ 드라이브에 Red Hat OpenShift Local을 설치해야 합니다. 네트워크 드라이브에서 Red Hat OpenShift Local을 실행할 수 없습니다.

    Red Hat Enterprise Linux에서 아카이브가 ~/Downloads 디렉터리에 있다고 가정하면 다음 단계를 따르십시오.

    1. 아카이브 내용을 추출합니다.

      $ cd ~/Downloads
      $ tar xvf crc-linux-amd64.tar.xz
    2. ~/bin 디렉터리가 없는 경우 해당 디렉터리를 생성하고 crc 실행 파일을 여기에 복사합니다.

      $ mkdir -p ~/bin
      $ cp ~/Downloads/crc-linux-*-amd64/crc ~/bin
    3. $PATH:에 ~/bin 디렉토리를 추가합니다.

      $ export PATH=$PATH:$HOME/bin
      $ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

2.4. 사용 데이터 수집 정보

Red Hat OpenShift Local은 개발을 지원하기 위해 선택적 익명의 사용 데이터 수집을 사용하기 전에 메시지를 표시합니다. 개인 식별 정보는 수집되지 않습니다. 사용 데이터 수집에 대한 동의는 언제든지 사용자가 부여하거나 취소할 수 있습니다.

추가 리소스

2.5. 사용 데이터 수집 구성

사용 데이터 수집에 대한 동의는 다음 구성 명령을 사용하여 언제든지 사용자가 부여하거나 취소할 수 있습니다.

참고

원격 분석 동의에 대한 변경 사항은 실행 중인 인스턴스를 수정하지 않습니다. 다음에 crc start 명령을 실행할 때 변경 사항이 적용됩니다.

절차

  • Telemetry를 수동으로 활성화하려면 다음 명령을 실행합니다.

    $ crc config set consent-telemetry yes
  • Telemetry를 수동으로 비활성화하려면 다음 명령을 실행합니다.

    $ crc config set consent-telemetry no

추가 리소스

2.6. Red Hat OpenShift Local 업그레이드

최신 버전의 Red Hat OpenShift Local 실행 파일을 사용하려면 이전 버전과의 비호환성을 방지하기 위해 수동 설정이 필요합니다.

절차

  1. Red Hat OpenShift Local의 최신 릴리스를 다운로드합니다.
  2. 기존 Red Hat OpenShift Local 인스턴스를 삭제합니다.

    $ crc delete
    주의

    crc delete 명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.

  3. 이전 crc 실행 파일을 최신 릴리스의 실행 파일로 바꿉니다. 버전을 확인하여 새 crc 실행 파일이 사용 중인지 확인합니다.

    $ crc version
  4. 새로운 Red Hat OpenShift Local 릴리스를 설정합니다.

    $ crc setup
  5. 새 Red Hat OpenShift Local 인스턴스를 시작합니다.

    $ crc start

3장. Red Hat OpenShift Local 사용

3.1. 사전 설정 정보

Red Hat OpenShift Local 사전 설정은 관리되는 컨테이너 런타임과 인스턴스를 실행하는 데 필요한 시스템 리소스의 하한을 나타냅니다. Red Hat OpenShift Local은 다음과 같은 사전 설정을 제공합니다.

openshift
사전 구성된 최소 OpenShift Container Platform 4.13 클러스터입니다.
microshift
MicroShift.
podman
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 실행 파일을 실행합니다.

절차

  1. (선택 사항) Linux에서는 OpenShift Container Platform 사전 설정이 기본적으로 선택됩니다. Podman 컨테이너 런타임 사전 설정을 선택하려면 다음을 수행합니다.

    $ crc config set preset podman
  2. 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 계정이 필요합니다.

절차

  1. Red Hat OpenShift Local 인스턴스를 시작합니다.

    $ crc start
  2. 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 인스턴스. 자세한 내용은 인스턴스 시작을 참조하십시오.

절차

  1. 기본 웹 브라우저를 사용하여 OpenShift Container Platform 웹 콘솔에 액세스하려면 다음 명령을 실행합니다.

    $ crc console
  2. crc start 명령의 출력에 출력된 암호를 사용하여 developer 사용자로 로그인합니다. 다음 명령을 실행하여 개발자kubeadmin 사용자의 암호를 볼 수도 있습니다.

    $ crc console --credentials

Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터에 액세스할 수 없는 경우 Red Hat OpenShift Local 문제 해결을 참조하십시오.

추가 리소스

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 인스턴스. 자세한 내용은 인스턴스 시작을 참조하십시오.

절차

  1. crc oc-env 명령을 실행하여 캐시된 oc 실행 파일을 $PATH 에 추가하는 데 필요한 명령을 출력합니다.

    $ crc oc-env
  2. 출력된 명령을 실행합니다.
  3. 개발자 로 로그인합니다.

    $ oc login -u developer https://api.crc.testing:6443
    참고

    crc start 명령은 developer 사용자의 암호를 출력합니다. crc console --credentials 명령을 실행하여 볼 수도 있습니다.

  4. 이제 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를 비활성화합니다.

Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터에 액세스할 수 없는 경우 Red Hat OpenShift Local 문제 해결을 참조하십시오.

추가 리소스

3.4.3. 내부 OpenShift 레지스트리에 액세스

Red Hat OpenShift Local 인스턴스에서 실행되는 OpenShift Container Platform 클러스터에는 기본적으로 내부 컨테이너 이미지 레지스트리가 포함되어 있습니다. 이 내부 컨테이너 이미지 레지스트리는 로컬에서 개발한 컨테이너 이미지의 게시 대상으로 사용할 수 있습니다. 내부 OpenShift Container Platform 레지스트리에 액세스하려면 다음 단계를 따르십시오.

사전 요구 사항

절차

  1. 클러스터에 로그인한 사용자를 확인합니다.

    $ oc whoami
    참고

    설명을 위해 현재 사용자는 kubeadmin 이라고 가정합니다.

  2. 토큰을 사용하여 해당 사용자로 레지스트리에 로그인합니다.

    $ oc registry login --insecure=true
  3. 새 프로젝트를 생성합니다.

    $ oc new-project demo
  4. 컨테이너 이미지의 예를 미러링합니다.

    $ 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
  5. 이미지 스트림을 가져오고 푸시된 이미지가 나열되어 있는지 확인합니다.

    $ oc get is
  6. 이미지 스트림에서 이미지 조회를 활성화합니다.

    $ oc set image-lookup ubi8

    이 설정을 사용하면 내부 레지스트리에 전체 URL을 제공하지 않고도 이미지 스트림의 소스가 될 수 있습니다.

  7. 최근 내보낸 이미지를 사용하여 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 인스턴스가 실행 중입니다. 자세한 내용은 인스턴스 시작을 참조하십시오.

절차

  1. Red Hat OpenShift Local에서 developer 사용자로 관리하는 실행 중인 OpenShift Container Platform 클러스터에 로그인합니다.

    $ odo login -u developer -p developer
  2. 애플리케이션에 대한 프로젝트를 생성합니다.

    $ odo project create sample-app
  3. 구성 요소 디렉터리를 생성합니다.

    $ mkdir sample-app
    $ cd sample-app
  4. Node.js 애플리케이션 예를 복제합니다.

    $ git clone https://github.com/openshift/nodejs-ex
    $ cd nodejs-ex
  5. 애플리케이션에 nodejs 구성 요소를 추가합니다.

    $ odo create nodejs
  6. URL을 생성하고 로컬 구성 파일에 항목을 추가합니다.

    $ odo url create --port 8080
  7. 변경 사항을 푸시합니다.

    $ odo push

    이제 액세스 가능한 URL을 사용하여 구성 요소가 클러스터에 배포됩니다.

  8. URL을 나열하고 구성 요소에 필요한 URL을 확인합니다.

    $ odo url list
  9. 생성된 URL을 사용하여 배포된 애플리케이션을 확인합니다.

추가 리소스

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 startcrc 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>

    유효한 사전 설정 이름은 다음과 같습니다.

    표 4.1. 사전 설정 이름

    이름사전 설정

    openshift

    OpenShift Container Platform

    microshift

    MicroShift

    podman

    podman 컨테이너 런타임

추가 리소스

4.4. 인스턴스 구성

cpusmemory 속성을 사용하여 각각 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.testingapps-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의 DNS

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.11 DNS 서버로 전달하도록 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.testingapps-crc.testing 도메인에 대한 요청을 192.168.130.11 DNS 서버로 전달합니다.

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 클러스터 액세스를 참조하십시오.

절차

  1. http_proxyhttps_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>
  2. 프록시에서 사용자 정의 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 서버를 사용하는 것으로 가정합니다. 원격 서버의 이 절차에서 모든 명령을 실행합니다.

주의

이 절차는 로컬 네트워크에서만 수행합니다. 인터넷에서 비보안 서버를 노출하는 것은 많은 보안에 영향을 미칩니다.

사전 요구 사항

절차

  1. 클러스터를 시작합니다.

    $ crc start

    이 절차 중에 클러스터가 계속 실행 중인지 확인합니다.

  2. haproxy 패키지 및 기타 유틸리티를 설치합니다.

    $ sudo dnf install haproxy /usr/sbin/semanage
  3. 클러스터와의 통신을 허용하도록 방화벽을 수정합니다.

    $ 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
  4. SELinux의 경우 HAProxy가 이 포트에서 kube-apiserver 를 제공할 수 있도록 TCP 포트 6443에서 수신 대기하도록 허용합니다.

    $ sudo semanage port -a -t http_port_t -p tcp 6443
  5. 기본 haproxy 구성의 백업을 생성합니다.

    $ sudo cp /etc/haproxy/haproxy.cfg{,.bak}
  6. 클러스터와 함께 사용할 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
    EOF
  7. haproxy 서비스를 시작합니다.

    $ sudo systemctl start haproxy

5.5. 원격 Red Hat OpenShift Local 인스턴스에 연결

dnsmasq 를 사용하여 Red Hat OpenShift Local에서 관리하는 OpenShift Container Platform 클러스터를 실행하는 원격 서버에 클라이언트 머신을 연결합니다.

이 절차에서는 Red Hat Enterprise Linux, Fedora 또는 CentOS 클라이언트를 사용하는 것으로 가정합니다. 클라이언트의 이 절차에서 모든 명령을 실행합니다.

중요

로컬 네트워크에서만 노출되는 서버에 연결합니다.

사전 요구 사항

절차

  1. dnsmasq 패키지를 설치합니다.

    $ sudo dnf install dnsmasq
  2. NetworkManager에서 DNS 확인에 dnsmasq 사용을 활성화합니다.

    $ sudo tee /etc/NetworkManager/conf.d/use-dnsmasq.conf &>/dev/null <<EOF
    [main]
    dns=dnsmasq
    EOF
  3. 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의 로컬 인스턴스를 실행하여 생성되며 원격 클러스터의 항목과 충돌합니다.

  4. NetworkManager 서비스를 다시 로드합니다.

    $ sudo systemctl reload NetworkManager
  5. 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 인스턴스에 추가 메모리를 할당해야 합니다. 핵심 기능에는 최소 14 GiB의 메모리가 권장됩니다. 워크로드 증가에는 더 많은 메모리가 필요합니다. 자세한 내용은 인스턴스 구성을 참조하십시오.

절차

  1. enable-cluster-monitoring 구성 가능한 속성을 true 로 설정합니다.

    $ crc config set enable-cluster-monitoring true
  2. 인스턴스를 시작합니다.

    $ crc start
    주의

    클러스터 모니터링을 비활성화할 수 없습니다. 모니터링을 제거하려면 enable-cluster-monitoring 구성 가능한 속성을 false 로 설정하고 기존 Red Hat OpenShift Local 인스턴스를 삭제합니다.

6.2. 재정의 Operator 활성화

Red Hat OpenShift Local이 일반적인 노트북에서 실행될 수 있는지 확인하기 위해 일부 리소스 집약적 서비스는 기본적으로 비활성화되어 있습니다. 이러한 서비스는 Operator 덮어쓰기 목록에서 원하는 Operator를 수동으로 제거하여 활성화할 수 있습니다.

사전 요구 사항

절차

  1. 관리되지 않는 Operator를 나열하고 원하는 Operator의 숫자 인덱스를 확인합니다.

    • Linux 또는 macOS의 경우:

      $ oc get clusterversion version -ojsonpath='{range .spec.overrides[*]}{.name}{"\n"}{end}' | nl -v 0
    • PowerShell을 사용하는 Microsoft Windows에서 다음을 수행합니다.

      PS> oc get clusterversion version -ojsonpath='{range .spec.overrides[*]}{.name}{"\n"}{end}' | % {$nl++;"`t$($nl-1) `t $_"};$nl=0
  2. 식별된 숫자 인덱스를 사용하여 원하는 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 클러스터 액세스를 참조하십시오.

절차

  1. oc get nodes 명령을 실행하여 원하는 노드를 식별합니다. 출력은 다음과 유사합니다.

    $ oc get nodes
    NAME                 STATUS   ROLES           AGE    VERSION
    crc-shdl4-master-0   Ready    master,worker   7d7h   v1.14.6+7e13ab9a7
  2. oc debug nodes/ <node >를 실행합니다. 여기서 <node>는 이전 단계에서 출력된 노드의 이름입니다.

7.2. 만료된 인증서 문제 해결

릴리스되는 각 crc 실행 파일에 있는 OpenShift Container Platform의 시스템 번들은 릴리스 후 1년 후에 만료됩니다. 이 만료는 OpenShift Container Platform 클러스터에 포함된 인증서로 인해 발생합니다. crc start 명령은 필요한 경우 자동 인증서 갱신 프로세스를 트리거합니다. 인증서 갱신은 클러스터 시작 시간에 최대 5분을 추가할 수 있습니다.

이러한 추가 시작 시간을 방지하거나 인증서 갱신 프로세스에서 실패한 경우 다음 절차를 사용하십시오.

절차

자동으로 갱신할 수 없는 만료된 인증서 오류를 해결하려면 다음을 수행합니다.

  1. 최신 Red Hat OpenShift Local 릴리스를 다운로드 하여 $PATHcrc 실행 파일을 배치합니다.
  2. crc delete 명령을 사용하여 인증서 오류가 있는 클러스터를 제거합니다.

    $ crc delete
    주의

    crc delete 명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.

  3. 새 릴리스를 설정합니다.

    $ crc setup
  4. 새 인스턴스를 시작합니다.

    $ 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'

절차

  1. 인스턴스를 시작하기 전에 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 문제를 해결하려면 다음 단계를 수행합니다.

  1. Red Hat OpenShift Local 인스턴스를 중지합니다.

    $ crc stop
  2. Red Hat OpenShift Local 인스턴스를 삭제합니다.

    $ crc delete
    주의

    crc delete 명령을 사용하면 Red Hat OpenShift Local 인스턴스에 저장된 데이터가 손실됩니다. 이 명령을 실행하기 전에 인스턴스에 저장된 원하는 정보를 저장합니다.

  3. crc setup 명령에서 나머지 변경 사항을 정리합니다.

    $ crc cleanup
    참고

    crc cleanup 명령은 기존 Red Hat OpenShift Local 인스턴스를 제거하고 crc setup 명령으로 생성된 DNS 항목의 변경 사항을 되돌립니다. macOS에서 crc cleanup 명령도 시스템 트레이를 제거합니다.

  4. 변경 사항을 다시 적용하도록 호스트 머신을 설정합니다.

    $ crc setup
  5. Red Hat OpenShift Local 인스턴스를 시작합니다.

    $ crc start
    참고

    클러스터에서 요청을 제공하기 전에 필요한 컨테이너 및 Operator를 시작하는 데 최소 4분이 걸립니다.

이 절차에서 문제가 해결되지 않으면 다음 단계를 수행합니다.

  1. 발생할 수 있는 문제에 대한 열려 있는 문제를 검색합니다.
  2. 기존 문제가 발생하지 않는 경우 문제를 생성하고 생성된 문제에 ~/.crc/crc.log 파일을 연결합니다. ~/.crc/crc.log 파일에는 발생하는 문제를 진단하는 데 도움이 될 수 있는 자세한 디버깅 및 문제 해결 정보가 있습니다.

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.