5장. 개발자용 시작하기
5.1. 개발 환경 준비
OpenShift 프로젝트에서 Fuse를 개발하고 테스트하는 데 필요한 기본적인 요구 사항은 OpenShift Server에 액세스하는 것입니다. 다음과 같은 기본 대안이 있습니다.
5.1.1. 로컬 머신에 컨테이너 개발 키트(CDK) 설치
개발자로서 빠르게 시작하려는 경우 가장 실용적인 대안은 로컬 시스템에 Red Hat CDK 를 설치하는 것입니다. CDK를 사용하여 RHEL(Red Hat Enterprise Linux) 7에서 OpenShift 이미지를 실행하는 VM(가상 머신) 인스턴스를 부팅할 수 있습니다. CDK 설치는 다음 주요 구성 요소로 구성됩니다.
- 가상 머신(libvirt, Cryostat 또는 Hyper-V)
- Minishift: 컨테이너 개발 환경 시작 및 관리
Red Hat CDK는 개발 목적으로만 사용됩니다. 프로덕션 환경과 같은 다른 용도로는 사용되지 않으며 알려진 보안 취약점을 해결하지 못할 수 있습니다. docker 형식의 컨테이너 내에서 미션 크리티컬 애플리케이션을 완전히 실행하려면 활성 RHEL 7 또는 RHEL Atomic 서브스크립션이 필요합니다. 자세한 내용은 Red Hat Container Development Kit (CDK) 지원을 참조하십시오.
사전 요구 사항
Java 버전
개발자 시스템에서 Fuse 7.10에서 지원하는 Java 버전을 설치했는지 확인합니다. 지원되는 Java 버전에 대한 자세한 내용은 지원되는 구성을 참조하십시오.
절차
로컬 시스템에 CDK를 설치하려면 다음을 수행합니다.
- OpenShift의 Fuse는 3.17 버전의 CDK를 설치하는 것이 좋습니다. CDK 3.17 설치 및 사용에 대한 자세한 지침은 Red Hat CDK 3.17 시작하기 가이드.
-
컨테이너 이미지의
registry.redhat.io
로 인증하는 지침에 따라 Red Hat Ecosystem Catalog에 액세스하도록 OpenShift 인증 정보를 구성합니다. 2장. 관리자 시작하기 에 설명된 대로 OpenShift 이미지 및 템플릿에 Fuse를 수동으로 설치합니다.
참고CDK 버전에는 OpenShift 이미지 및 템플릿에 Fuse가 사전 설치되어 있을 수 있습니다. 그러나 OpenShift 인증 정보를 구성한 후 OpenShift 이미지 및 템플릿에 Fuse를 설치(또는 업데이트)해야 합니다.
- 이 장의 예제를 진행하기 전에 Red Hat CDK 3.17 시작 가이드 의 내용을 읽고 이해해야 합니다.
5.1.2. 기존 OpenShift 서버에 대한 원격 액세스 가져오기
IT 부서에서 이미 일부 서버 시스템에 OpenShift 클러스터를 설정했을 수 있습니다. 이 경우 OpenShift에서 Fuse를 시작하려면 다음 요구 사항을 충족해야 합니다.
- 서버 머신은 지원되는 OpenShift Container Platform 버전을 실행해야 합니다( 지원 구성 페이지에 설명되어 있음). 이 가이드의 예제는 3.11 버전에 대해 테스트되었습니다.
- OpenShift 관리자에게 OpenShift 컨테이너 기본 이미지에 최신 Fuse를 설치하고 OpenShift 서버의 OpenShift 템플릿에 Fuse를 설치하도록 요청합니다.
- 일반적인 개발자 권한이 있는 사용자 계정을 작성하도록 OpenShift 관리자에게 문의하십시오(OpenShift 프로젝트를 생성, 배포 및 실행할 수 있음).
-
관리자에게 OpenShift Server의 URL(사용 중 하나를 사용하여 OpenShift 콘솔로 이동하거나
oc
명령줄 클라이언트를 사용하여 OpenShift에 연결할 수 있음) 및 계정의 로그인 인증 정보를 요청합니다.
5.1.3. 클라이언트-Side 툴 설치
개발자 시스템에 다음 도구가 설치되어 있는 것이 좋습니다.
- Apache Maven 3.6.x: OpenShift 프로젝트의 로컬 빌드에 필요합니다. Apache Maven 다운로드 페이지에서 적절한 패키지를 다운로드합니다. 3.6.x 이상 버전이 설치되어 있는지 확인합니다. 그러지 않으면 프로젝트를 빌드할 때 Maven에 종속성을 해결하는 데 문제가 있을 수 있습니다.
- Git: OpenShift S2I 소스 워크플로우에 필요하며 일반적으로 OpenShift 프로젝트에서 Fuse의 소스 제어에 권장됩니다. Git 다운로드 페이지에서 적절한 패키지를 다운로드합니다.
OpenShift 클라이언트: CDK를 사용하는 경우 쉘에 입력하는 데 필요한 명령을 표시하는 Mini
shift
를 사용하여 PATH에 oc 바이너리를 추가할 수 있습니다(oc
-envoc-env
의 출력은 OS 및 쉘 유형에 따라 다릅니다).$ minishift oc-env export PATH="/Users/john/.minishift/cache/oc/v1.5.0:$PATH" # Run this command to configure your shell: # eval $(minishift oc-env)
자세한 내용은 CDK 3.17 에서 OpenShift Client Binary 사용 설명서를 참조하십시오.
CDK를 사용하지 않는 경우 CLI 참조 의 지침에 따라
oc
클라이언트 툴을 설치합니다.(선택 사항) Docker 클라이언트: 고급 사용자가 Docker 클라이언트 도구를 설치하는 것이 편리합니다(OpenShift 서버에서 실행되는 docker 데몬과 통신하기 위해). 운영 체제의 특정 바이너리 설치에 대한 자세한 내용은 Docker 설치 사이트를 참조하십시오.
자세한 내용은 CDK 3.17 의 Docker 데몬 재사용 가이드를 참조하십시오.
중요OpenShift Server에서 실행 중인 OpenShift 버전과 호환되는
oc
툴 버전 및docker
툴을 설치해야 합니다.
추가 리소스
(선택 사항) Red Hat JBoss CodeReady Studio: Red Hat JBoss CodeReady Studio 는 OpenShift 애플리케이션에서 Fuse 개발을 지원하는 Eclipse 기반 개발 환경입니다. 이 개발 환경을 설치하는 방법에 대한 자세한 내용은 Red Hat JBoss CodeReady Studio 설치를 참조하십시오.
5.1.4. Maven 리포지토리 구성
로컬 시스템에서 OpenShift 프로젝트에 Fuse를 빌드하는 데 필요한 archetypes 및 아티팩트를 보유하는 Maven 리포지토리를 구성합니다.
절차
-
일반적으로
~/.m2/
(Linux 또는 macOS) 또는settings.xml
Documents 및 Settings\<USER_NAME>\.m2\settings.xml(Windows의 경우)에 있는 Maven settings.xml
파일을 엽니다. 다음 Maven 리포지토리를 추가합니다.
-
Maven 중앙:
https://repo1.maven.org/maven2
-
Red Hat GA repository:
https://maven.repository.redhat.com/ga
Red Hat EA repository:
https://maven.repository.redhat.com/earlyaccess/all
이전 리포지토리를 종속성 리포지토리 섹션과
settings.xml
파일의 플러그인 리포지토리 섹션에 추가해야 합니다.
-
Maven 중앙: