6.3. Camel K 플랫폼 특성


6.3.1. builder trit

빌더 특성은 내부적으로 IntegrationKits를 빌드하고 구성하는 데 가장 적합한 전략을 결정하는 데 사용됩니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

빌더 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.1.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait builder.[key]=[value] --trait builder.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

builder.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

builder.verbose

bool

이를 지원하는 빌드 구성 요소(예: OpenShift 빌드 포드)에 대한 자세한 로깅을 활성화합니다. Kaniko 및 Buildah는 지원되지 않습니다.

builder.properties

[]string

빌드 작업에 제공할 속성 목록

6.3.2. 컨테이너 중추적

컨테이너 특성은 통합이 실행될 컨테이너의 속성을 구성하는 데 사용할 수 있습니다.

컨테이너와 연결된 서비스에 대한 구성도 제공합니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

컨테이너 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.2.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait container.[key]=[value] --trait container.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

container.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

container.auto

bool

 

container.request-cpu

string

필요한 최소 CPU 양입니다.

container.request-memory

string

필요한 최소 메모리 양입니다.

container.limit-cpu

string

필요한 최대 CPU 양입니다.

container.limit-memory

string

필요한 최대 메모리 양입니다.

container.expose

bool

kubernetes 서비스를 통해 노출을 활성화/비활성화하는 데 사용할 수 있습니다.

container.port

int

컨테이너에서 노출하는 다른 포트(기본 8080)를 구성하려면 다음을 수행합니다.

container.port-name

string

컨테이너에서 노출하는 포트(기본 http)에 대해 다른 포트 이름을 구성하려면 다음을 수행합니다.

container.service-port

int

컨테이너 포트를 노출할 서비스 포트(기본값 80)를 구성하려면 다음을 수행합니다.

container.service-port-name

string

컨테이너 포트를 노출할 서비스 포트 이름(기본 http)을 구성하려면 다음을 수행합니다.

container.name

string

기본 컨테이너 이름입니다. 이 이름은 기본적으로 통합 이라고 합니다.

container.image

string

기본 컨테이너 이미지

container.probes-enabled

bool

컨테이너에서 ProbesEnabled 활성화/비활성화 프로브(기본값 false)

container.liveness-initial-delay

int32

활성 프로브가 시작되기 전에 컨테이너를 시작한 후의 시간(초)입니다.

container.liveness-timeout

int32

프로브가 시간 초과되는 시간(초)입니다. 활성 프로브에 적용됩니다.

container.liveness-period

int32

프로브를 수행하는 빈도입니다. 활성 프로브에 적용됩니다.

container.liveness-success-threshold

int32

프로브가 실패한 후 성공으로 간주되는 최소 연속 성공입니다. 활성 프로브에 적용됩니다.

container.liveness-failure-threshold

int32

성공 후 프로브가 실패한 것으로 간주되는 최소 연속 실패입니다. 활성 프로브에 적용됩니다.

container.readiness-initial-delay

int32

준비 상태 프로브가 시작되기 전에 컨테이너를 시작한 시간(초)입니다.

container.readiness-timeout

int32

프로브가 시간 초과되는 시간(초)입니다. 준비 프로브에 적용됩니다.

container.readiness-period

int32

프로브를 수행하는 빈도입니다. 준비 프로브에 적용됩니다.

container.readiness-success-threshold

int32

프로브가 실패한 후 성공으로 간주되는 최소 연속 성공입니다. 준비 프로브에 적용됩니다.

container.readiness-failure-threshold

int32

성공 후 프로브가 실패한 것으로 간주되는 최소 연속 실패입니다. 준비 프로브에 적용됩니다.

6.3.3. Cameleekit

Camel 특성을 사용하여 Apache Camel K 런타임 및 관련 라이브러리 버전을 구성할 수 있으며 비활성화할 수 없습니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

카멜 특성은 플랫폼 특성입니다: 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.3.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait camel.[key]=[value] --trait camel.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

Camel.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

6.3.4. 종속 항목 추적

Dependencies 특성은 사용자가 실행하려는 통합을 기반으로 런타임 종속성을 자동으로 추가하는 데 사용됩니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

종속성 특성은 플랫폼 특성: 플랫폼 기능을 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.4.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait dependencies.[key]=[value] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

dependencies.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

6.3.5. 배포자 traceit

배포자 특성은 통합을 배포할 고급 리소스 유형을 명시적으로 선택하는 데 사용할 수 있습니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

배포자 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.5.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait deployer.[key]=[value] --trait deployer.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

deployer.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

deployer.kind

string

통합을 실행하기 위한 리소스를 생성할 때 배포 ,cron-job 또는 knative-service 간에 원하는 배포 유형을 명시적으로 선택할 수 있습니다.

6.3.6. 배포 트립트

Deployment 특성은 클러스터에서 통합이 실행되도록 하는 Kubernetes 배포를 생성합니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

배포 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.6.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait deployment.[key]=[value] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

deployment.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

6.3.7. 환경 추적

환경 특성은 NAMESPACE,POD_NAME 등과 같은 통합 컨테이너에 표준 환경 변수를 삽입하는 데 내부적으로 사용됩니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

환경 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.7.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait environment.[key]=[value] --trait environment.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

environment.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

environment.container-meta

bool

NAMESPACEPOD_NAME 환경 변수를 삽입할 수 있습니다(기본값 true)

6.3.8. error Handler trit

error-handler는 통합 런타임에 Error Handler 소스를 삽입하는 데 사용되는 플랫폼 특성입니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

error-handler 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.8.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait error-handler.[key]=[value] --trait error-handler.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

error-handler.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

error-handler.ref

string

애플리케이션 속성에 제공되거나 제공된 오류 처리기 참조 이름

6.3.9. JVM trit

JVM 특성은 통합을 실행하는 JVM을 구성하는 데 사용됩니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

jvm 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.9.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait jvm.[key]=[value] --trait jvm.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

JVM.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

jvm.debug

bool

포트 전달을 사용하여 디버거를 JVM에 연결할 수 있도록 원격 디버깅을 활성화합니다.

jvm.debug-suspend

bool

기본 클래스가 로드되기 직전에 대상 JVM을 일시 중지합니다.

jvm.print-command

bool

컨테이너 로그에서 JVM을 시작하는 데 사용되는 명령을 출력합니다(기본값 true)

jvm.debug-address

string

새로 시작된 JVM을 수신 대기하는 전송 주소(기본값 *:5005)

jvm.options

[]string

JVM 옵션 목록

jvm.classpath

string

추가 JVM 클래스 경로( Linux classpath 사용)

6.3.9.2. 예

  • 통합에 대한 추가 클래스 경로를 포함:

    Copy to Clipboard Toggle word wrap
    $ kamel run -t jvm.classpath=/path/to/my-dependency.jar:/path/to/another-dependency.jar ...

6.3.10. Kamelets traditionalit

kamelets 특성은 Kamelets를 통합 런타임에 삽입하는 데 사용되는 플랫폼 특성입니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

kamelets 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.10.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait kamelets.[key]=[value] --trait kamelets.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

kamelets.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

kamelets.auto

bool

참조된 모든 Kamelets 및 기본 구성(기본적으로 사용)을 자동으로 삽입합니다.

kamelets.list

string

현재 통합에 로드할 콤마로 구분된 Kamelet 이름 목록

6.3.11. nodeAffinityAffinityAffinityit

NodeAffinity 특성을 사용하면 다음 경로를 통해 통합 Pod를 예약할 수 있는 노드를 제한할 수 있습니다.

  • 노드의 라벨 또는 Pod 간 유사성 및 유사성 방지를 사용합니다.
  • 노드에서 이미 실행 중인 Pod의 레이블을 기반으로 합니다.

이 특성은 기본적으로 비활성화되어 있습니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

6.3.11.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait affinity.[key]=[value] --trait affinity.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

affinity.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

affinity.pod-affinity

bool

항상 동일한 노드에 통합의 여러 복제본을 공동 배치합니다(기본값 false).

affinity.pod-anti-affinity

bool

동일한 노드에 통합의 여러 복제본을 공동 배치하지 마십시오(기본값 false).

affinity.node-affinity-labels

[]string

노드의 라벨에 따라 통합 Pod를 예약할 수 있는 노드 세트를 정의합니다.

affinity.pod-affinity-labels

[]string

통합 Pod를 함께 배치해야 하는 Pod 세트(즉, 지정된 네임스페이스와 관련하여 라벨 선택기와 일치하는 항목)를 정의합니다.

affinity.pod-anti-affinity-labels

[]string

통합 Pod를 함께 배치해서는 안 되는 Pod 집합(즉, 지정된 네임스페이스와 상대적인 라벨 선택기와 일치)을 정의합니다.

6.3.11.2. 예

  • 기본 제공 노드 레이블 kubernetes.io/hostname 을 사용하여 특정 노드에서 통합 Pod를 예약하려면 다음을 수행합니다.

    Copy to Clipboard Toggle word wrap
    $ kamel run -t affinity.node-affinity-labels="kubernetes.io/hostname in(node-66-50.hosted.k8s.tld)" ...
  • 노드당 단일 통합 Pod를 예약하려면( Exists Operator 사용)

    Copy to Clipboard Toggle word wrap
    $ kamel run -t affinity.pod-anti-affinity-labels="camel.apache.org/integration" ...
  • 통합 Pod를 다른 통합 Pod와 공동 배치하려면 다음을 수행합니다.

    Copy to Clipboard Toggle word wrap
    $ kamel run -t affinity.pod-affinity-labels="camel.apache.org/integration in(it1, it2)" ...

*-labels 옵션은 라벨 선택기 의 요구 사항을 따릅니다. 다중 평가를 받을 수 있습니다. 그런 다음 요구 사항 목록은 ANDed(예: 노드당 단일 통합 Pod를 예약하고 Camel K 운영자 Pod와 함께 배치되지 않음)가 됩니다.

Copy to Clipboard Toggle word wrap
$ kamel run -t affinity.pod-anti-affinity-labels="camel.apache.org/integration" -t affinity.pod-anti-affinity-labels="camel.apache.org/component=operator" ...

자세한 내용은 노드에 Pod 할당에 대한 공식 Kubernetes 설명서에서 확인할 수 있습니다.

6.3.12. OpenAPI functionalit

OpenAPI DSL 특성은 내부적으로 OpenAPI 사양에서 통합을 생성할 수 있도록 사용됩니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

openapi 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.12.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait openapi.[key]=[value] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

openAPI.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

6.3.13. 소유자 트래킷

소유자 특성은 생성된 모든 리소스가 통합에 속하고 이러한 소유 리소스에 대한 통합에서 주석 및 레이블을 전송합니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

소유자 특성은 플랫폼 특성: 플랫폼 기능을 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.13.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait owner.[key]=[value] --trait owner.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

owner.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

owner.target-annotations

[]string

전송할 주석 세트

owner.target-labels

[]string

전송할 레이블 세트

6.3.14. 플랫폼trait

플랫폼 특성은 통합 플랫폼을 통합에 할당하는 데 사용되는 기본 특성입니다.

플랫폼이 누락된 경우 기본 플랫폼을 생성할 수 있습니다. 이 기능은 플랫폼에 대한 사용자 지정 구성을 제공할 필요가 없는 상황에서 특히 유용합니다(예: 포함된 컨테이너 이미지 레지스트리가 있으므로 OpenShift에서 기본 설정이 작동합니다).

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

플랫폼 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.14.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait platform.[key]=[value] --trait platform.[key2]=[value2] Integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

platform.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

platform.create-default

bool

플랫폼이 누락된 경우 기본 (비어 있음) 플랫폼을 생성하려면 다음을 수행합니다.

platform.global

bool

글로벌 연산자(기본값 true)의 경우 플랫폼을 전역적으로 생성해야 하는지 여부를 나타냅니다.

platform.auto

bool

기본 플랫폼을 생성할 수 있는 경우 환경에서 자동으로 감지합니다(OpenShift에서만 생성됨).

6.3.15. Quarkuseekit

Quarkus 특성은 Quarkus 런타임을 활성화합니다.

기본적으로 활성화되어 있습니다.

참고

네이티브 실행 파일(예: package-type=native )로 컴파일하는 것은 YAML 통합뿐만 아니라 kamelets에만 지원됩니다. 또한 최소 4GiB의 메모리가 필요하므로, Operator Pod 또는 (플랫폼에 구성된 빌드 전략에 따라) 기본 빌드를 실행하는 Pod에 사용 가능한 메모리가 충분해야 합니다.

이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.

주의

quarkus 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.

6.3.15.1. 설정

CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kamel run --trait quarkus.[key]=[value] --trait quarkus.[key2]=[value2] integration.java

다음 구성 옵션을 사용할 수 있습니다.

속성유형설명

quarkus.enabled

bool

특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다.

quarkus.package-type

[]github.com/apache/camel-k/pkg/trait.quarkusPackageType

Quarkus 패키지 유형, fast-jar 또는 네이티브 (기본 fast-jar)입니다. fast-jar native 가 모두 지정된 경우, 기본 키트가 준비한 fast-jar 보다 우선하여 두 개의 IntegrationKit 리소스가 생성됩니다. 이 순서는 통합을 위한 현재 키트의 해결에 영향을 미칩니다. 첫 번째 패키지 유형에 해당하는 키트는 통합과 일치하는 기존 키트가 없는 경우 통합에 할당됩니다.

6.3.15.2. 지원되는 Camel 구성 요소

Camel K는 Camel Quarkus Extensions로 즉시 사용할 수 있는 Camel 구성 요소만 지원합니다.

6.3.15.3. 예

6.3.15.3.1. 네이티브 통합에 자동 롤아웃 배포

네이티브 실행 파일로 컴파일하면 런타임 시 메모리를 더 빠르게 시작하고 더 적게 사용하는 통합이 생성되지만 빌드 프로세스는 리소스가 집약적이며 기존 Java 애플리케이션에 대한 패키징보다 시간이 오래 걸립니다.

두 세계의 최고를 결합하기 위해 통합을 실행할 때 기존 빌드와 네이티브 빌드를 동시에 실행하도록 Quarkus 특성을 구성할 수 있습니다. 예를 들면 다음과 같습니다.

Copy to Clipboard Toggle word wrap
$ kamel run -t quarkus.package-type=fast-jar -t quarkus.package-type=native ...

통합 Pod는 fast-jar 빌드가 완료되면 즉시 실행되며 네이티브 이미지에 대한 롤아웃 배포는 네이티브 빌드가 완료되면 서비스 중단 없이 트리거됩니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat, Inc.