OpenShift Container Platform에 Red Hat build of Quarkus 애플리케이션 배포
초록
Red Hat build of Quarkus 문서에 대한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
오류를 보고하거나 문서를 개선하기 위해 Red Hat Jira 계정에 로그인하여 문제를 제출하십시오. Red Hat Jira 계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.
프로세스
- 티켓을 생성하려면 다음 링크를 클릭하십시오.
- 요약 에 문제에 대한 간략한 설명을 입력합니다.
- 설명에서 문제 또는 개선 사항에 대한 자세한 설명을 제공합니다. 문서에서 문제가 발생한 위치에 URL을 포함합니다.
- Submit 을 클릭하고 문제를 적절한 문서 팀으로 라우팅합니다.
1장. OpenShift Container Platform에 Red Hat build of Quarkus 애플리케이션 배포 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform은 컨테이너화된 애플리케이션을 개발하고 실행하기 위한 Kubernetes 기반 플랫폼입니다. Quarkus는 Sane defaults 및 user-supplied 구성을 기반으로 OpenShift Container Platform 리소스를 자동으로 생성하는 기능을 제공합니다.
애플리케이션 개발자는 Red Hat build of Quarkus 애플리케이션을 Red Hat OpenShift Container Platform에 배포할 수 있습니다. 이 기능은 여러 배포 옵션을 지원하는 quarkus-openshift 확장 기능을 통해 제공됩니다.
1.1. OpenShift Container Platform 빌드 전략 개요 링크 복사링크가 클립보드에 복사되었습니다!
- Docker 빌드
- 이 전략은 로컬 또는 CI 환경에서 OpenShift Container Platform 클러스터 외부에 아티팩트를 빌드하고 Dockerfile과 함께 OpenShift Container Platform 빌드 시스템에 제공합니다. 아티팩트에는 JAR 파일 또는 기본 실행 파일이 포함됩니다. 컨테이너는 OpenShift Container Platform 클러스터 내에서 빌드되고 이미지 스트림으로 제공됩니다.
OpenShift Container Platform Docker 빌드 전략은 JVM을 대상으로 하는 Quarkus 애플리케이션을 지원하거나 네이티브 실행 파일로 컴파일되기 때문에 권장되는 빌드 전략입니다. 그러나 이전 Quarkus 버전과의 호환성을 위해 기본 빌드 전략은 S2I입니다. OpenShift Container Platform Docker 빌드 전략을 선택하려면 quarkus.openshift.build-strategy 속성을 사용합니다.
- S2I(Source to Image)
- 빌드 프로세스는 OpenShift Container Platform 클러스터 내에서 수행됩니다. Red Hat build of Quarkus는 S2I를 사용하여 Red Hat build of Quarkus를 JVM 애플리케이션으로 배포할 수 있도록 완벽하게 지원합니다.
- 바이너리 S2I
- 이 전략에서는 JAR 파일을 S2I 빌드 프로세스에 대한 입력으로 사용하므로 애플리케이션의 빌드 및 배포 속도가 빨라집니다.
1.1.1. Quarkus에서 지원하는 빌드 전략 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 Red Hat build of Quarkus에서 지원하는 빌드 전략에 대해 간단히 설명합니다.
| 빌드 전략 | Red Hat build of Quarkus 툴 지원 | JVM 지원 | 네이티브 지원 | JVM Serverless 지원 | 네이티브 Serverless 지원 |
|---|---|---|---|---|---|
| Docker 빌드 | YES | YES | YES | YES | YES |
| S2I Binary | YES | YES | NO | NO | NO |
| 소스 S2I | NO | YES | NO | NO | NO |
1.2. 프로젝트 부트스트랩 링크 복사링크가 클립보드에 복사되었습니다!
먼저 OpenShift 확장이 포함된 새 프로젝트가 필요합니다. 그런 다음 애플리케이션을 빌드하고 배포하기 전에 OpenShift 클러스터에 로그인해야 합니다.
1.2.1. OpenShift 확장 추가 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터 내에서 실행되는 컨테이너 이미지로 애플리케이션을 빌드하고 배포하려면 Red Hat build of Quarkus OpenShift extension quarkus-openshift 를 프로젝트의 종속성으로 추가해야 합니다.
이 확장은 이미지 스트림, 빌드 구성, 배포 및 서비스 정의와 같은 OpenShift Container Platform 리소스도 생성합니다. 애플리케이션에 quarkus-#159rye-health 확장이 포함된 경우 OpenShift Container Platform은 상태 끝점에 액세스하고 애플리케이션의 시작, 활성 상태 및 준비 상태를 확인할 수 있습니다.
Red Hat build of Quarkus 3.8에서 OpenShift에서 더 이상 사용되지 않는 DeploymentConfig 오브젝트는 Red Hat build of Quarkus에서도 더 이상 사용되지 않습니다. 배포 는 quarkus-openshift 확장에 대한 기본 배포 유형과 기본 배포 종류입니다. DeploymentConfig 를 사용하여 이전에 배포한 애플리케이션을 재배포하는 경우 기본적으로 해당 애플리케이션은 Deployment 를 사용하지만 이전 DeploymentConfig 는 제거하지 않습니다. 이로 인해 새 애플리케이션과 이전 애플리케이션이 모두 배포되므로 이전 DeploymentConfig 를 수동으로 제거해야 합니다. 그러나 DeploymentConfig 를 계속 사용하려면 quarkus.openshift.deployment-kind 를 DeploymentConfig 로 명시적으로 설정하여 계속 수행할 수 있습니다.
사전 요구 사항
- Quarkus Maven 프로젝트가 있습니다.
프로세스
프로젝트에
quarkus-openshift확장을 추가하려면 다음 방법 중 하나를 사용합니다.pom.xml파일을 구성합니다.pom.xml
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-openshift</artifactId> </dependency><dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-openshift</artifactId> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform CLI에서 다음 명령을 입력합니다.
./mvnw quarkus:add-extension -Dextensions="io.quarkus:quarkus-openshift"
./mvnw quarkus:add-extension -Dextensions="io.quarkus:quarkus-openshift"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Quarkus CLI에 다음 명령을 입력합니다.
quarkus extension add 'quarkus-openshift'
quarkus extension add 'quarkus-openshift'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. OpenShift 클러스터에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI 를 사용하여 OpenShift 클러스터에 로그인할 수 있습니다.
예: OpenShift CLI를 사용하여 로그인
oc login -u myUsername
oc login -u myUsername
- 1
- 서버 URL, 암호 등과 같은 필수 정보를 입력하라는 메시지가 표시됩니다.
또는 API 토큰을 사용하여 로그인할 수 있습니다.
예: API 토큰과 함께 OpenShift CLI(명령줄 인터페이스)를 사용하여 로그인
oc login --token=myToken --server=myServerUrl
oc login --token=myToken --server=myServerUrl
OpenShift 웹 콘솔에서 로그인 복사 링크를 사용하여 토큰을 요청할 수 있습니다.
마지막으로 OpenShift CLI를 전혀 사용할 필요가 없습니다. 대신 quarkus.kubernetes-client.api-server-url 구성 속성을 설정하고 quarkus.kubernetes-client.token 또는 quarkus.kubernetes-client.username 및 quarkus.kubernetes-client.password 로 각각 인증합니다.
Quarkus CLI 사용:
quarkus build quarkus deploy openshift
quarkus build quarkus deploy openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow Maven 사용:
./mvnw install -Dquarkus.kubernetes-client.api-server-url=myServerUrl -Dquarkus.kubernetes-client.token=myToken
./mvnw install -Dquarkus.kubernetes-client.api-server-url=myServerUrl -Dquarkus.kubernetes-client.token=myTokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3.1. 필요한 OpenShift Container Platform 프로젝트로 전환 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform CLI를 사용하여 애플리케이션을 생성하고 OpenShift Container Platform 프로젝트를 관리할 수 있습니다. 제공된 정보를 사용하여 OpenShift Container Platform 프로젝트를 생성하거나 기존 프로젝트로 전환합니다.
사전 요구 사항
-
OpenShift Container Platform 클러스터 및 설치된
oc툴의 최신 호환 버전에 액세스할 수 있습니다.
프로세스
oc도구에 로그인합니다.oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 프로젝트 공간을 표시하려면 다음 명령을 입력합니다.
oc project -q
oc project -qCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계 중 하나를 사용하여 필요한 OpenShift Container Platform 프로젝트로 이동합니다.
프로젝트가 이미 존재하는 경우 프로젝트로 전환합니다.
oc project <project_name>
oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트가 없는 경우 새 프로젝트를 생성합니다.
oc new-project <project_name>
oc new-project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. 빌드 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 배포 옵션을 사용하여 빌드하고 배포할 수 있습니다.
1.4.1. S2I가 아닌 빌드 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 확장은 container-image-s2i 를 사용하도록 구성되어 있습니다. 그러나 다음과 같은 다른 컨테이너 이미지 확장 기능을 계속 사용할 수 있습니다.
non-s2i 컨테이너 이미지 확장을 사용하면 외부 dockerImageRepository 를 가리키는 ImageStream 이 생성됩니다. 이미지가 빌드되어 레지스트리로 푸시되고 ImageStream 은 dockerImageRepository 에서 사용할 수 있는 태그를 채웁니다.
이미지 빌드에 사용할 확장을 선택하려면 다음을 수행합니다.
quarkus.container-image.builder=docker
quarkus.container-image.builder=docker
또는
quarkus.container-image.builder=jib
quarkus.container-image.builder=jib
1.5. 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
사용 가능한 모든 사용자 지정 옵션은 OpenShift 구성 옵션에서 사용할 수 있습니다.
다음 섹션에서는 몇 가지 예제를 제공합니다.
1.5.1. 경로 노출 링크 복사링크가 클립보드에 복사되었습니다!
Quarkus 애플리케이션의 경로를 노출하려면 다음을 수행합니다.
quarkus.openshift.route.expose=true
quarkus.openshift.route.expose=true
application.properties 파일에 이 속성을 추가할 필요가 없습니다. 대신 명령줄 인수로 전달할 수 있습니다.
./mvnw clean package -Dquarkus.openshift.route.expose=true
./mvnw clean package -Dquarkus.openshift.route.expose=true
아래에 나열된 모든 속성에 적용됩니다.
1.5.1.1. Route 리소스 보안 링크 복사링크가 클립보드에 복사되었습니다!
들어오는 연결을 보호하기 위해 OpenShift는 다양한 유형의 TLS 종료를 제공하여 인증을 제공합니다.
경로 보안 방법에 대한 자세한 내용은 OpenShift Container Platform 설명서를 참조하십시오.
다음 예제에서는 "quarkus.openshift.route.tls" 속성을 추가하여 패스스루 종료를 사용하여 보안 경로를 구성하는 방법을 보여줍니다.
quarkus.openshift.route.expose=true quarkus.openshift.route.target-port=https ## Route TLS configuration: quarkus.openshift.route.tls.termination=passthrough quarkus.openshift.route.tls.insecure-edge-termination-policy=None
quarkus.openshift.route.expose=true
quarkus.openshift.route.target-port=https
## Route TLS configuration:
quarkus.openshift.route.tls.termination=passthrough
quarkus.openshift.route.tls.insecure-edge-termination-policy=None
1.5.2. 라벨 링크 복사링크가 클립보드에 복사되었습니다!
생성된 리소스에 라벨을 추가하려면 다음을 수행합니다.
quarkus.openshift.labels.foo=bar
quarkus.openshift.labels.foo=bar
1.5.3. 주석 링크 복사링크가 클립보드에 복사되었습니다!
생성된 리소스에 주석을 추가하려면 다음을 수행합니다.
quarkus.openshift.annotations.foo=bar
quarkus.openshift.annotations.foo=bar
1.5.4. 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift는 환경 변수를 정의하는 여러 방법을 제공합니다.
- 키/값 쌍
- 시크릿 또는 ConfigMap에서 모든 값 가져오기
- 시크릿 또는 ConfigMap에서 지정된 필드에 의해 식별되는 단일 값 보간
- 동일한 리소스 내의 필드에서 값 보간
1.5.4.1. 키/값 쌍의 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
생성된 리소스에서 키/값 쌍을 환경 변수로 추가하려면 다음을 수행합니다.
quarkus.openshift.env.vars.my-env-var=foobar
quarkus.openshift.env.vars.my-env-var=foobar
위의 명령은 MY_ENV_VAR=foobar 를 환경 변수로 추가합니다. my-env-var 키는 대문자로 변환되고 대시는 MY_ENV_VAR 으로 대체됩니다.
1.5.4.2. 시크릿의 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
의 모든 키/값 쌍을 환경 변수로 추가하려면 다음 구성을 적용하여 각 보안을 쉼표(Secret ,)로 소스로 사용할 수 있도록 분리합니다.
quarkus.openshift.env.secrets=my-secret,my-other-secret
quarkus.openshift.env.secrets=my-secret,my-other-secret
컨테이너 정의에서 다음을 생성하는 것은 다음과 같습니다.
다음 코드는 my-secret Secret의 keyName 필드에 의해 식별된 값을 foo 환경 변수로 추출합니다.
quarkus.openshift.env.mapping.foo.from-secret=my-secret quarkus.openshift.env.mapping.foo.with-key=keyName
quarkus.openshift.env.mapping.foo.from-secret=my-secret
quarkus.openshift.env.mapping.foo.with-key=keyName
컨테이너의 env 섹션에 다음을 생성합니다.
1.5.4.3. ConfigMap의 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
ConfigMap 의 모든 키/값 쌍을 환경 변수로 추가하려면 다음 구성을 적용하여 각 ConfigMap 을 쉼표(,)로 소스로 사용하도록 분리합니다.
quarkus.openshift.env.configmaps=my-config-map,another-config-map
quarkus.openshift.env.configmaps=my-config-map,another-config-map
컨테이너 정의에서 다음을 생성하는 것은 다음과 같습니다.
다음은 my-config-map ConfigMap의 keyName 필드에 의해 식별된 값을 foo 환경 변수로 추출합니다.
quarkus.openshift.env.mapping.foo.from-configmap=my-configmap quarkus.openshift.env.mapping.foo.with-key=keyName
quarkus.openshift.env.mapping.foo.from-configmap=my-configmap
quarkus.openshift.env.mapping.foo.with-key=keyName
컨테이너의 env 섹션에 다음을 생성합니다.
1.5.4.4. 필드의 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
다른 필드의 값을 사용하여 소스로 사용할 필드의 경로를 지정하여 새 환경 변수를 추가할 수도 있습니다. 예를 들면 다음과 같습니다.
quarkus.openshift.env.fields.foo=metadata.name
quarkus.openshift.env.fields.foo=metadata.name
1.5.4.5. 생성된 배포 리소스 변경 링크 복사링크가 클립보드에 복사되었습니다!
배포 리소스를 생성하는 옆에 application.properties 를 사용하여 DeploymentConfig,StatefulSet,Job 또는 CronJob 리소스를 가져오도록 선택할 수도 있습니다.
quarkus.openshift.deployment-kind=StatefulSet
quarkus.openshift.deployment-kind=StatefulSet
1.5.4.5.1. 작업 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
작업 리소스를 생성하려면 application.properties:을 사용하여 다음 속성을 추가해야 합니다.
quarkus.openshift.deployment-kind=Job
quarkus.openshift.deployment-kind=Job
Picocli 확장을 사용하는 경우 기본적으로 Job 리소스가 생성됩니다.
Kubernetes 작업에서 quarkus.openshift.arguments 속성을 통해 사용하는 인수를 제공할 수 있습니다. 예를 들어 quarkus.openshift.arguments=A,B 속성을 추가합니다.
마지막으로 OpenShift에 설치될 때마다 Kubernetes 작업이 시작됩니다. Kubernetes 작업을 실행하는 방법에 대한 자세한 내용은 예제 작업 실행을 참조하십시오.
quarkus.openshift.job.xxx 아래의 속성을 사용하여 나머지 Kubernetes 작업 구성을 구성할 수 있습니다(자세한 내용은 link:https://content-stage.docs.redhat.com//en/documentation/red_hat_build_of_quarkus/3.20/html/deploying_your_red_hat_build_of_quarkus_applications_to_openshift_container_platform/deploying-to-openshift#quarkus-kubernetes_quarkus-openshift-job-parallelism[quarkus.openshift.job.parallelism 참조).
1.5.4.5.2. CronJob 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
CronJob 리소스를 생성하려면 application.properties 파일을 사용하여 다음 속성을 추가해야 합니다.
quarkus.openshift.deployment-kind=CronJob # Cron expression to run the job every hour quarkus.openshift.cron-job.schedule=0 * * * *
quarkus.openshift.deployment-kind=CronJob
# Cron expression to run the job every hour
quarkus.openshift.cron-job.schedule=0 * * * *
CronJob 리소스에는 quarkus.openshift.cron-job.schedule 속성을 통해 작업을 시작할 시기를 지정하려면 Cron 표현식이 필요합니다. thet를 제공하지 않으면 빌드가 실패합니다.
quarkus.openshift.cron-job.xxx 아래의 속성을 사용하여 나머지 Kubernetes CronJob 구성을 구성할 수 있습니다(자세한 내용은 quarkus.openshift.cron-job.parallelism).
1.5.4.6. 검증 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 두 정의 간의 충돌(예: 값을 잘못 할당하고 변수가 필드에서 파생됨을 지정)하면 빌드 시 오류가 발생합니다. 애플리케이션을 클러스터에 배포하기 전에 문제를 해결할 수 있습니다. 여기서 문제의 원인을 진단하기가 더 어려울 수 있습니다.
마찬가지로 두 개의 중복 정의(예: 동일한 시크릿에서 삽입을 두 번 정의함)해도 문제가 발생하지 않지만 해당 정의를 복제하지 않을 수 있음을 알리는 경고를 보고합니다.
1.5.4.6.1. 이전 버전과의 호환성 링크 복사링크가 클립보드에 복사되었습니다!
이전 버전의 OpenShift 확장에서는 환경 변수를 추가하기 위해 다른 구문을 지원했습니다. 이전 구문은 계속 지원되지만 더 이상 사용되지 않으며 새 구문으로 마이그레이션하는 것이 좋습니다.
| Old | 새로운 사항 | ||
| 일반 변수 |
|
| |
| 필드에서 |
|
| |
|
|
|
| |
|
|
|
| |
|
하나의 |
|
| |
|
|
| ||
|
하나의 |
|
| |
|
|
|
If you redefine the same variable using the new syntax while keeping the old syntax, **ONLY** the new version is kept, and a warning will be issued to alert you of the problem. For example, if you define both `quarkus.openshift.env-vars.my-env-var.value=foobar` and `quarkus.openshift.env.vars.my-env-var=newValue`, the extension generates an environment variable `MY_ENV_VAR=newValue` and issues a warning.
If you redefine the same variable using the new syntax while keeping the old syntax, **ONLY** the new version is kept, and a warning will be issued to alert you of the problem.
For example, if you define both `quarkus.openshift.env-vars.my-env-var.value=foobar` and `quarkus.openshift.env.vars.my-env-var=newValue`, the extension generates an environment variable `MY_ENV_VAR=newValue` and issues a warning.
1.5.5. 볼륨 마운트 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 확장을 사용하면 사용자가 애플리케이션에 대한 볼륨 및 마운트를 모두 구성할 수 있습니다. 간단한 구성으로 모든 볼륨을 마운트할 수 있습니다.
quarkus.openshift.mounts.my-volume.path=/where/to/mount
quarkus.openshift.mounts.my-volume.path=/where/to/mount
그러면 my-volume 볼륨의 마운트가 /where/to/mount 에 추가됩니다. 아래 섹션에 표시된 대로 볼륨 자체를 구성할 수 있습니다.
1.5.5.1. 시크릿 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.openshift.secret-volumes.my-volume.secret-name=my-secret
quarkus.openshift.secret-volumes.my-volume.secret-name=my-secret
1.5.5.2. ConfigMap 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.openshift.config-map-volumes.my-volume.config-map-name=my-config-map
quarkus.openshift.config-map-volumes.my-volume.config-map-name=my-config-map
1.5.5.3. 영구 볼륨 클레임 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.openshift.pvc-volumes.my-pvc.claim-name=my-pvc
quarkus.openshift.pvc-volumes.my-pvc.claim-name=my-pvc
1.6. 설정 참조 링크 복사링크가 클립보드에 복사되었습니다!
빌드 시 수정된 구성 속성 - 기타 모든 구성 속성을 런타임 시 덮어쓸 수 있음
| 구성 속성 | 유형 | 기본 |
|
환경 변수를 로드할 시크릿 이름 선택적 목록입니다.
환경 변수: | 문자열 목록 | |
|
환경 변수를 로드할 선택적 ConfigMap 이름 목록입니다.
환경 변수: | 문자열 목록 | |
|
맵은 환경 변수 이름을 연결된 필드 참조와 연결하여 값을 가져옵니다.
환경 변수: | Map<String,String> | |
|
환경 변수 값
환경 변수: | string | |
|
값을 추출할 시크릿의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출할 ConfigMap의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출하는 필드를 식별하는 키입니다.
환경 변수: | string |
필수 항목
|
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
이 구성 요소도 속한 그룹의 이름입니다.
환경 변수: | string | |
|
애플리케이션 이름입니다. 이 값은 - Deployment - Service 등 Kubernetes 리소스의 이름을 지정하는 데 사용됩니다. …
환경 변수: | string | |
|
애플리케이션의 버전입니다.
환경 변수: | string | |
|
생성된 리소스가 속해야 하는 네임스페이스입니다. 값이 설정되지 않으면 'namespace' 필드가 생성된 매니페스트의 'metadata' 섹션에 추가되지 않습니다. 즉, 매니페스트가 클러스터에 적용되면 현재 Kubernetes 컨텍스트에서 네임스페이스가 확인됩니다(자세한 내용은 organize-cluster-access-kubeconfig 참조).
환경 변수: | string | |
|
모든 리소스에 추가할 사용자 지정 레이블입니다.
환경 변수: | Map<String,String> | |
|
모든 리소스에 추가할 사용자 지정 주석입니다.
환경 변수: | Map<String,String> | |
|
애플리케이션에 대해 생성될 서비스 유형입니다.
환경 변수: |
|
|
|
Kubernetes 주석에 빌드 타임스탬프를 추가할지 여부는 동일한 애플리케이션의 연속 빌드에 대한 매니페스트를 사용하는 매우 유용한 방법입니다. 따라서 Kubernetes가 업데이트된 리소스를 적용할 수 있습니다.
환경 변수: | boolean |
|
|
환경 변수: | boolean |
|
|
환경 변수: | boolean |
|
|
작업 디렉터리.
환경 변수: | string | |
|
명령은 다음과 같습니다.
환경 변수: | 문자열 목록 | |
|
인수입니다.
환경 변수: | 문자열 목록 | |
|
서비스 계정입니다.
환경 변수: | string | |
|
설정하면 구성에 따라 컨테이너 이름이 변경됩니다.
환경 변수: | string | |
|
포트 번호입니다. 컨테이너 포트를 나타냅니다.
환경 변수: | int | |
|
호스트 포트입니다.
환경 변수: | int | |
|
애플리케이션 경로(웹 애플리케이션 경로 참조).
환경 변수: | string |
|
|
프로토콜입니다.
환경 변수: |
|
|
|
이 포트를 매핑해야 하는 nodePort입니다. 이는 serviceType이 node-port로 설정된 경우에만 적용됩니다.
환경 변수: | int | |
|
활성화하면 포트는 스키마 HTTPS를 사용하도록 구성됩니다.
환경 변수: | boolean |
|
|
이미지 가져오기 정책.
환경 변수: |
|
|
|
이미지 풀 시크릿입니다.
환경 변수: | 문자열 목록 | |
|
컨테이너 이미지 사용자 이름과 암호가 제공되면 이미지 풀 시크릿 생성을 활성화합니다.
환경 변수: | boolean |
|
|
환경 변수: | int | |
|
환경 변수: | string | |
|
프로브에 사용할 http 경로입니다. 이 기능이 작동하려면 컨테이너 포트도 설정해야 합니다. 컨테이너 포트가 설정된 경우(위의 주석에 따라) execAction 또는 tcpSocketAction이 설정되지 않은 경우 경로가 설정되지 않은 경우에도 HTTP 프로브가 자동으로 사용됩니다(루트 경로가 사용됩니다). Smallrye Health를 사용하면 상태 점검 경로에 따라 경로가 자동으로 설정됩니다.
환경 변수: | string | |
|
환경 변수: | string | |
|
프로브에 사용할 명령입니다.
환경 변수: | string | |
|
프로브에 사용할 tcp 소켓입니다( 형식은 host:port임).
환경 변수: | string | |
|
프로브에 사용할 gRPC 포트( format은 포트 또는 port:service)입니다.
환경 변수: | string | |
|
enabled 및
환경 변수: | boolean |
|
|
프로브를 시작하기 전에 대기하는 시간입니다.
환경 변수: |
| |
|
작업을 호출해야 하는 기간입니다.
환경 변수: |
| |
|
각 작업을 기다리는 시간입니다.
환경 변수: |
| |
|
사용할 성공 임계값입니다.
환경 변수: | int |
|
|
사용할 실패 임계값입니다.
환경 변수: | int |
|
|
환경 변수: | int | |
|
환경 변수: | string | |
|
프로브에 사용할 http 경로입니다. 이 기능이 작동하려면 컨테이너 포트도 설정해야 합니다. 컨테이너 포트가 설정된 경우(위의 주석에 따라) execAction 또는 tcpSocketAction이 설정되지 않은 경우 경로가 설정되지 않은 경우에도 HTTP 프로브가 자동으로 사용됩니다(루트 경로가 사용됩니다). Smallrye Health를 사용하면 상태 점검 경로에 따라 경로가 자동으로 설정됩니다.
환경 변수: | string | |
|
환경 변수: | string | |
|
프로브에 사용할 명령입니다.
환경 변수: | string | |
|
프로브에 사용할 tcp 소켓입니다( 형식은 host:port임).
환경 변수: | string | |
|
프로브에 사용할 gRPC 포트( format은 포트 또는 port:service)입니다.
환경 변수: | string | |
|
enabled 및
환경 변수: | boolean |
|
|
프로브를 시작하기 전에 대기하는 시간입니다.
환경 변수: |
| |
|
작업을 호출해야 하는 기간입니다.
환경 변수: |
| |
|
각 작업을 기다리는 시간입니다.
환경 변수: |
| |
|
사용할 성공 임계값입니다.
환경 변수: | int |
|
|
사용할 실패 임계값입니다.
환경 변수: | int |
|
|
환경 변수: | int | |
|
환경 변수: | string | |
|
프로브에 사용할 http 경로입니다. 이 기능이 작동하려면 컨테이너 포트도 설정해야 합니다. 컨테이너 포트가 설정된 경우(위의 주석에 따라) execAction 또는 tcpSocketAction이 설정되지 않은 경우 경로가 설정되지 않은 경우에도 HTTP 프로브가 자동으로 사용됩니다(루트 경로가 사용됩니다). Smallrye Health를 사용하면 상태 점검 경로에 따라 경로가 자동으로 설정됩니다.
환경 변수: | string | |
|
환경 변수: | string | |
|
프로브에 사용할 명령입니다.
환경 변수: | string | |
|
프로브에 사용할 tcp 소켓입니다( 형식은 host:port임).
환경 변수: | string | |
|
프로브에 사용할 gRPC 포트( format은 포트 또는 port:service)입니다.
환경 변수: | string | |
|
enabled 및
환경 변수: | boolean |
|
|
프로브를 시작하기 전에 대기하는 시간입니다.
환경 변수: |
| |
|
작업을 호출해야 하는 기간입니다.
환경 변수: |
| |
|
각 작업을 기다리는 시간입니다.
환경 변수: |
| |
|
사용할 성공 임계값입니다.
환경 변수: | int |
|
|
사용할 실패 임계값입니다.
환경 변수: | int |
|
|
true(기본값)인 경우 지표에 대해 prometheus에서 스크랩해야 하는 서비스를 식별하기 위해 주석 세트를 내보냅니다. ServiceMonitor와 함께 Prometheus Operator를 사용하는 구성에서는 주석이 필요하지 않을 수 있습니다.
환경 변수: | boolean |
|
|
true(기본값)인 경우 지표에 대해 prometheus에서 스크랩해야 하는 서비스를 식별하기 위해 주석 세트를 내보냅니다. ServiceMonitor와 함께 Prometheus Operator를 사용하는 구성에서는 주석이 필요하지 않을 수 있습니다.
환경 변수: | boolean |
|
|
스크랩 값에 사용되는 주석 접두사를 정의합니다. 이 값은 다른 주석 이름 기본값의 기반으로 사용됩니다. 생성된 주석의 기반을 변경하면 레이블 재지정 규칙을 더 쉽게 정의하고 예기치 않은 knock-on 효과를 방지할 수 있습니다. 기본값은
환경 변수: | string |
|
|
스크랩해야 하는 서비스를 나타내는 데 사용되는 주석을 정의합니다. 기본적으로
환경 변수: | string | |
|
스크랩 경로를 나타내는 데 사용되는 주석을 정의합니다. 기본적으로
환경 변수: | string | |
|
스크랩할 포트를 나타내는 데 사용되는 주석을 정의합니다. 기본적으로
환경 변수: | string | |
|
기본적으로 스크랩에 사용할 스키마를 나타내는 데 사용되는 주석을 정의합니다.
환경 변수: | string | |
|
마운트할 volumeName의 이름입니다.
환경 변수: | string | |
|
마운트 경로입니다.
환경 변수: | string | |
|
컨테이너의 volumeName을 마운트해야 하는 volumeName 내의 경로입니다.
환경 변수: | string | |
|
읽기 전용입니다.
환경 변수: | boolean |
|
|
마운트할 시크릿의 이름입니다.
환경 변수: | string |
필수 항목
|
|
기본 모드. 8진수를 지정하는 경우 앞에 0이 있어야 합니다.
환경 변수: | string |
|
|
파일이 마운트될 경로입니다.
환경 변수: | string |
필수 항목
|
|
0000에서 0777 사이의 값이어야 합니다. 지정하지 않으면 volume defaultMode가 사용됩니다.
환경 변수: | int |
|
|
선택 사항
환경 변수: | boolean |
|
|
마운트할 ConfigMap의 이름입니다.
환경 변수: | string |
필수 항목
|
|
기본 모드. 8진수를 지정하는 경우 앞에 0이 있어야 합니다.
환경 변수: | string |
|
|
파일이 마운트될 경로입니다.
환경 변수: | string |
필수 항목
|
|
0000에서 0777 사이의 값이어야 합니다. 지정하지 않으면 volume defaultMode가 사용됩니다.
환경 변수: | int |
|
|
선택 사항
환경 변수: | boolean |
|
|
emptyDir 볼륨.
환경 변수: | 문자열 목록 | |
|
Git 리포지토리 URL.
환경 변수: | string |
필수 항목
|
|
마운트할 리포지토리의 디렉터리입니다.
환경 변수: | string | |
|
사용할 커밋 해시입니다.
환경 변수: | string | |
|
마운트할 클레임의 이름입니다.
환경 변수: | string |
필수 항목
|
|
기본 모드. 8진수를 지정하는 경우 앞에 0이 있어야 합니다.
환경 변수: | string |
|
|
선택 사항
환경 변수: | boolean |
|
|
마운트할 디스크의 이름입니다.
환경 변수: | string |
필수 항목
|
|
파티션입니다.
환경 변수: | int | |
|
파일 시스템 유형.
환경 변수: | string |
|
|
volumeName이 읽기 전용인지 여부입니다.
환경 변수: | boolean |
|
|
공유 이름입니다.
환경 변수: | string |
필수 항목
|
|
시크릿 이름입니다.
환경 변수: | string |
필수 항목
|
|
volumeName이 읽기 전용인지 여부입니다.
환경 변수: | boolean |
|
|
마운트할 디스크의 이름입니다.
환경 변수: | string |
필수 항목
|
|
Kind가 Managed인 경우 vhd blob 오브젝트의 URI 또는 Azure 관리 데이터 디스크의 resourceID
환경 변수: | string |
필수 항목
|
|
일종의 디스크입니다.
환경 변수: |
|
|
|
디스크 캐싱 모드.
환경 변수: |
|
|
|
파일 시스템 유형.
환경 변수: | string |
|
|
volumeName이 읽기 전용인지 여부입니다.
환경 변수: | boolean |
|
|
환경 변수를 로드할 시크릿 이름 선택적 목록입니다.
환경 변수: | 문자열 목록 | |
|
환경 변수를 로드할 선택적 ConfigMap 이름 목록입니다.
환경 변수: | 문자열 목록 | |
|
맵은 환경 변수 이름을 연결된 필드 참조와 연결하여 값을 가져옵니다.
환경 변수: | Map<String,String> | |
|
환경 변수 값
환경 변수: | string | |
|
값을 추출할 시크릿의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출할 ConfigMap의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출하는 필드를 식별하는 키입니다.
환경 변수: | string |
필수 항목
|
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
컨테이너 이미지입니다.
환경 변수: | string | |
|
작업 디렉터리.
환경 변수: | string | |
|
명령
환경 변수: | 문자열 목록 | |
|
인수
환경 변수: | 문자열 목록 | |
|
서비스 계정입니다.
환경 변수: | string | |
|
애플리케이션이 노출될 호스트입니다.
환경 변수: | string | |
|
포트 번호입니다. 컨테이너 포트를 나타냅니다.
환경 변수: | int | |
|
호스트 포트입니다.
환경 변수: | int | |
|
애플리케이션 경로(웹 애플리케이션 경로 참조).
환경 변수: | string |
|
|
프로토콜입니다.
환경 변수: |
|
|
|
이 포트를 매핑해야 하는 nodePort입니다. 이는 serviceType이 node-port로 설정된 경우에만 적용됩니다.
환경 변수: | int | |
|
활성화하면 포트는 스키마 HTTPS를 사용하도록 구성됩니다.
환경 변수: | boolean |
|
|
이미지 가져오기 정책.
환경 변수: |
|
|
|
이미지 풀 시크릿입니다.
환경 변수: | 문자열 목록 | |
|
환경 변수: | int | |
|
환경 변수: | string | |
|
프로브에 사용할 http 경로입니다. 이 기능이 작동하려면 컨테이너 포트도 설정해야 합니다. 컨테이너 포트가 설정된 경우(위의 주석에 따라) execAction 또는 tcpSocketAction이 설정되지 않은 경우 경로가 설정되지 않은 경우에도 HTTP 프로브가 자동으로 사용됩니다(루트 경로가 사용됩니다). Smallrye Health를 사용하면 상태 점검 경로에 따라 경로가 자동으로 설정됩니다.
환경 변수: | string | |
|
환경 변수: | string | |
|
프로브에 사용할 명령입니다.
환경 변수: | string | |
|
프로브에 사용할 tcp 소켓입니다( 형식은 host:port임).
환경 변수: | string | |
|
프로브에 사용할 gRPC 포트( format은 포트 또는 port:service)입니다.
환경 변수: | string | |
|
enabled 및
환경 변수: | boolean |
|
|
프로브를 시작하기 전에 대기하는 시간입니다.
환경 변수: |
| |
|
작업을 호출해야 하는 기간입니다.
환경 변수: |
| |
|
각 작업을 기다리는 시간입니다.
환경 변수: |
| |
|
사용할 성공 임계값입니다.
환경 변수: | int |
|
|
사용할 실패 임계값입니다.
환경 변수: | int |
|
|
환경 변수: | int | |
|
환경 변수: | string | |
|
프로브에 사용할 http 경로입니다. 이 기능이 작동하려면 컨테이너 포트도 설정해야 합니다. 컨테이너 포트가 설정된 경우(위의 주석에 따라) execAction 또는 tcpSocketAction이 설정되지 않은 경우 경로가 설정되지 않은 경우에도 HTTP 프로브가 자동으로 사용됩니다(루트 경로가 사용됩니다). Smallrye Health를 사용하면 상태 점검 경로에 따라 경로가 자동으로 설정됩니다.
환경 변수: | string | |
|
환경 변수: | string | |
|
프로브에 사용할 명령입니다.
환경 변수: | string | |
|
프로브에 사용할 tcp 소켓입니다( 형식은 host:port임).
환경 변수: | string | |
|
프로브에 사용할 gRPC 포트( format은 포트 또는 port:service)입니다.
환경 변수: | string | |
|
enabled 및
환경 변수: | boolean |
|
|
프로브를 시작하기 전에 대기하는 시간입니다.
환경 변수: |
| |
|
작업을 호출해야 하는 기간입니다.
환경 변수: |
| |
|
각 작업을 기다리는 시간입니다.
환경 변수: |
| |
|
사용할 성공 임계값입니다.
환경 변수: | int |
|
|
사용할 실패 임계값입니다.
환경 변수: | int |
|
|
마운트할 volumeName의 이름입니다.
환경 변수: | string | |
|
마운트 경로입니다.
환경 변수: | string | |
|
컨테이너의 volumeName을 마운트해야 하는 volumeName 내의 경로입니다.
환경 변수: | string | |
|
읽기 전용입니다.
환경 변수: | boolean |
|
|
CPU 요구 사항
환경 변수: | string | |
|
메모리 요구 사항
환경 변수: | string | |
|
|
| |
|
|
| |
|
|
| |
|
환경 변수를 로드할 선택적 ConfigMap 이름 목록입니다.
환경 변수: | 문자열 목록 | |
|
맵은 환경 변수 이름을 연결된 필드 참조와 연결하여 값을 가져옵니다.
환경 변수: | Map<String,String> | |
|
환경 변수 값
환경 변수: | string | |
|
값을 추출할 시크릿의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출할 ConfigMap의 선택적 이름입니다.
환경 변수: | string | |
|
값을 추출하는 필드를 식별하는 키입니다.
환경 변수: | string |
필수 항목
|
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
컨테이너에 환경 변수를 추가할 때 사용할 선택적 접두사입니다.
환경 변수: | string | |
|
컨테이너 이미지입니다.
환경 변수: | string | |
|
작업 디렉터리.
환경 변수: | string | |
|
명령
환경 변수: | 문자열 목록 | |
|
인수
환경 변수: | 문자열 목록 | |
|
서비스 계정입니다.
환경 변수: | string | |
|
애플리케이션이 노출될 호스트입니다.
환경 변수: | string | |
|
포트 번호입니다. 컨테이너 포트를 나타냅니다.
환경 변수: | int | |
|
호스트 포트입니다.
환경 변수: | int | |
|
애플리케이션 경로(웹 애플리케이션 경로 참조).
환경 변수: | string |
|
|
프로토콜입니다.
환경 변수: |
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2장. 링크 복사링크가 클립보드에 복사되었습니다!
quarkus build quarkus deploy openshift
quarkus build quarkus deploy openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./mvnw install -Dquarkus.openshift.deploy=true
./mvnw install -Dquarkus.openshift.deploy=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.2. 링크 복사링크가 클립보드에 복사되었습니다!
quarkus build quarkus deploy openshift
quarkus build quarkus deploy openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./mvnw install -Dquarkus.openshift.deploy=true
./mvnw install -Dquarkus.openshift.deploy=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.container-image.group=<project/namespace name>
quarkus.container-image.group=<project/namespace name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get is oc get pods oc get svc
oc get is1 oc get pods2 oc get svc3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -f <pod_name>
oc logs -f <pod_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc expose svc/openshift-quickstart oc get routes curl http://<route>/hello
oc expose svc/openshift-quickstart1 oc get routes2 curl http://<route>/hello3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 링크 복사링크가 클립보드에 복사되었습니다!
3장. 링크 복사링크가 클립보드에 복사되었습니다!
3.1. 링크 복사링크가 클립보드에 복사되었습니다!
3.2. 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.openshift.build-strategy=docker
quarkus.openshift.build-strategy=dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.kubernetes-client.trust-certs=true
quarkus.kubernetes-client.trust-certs=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.route.expose=true
quarkus.openshift.route.expose=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.jvm-dockerfile=<path_to_your_dockerfile>
quarkus.openshift.jvm-dockerfile=<path_to_your_dockerfile>Copy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.jvm-dockerfile=src/main/resources/Dockerfile.custom-jvm
quarkus.openshift.jvm-dockerfile=src/main/resources/Dockerfile.custom-jvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow
./mvnw clean package -Dquarkus.openshift.deploy=true
./mvnw clean package -Dquarkus.openshift.deploy=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get pods
oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE openshift-helloworld-1-build 0/1 Completed 0 11m openshift-helloworld-1-deploy 0/1 Completed 0 10m openshift-helloworld-1-gzzrx 1/1 Running 0 10m
NAME READY STATUS RESTARTS AGE openshift-helloworld-1-build 0/1 Completed 0 11m openshift-helloworld-1-deploy 0/1 Completed 0 10m openshift-helloworld-1-gzzrx 1/1 Running 0 10mCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -f openshift-helloworld-1-gzzrx
oc logs -f openshift-helloworld-1-gzzrxCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get svc
oc get svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE openshift-helloworld ClusterIP 172.30.64.57 <none> 80/TCP 14m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE openshift-helloworld ClusterIP 172.30.64.57 <none> 80/TCP 14mCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get routes
oc get routesCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD openshift-helloworld openshift-helloworld-username-dev.apps.sandbox-m2.ll9k.p1.openshiftapps.com openshift-helloworld http None
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD openshift-helloworld openshift-helloworld-username-dev.apps.sandbox-m2.ll9k.p1.openshiftapps.com openshift-helloworld http NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
3.4. 링크 복사링크가 클립보드에 복사되었습니다!
4장. 링크 복사링크가 클립보드에 복사되었습니다!
4.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
<maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./mvnw clean package
./mvnw clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0 AB_JOLOKIA_OFF=true JAVA_APP_JAR=/deployments/quarkus-run.jar
MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0 AB_JOLOKIA_OFF=true JAVA_APP_JAR=/deployments/quarkus-run.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc import-image ubi9/openjdk-17 --from=registry.access.redhat.com/ubi9/openjdk-17 --confirm
oc import-image ubi9/openjdk-17 --from=registry.access.redhat.com/ubi9/openjdk-17 --confirmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc new-app registry.access.redhat.com/ubi9/openjdk-17~<git_path> --name=<project_name>
oc new-app registry.access.redhat.com/ubi9/openjdk-17~<git_path> --name=<project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc start-build <project_name>
oc start-build <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc expose svc <project_name>
oc expose svc <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get pods
oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -f <pod_name>
oc logs -f <pod_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./mvnw clean package
./mvnw clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0 AB_JOLOKIA_OFF=true JAVA_APP_JAR=/deployments/quarkus-run.jar
MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0 AB_JOLOKIA_OFF=true JAVA_APP_JAR=/deployments/quarkus-run.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc import-image ubi9/openjdk-21 --from=registry.access.redhat.com/ubi9/openjdk-21 --confirm
oc import-image ubi9/openjdk-21 --from=registry.access.redhat.com/ubi9/openjdk-21 --confirmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc new-app registry.access.redhat.com/ubi8/openjdk-21~<git_path> --name=<project_name>
oc new-app registry.access.redhat.com/ubi8/openjdk-21~<git_path> --name=<project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
oc start-build <project_name>
oc start-build <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc expose svc <project_name>
oc expose svc <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get pods
oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -f <pod_name>
oc logs -f <pod_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 링크 복사링크가 클립보드에 복사되었습니다!
5장. 링크 복사링크가 클립보드에 복사되었습니다!
5.1. 링크 복사링크가 클립보드에 복사되었습니다!
5.2. 링크 복사링크가 클립보드에 복사되었습니다!
quarkus.openshift.build-strategy=docker
quarkus.openshift.build-strategy=dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.native.container-build=true
quarkus.native.container-build=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.kubernetes-client.trust-certs=true
quarkus.kubernetes-client.trust-certs=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.route.expose=true
quarkus.openshift.route.expose=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.native-dockerfile=<path_to_your_dockerfile>
quarkus.openshift.native-dockerfile=<path_to_your_dockerfile>Copy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.openshift.native-dockerfile=src/main/docker/Dockerfile.custom-native
quarkus.openshift.native-dockerfile=src/main/docker/Dockerfile.custom-nativeCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.native.container-runtime=podman
quarkus.native.container-runtime=podmanCopy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus.native.container-runtime=docker
quarkus.native.container-runtime=dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
./mvnw clean package -Pnative -Dquarkus.openshift.deploy=true
./mvnw clean package -Pnative -Dquarkus.openshift.deploy=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get is oc get pods oc get svc
oc get is1 oc get pods2 oc get svc3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc logs -f <pod_name>
oc logs -f <pod_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow

