1장. OpenShift에 Quarkus 애플리케이션 배포
애플리케이션 개발자는 단일 Maven 명령을 사용하여 Quarkus 애플리케이션을 OpenShift에 배포할 수 있습니다. 이 기능은 Docker 빌드 전략 및 S2I(Source-to-Image) 전략을 비롯한 여러 배포 옵션을 지원하는 quarkus-openshift 확장을 통해 제공됩니다.
Red Hat build of Quarkus 설명서에서는 권장되는 워크플로를 통해 Quarkus 애플리케이션을 프로덕션 환경에 배포할 수 있습니다. 대체 배포에 대한 자세한 내용은 Quarkus 커뮤니티 설명서 를 참조하십시오.
사전 요구 사항
-
OpenJDK(JDK) 11 또는 17이 설치되어 있고
JAVA_HOME환경 변수가 Java SDK의 위치를 지정하도록 설정되어 있는지 확인합니다. - Apache Maven 3.8.1 이상이 설치되어 있어야 합니다.
quarkus-openshift확장을 포함하는 Quarkus Maven 프로젝트를 준비합니다.- Quarkus OpenShift 확장을 추가하려면 Quarkus Openshift 확장 추가를 참조하십시오.
Red Hat OpenShift Container Platform 클러스터 및 최신 버전의 OpenShift CLI(oc)에 액세스할 수 있습니다.
- oc 설치에 대한 자세한 내용은 OpenShift Container Platform 클러스터 설치 및 구성 을 참조하십시오.
1.1. OpenShift 빌드 전략 및 Quarkus 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform은 컨테이너화된 애플리케이션을 개발하고 실행하기 위한 Kubernetes 기반 플랫폼입니다. 보안 및 편의를 위해 OpenShift는 업스트림 Kubernetes 배포에서는 사용할 수 없는 다양한 빌드 전략을 지원합니다.
OpenShift 빌드 전략 개요
- Docker 빌드
- 이 전략은 로컬 또는 CI 환경에서 로컬 또는 CI 환경에서 OpenShift 클러스터 외부의 아티팩트(JAR 파일 또는 네이티브 실행 파일)를 빌드한 다음 Dockerfile과 함께 OpenShift 빌드 시스템에 제공합니다. 컨테이너는 OpenShift 클러스터 내에서 빌드되고 이미지 스트림으로 제공됩니다.
Red Hat build of Quarkus 2.2 이후 OpenShift Docker 빌드 전략은 JVM을 대상으로 하는 Quarkus 애플리케이션과 기본 실행 파일로 컴파일된 Quarkus 애플리케이션을 지원하는 기본 빌드 전략입니다. 그러나 S2I는 이전 버전과의 호환성을 위해 기본 배포 전략으로 유지됩니다. quarkus.openshift.build-strategy 속성을 사용하여 배포 전략을 구성할 수 있습니다.
- S2I(Source to Image)
- 빌드 프로세스는 OpenShift 클러스터 내에서 수행됩니다. S2I를 사용하여 Red Hat build of Quarkus를 JVM 애플리케이션으로 배포하는 것은 완전히 지원됩니다.
- 바이너리 S2I
- 이 전략에서는 JAR 파일을 S2I 빌드 프로세스에 대한 입력으로 사용하므로 애플리케이션의 빌드 프로세스 및 배포 속도가 빨라집니다.
| 빌드 전략 | Quarkus 툴링 지원 | JVM 지원 | Native 지원 | JVM Serverless 지원 | 네이티브 Serverless 지원 |
|---|---|---|---|---|---|
| Docker 빌드 | 제공됨 | 제공됨 | 제공됨 | 제공됨 | 제공됨 |
| S2I Binary | 제공됨 | 제공됨 | NO | NO | NO |
| 소스 S2I | NO | 제공됨 | NO | NO | NO |