Red Hat Camel K is deprecated
Red Hat Camel K is deprecated and the End of Life date for this product is June 30, 2025. For help migrating to the current go-to solution, Red Hat build of Apache Camel, see the Migration Guide.6.3. Camel K 플랫폼 특성
6.3.1. builder trit
빌더 특성은 내부적으로 IntegrationKits를 빌드하고 구성하는 데 가장 적합한 전략을 결정하는 데 사용됩니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
빌더 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.1.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait builder.[key]=[value] --trait builder.[key2]=[value2] Integration.java
$ kamel run --trait builder.[key]=[value] --trait builder.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 이를 지원하는 빌드 구성 요소(예: OpenShift 빌드 포드)에 대한 자세한 로깅을 활성화합니다. Kaniko 및 Buildah는 지원되지 않습니다. |
|
| 빌드 작업에 제공할 속성 목록 |
6.3.2. 컨테이너 중추적
컨테이너 특성은 통합이 실행될 컨테이너의 속성을 구성하는 데 사용할 수 있습니다.
컨테이너와 연결된 서비스에 대한 구성도 제공합니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
컨테이너 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.2.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait container.[key]=[value] --trait container.[key2]=[value2] Integration.java
$ kamel run --trait container.[key]=[value] --trait container.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| |
|
| 필요한 최소 CPU 양입니다. |
|
| 필요한 최소 메모리 양입니다. |
|
| 필요한 최대 CPU 양입니다. |
|
| 필요한 최대 메모리 양입니다. |
|
| kubernetes 서비스를 통해 노출을 활성화/비활성화하는 데 사용할 수 있습니다. |
|
|
컨테이너에서 노출하는 다른 포트(기본 |
|
|
컨테이너에서 노출하는 포트(기본 |
|
|
컨테이너 포트를 노출할 서비스 포트(기본값 |
|
|
컨테이너 포트를 노출할 서비스 포트 이름(기본 |
|
|
기본 컨테이너 이름입니다. 이 이름은 기본적으로 |
|
| 기본 컨테이너 이미지 |
|
|
컨테이너에서 ProbesEnabled 활성화/비활성화 프로브(기본값 |
|
| 활성 프로브가 시작되기 전에 컨테이너를 시작한 후의 시간(초)입니다. |
|
| 프로브가 시간 초과되는 시간(초)입니다. 활성 프로브에 적용됩니다. |
|
| 프로브를 수행하는 빈도입니다. 활성 프로브에 적용됩니다. |
|
| 프로브가 실패한 후 성공으로 간주되는 최소 연속 성공입니다. 활성 프로브에 적용됩니다. |
|
| 성공 후 프로브가 실패한 것으로 간주되는 최소 연속 실패입니다. 활성 프로브에 적용됩니다. |
|
| 준비 상태 프로브가 시작되기 전에 컨테이너를 시작한 시간(초)입니다. |
|
| 프로브가 시간 초과되는 시간(초)입니다. 준비 프로브에 적용됩니다. |
|
| 프로브를 수행하는 빈도입니다. 준비 프로브에 적용됩니다. |
|
| 프로브가 실패한 후 성공으로 간주되는 최소 연속 성공입니다. 준비 프로브에 적용됩니다. |
|
| 성공 후 프로브가 실패한 것으로 간주되는 최소 연속 실패입니다. 준비 프로브에 적용됩니다. |
6.3.3. Cameleekit
Camel 특성을 사용하여 Apache Camel K 런타임 및 관련 라이브러리 버전을 구성할 수 있으며 비활성화할 수 없습니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
카멜 특성은 플랫폼 특성입니다: 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.3.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait camel.[key]=[value] --trait camel.[key2]=[value2] Integration.java
$ kamel run --trait camel.[key]=[value] --trait camel.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
6.3.4. 종속 항목 추적
Dependencies 특성은 사용자가 실행하려는 통합을 기반으로 런타임 종속성을 자동으로 추가하는 데 사용됩니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
종속성 특성은 플랫폼 특성: 플랫폼 기능을 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.4.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait dependencies.[key]=[value] Integration.java
$ kamel run --trait dependencies.[key]=[value] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
6.3.5. 배포자 traceit
배포자 특성은 통합을 배포할 고급 리소스 유형을 명시적으로 선택하는 데 사용할 수 있습니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
배포자 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.5.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait deployer.[key]=[value] --trait deployer.[key2]=[value2] Integration.java
$ kamel run --trait deployer.[key]=[value] --trait deployer.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
|
통합을 실행하기 위한 리소스를 생성할 때 배포 , |
6.3.6. 배포 트립트
Deployment 특성은 클러스터에서 통합이 실행되도록 하는 Kubernetes 배포를 생성합니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
배포 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.6.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait deployment.[key]=[value] Integration.java
$ kamel run --trait deployment.[key]=[value] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
6.3.7. 환경 추적
환경 특성은 NAMESPACE
,POD_NAME
등과 같은 통합 컨테이너에 표준 환경 변수를 삽입하는 데 내부적으로 사용됩니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
환경 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.7.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait environment.[key]=[value] --trait environment.[key2]=[value2] Integration.java
$ kamel run --trait environment.[key]=[value] --trait environment.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
|
|
6.3.8. error Handler trit
error-handler는 통합 런타임에 Error Handler 소스를 삽입하는 데 사용되는 플랫폼 특성입니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
error-handler 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.8.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait error-handler.[key]=[value] --trait error-handler.[key2]=[value2] Integration.java
$ kamel run --trait error-handler.[key]=[value] --trait error-handler.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 애플리케이션 속성에 제공되거나 제공된 오류 처리기 참조 이름 |
6.3.9. JVM trit
JVM 특성은 통합을 실행하는 JVM을 구성하는 데 사용됩니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
jvm 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.9.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait jvm.[key]=[value] --trait jvm.[key2]=[value2] Integration.java
$ kamel run --trait jvm.[key]=[value] --trait jvm.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 포트 전달을 사용하여 디버거를 JVM에 연결할 수 있도록 원격 디버깅을 활성화합니다. |
|
| 기본 클래스가 로드되기 직전에 대상 JVM을 일시 중지합니다. |
|
|
컨테이너 로그에서 JVM을 시작하는 데 사용되는 명령을 출력합니다(기본값 |
|
|
새로 시작된 JVM을 수신 대기하는 전송 주소(기본값 |
|
| JVM 옵션 목록 |
|
|
추가 JVM 클래스 경로( |
6.3.9.2. 예
통합에 대한 추가 클래스 경로를
포함
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run -t jvm.classpath=/path/to/my-dependency.jar:/path/to/another-dependency.jar ...
$ 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와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait kamelets.[key]=[value] --trait kamelets.[key2]=[value2] Integration.java
$ kamel run --trait kamelets.[key]=[value] --trait kamelets.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 참조된 모든 Kamelets 및 기본 구성(기본적으로 사용)을 자동으로 삽입합니다. |
|
| 현재 통합에 로드할 콤마로 구분된 Kamelet 이름 목록 |
6.3.11. nodeAffinityAffinityAffinityit
NodeAffinity 특성을 사용하면 다음 경로를 통해 통합 Pod를 예약할 수 있는 노드를 제한할 수 있습니다.
- 노드의 라벨 또는 Pod 간 유사성 및 유사성 방지를 사용합니다.
- 노드에서 이미 실행 중인 Pod의 레이블을 기반으로 합니다.
이 특성은 기본적으로 비활성화되어 있습니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
6.3.11.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait affinity.[key]=[value] --trait affinity.[key2]=[value2] Integration.java
$ kamel run --trait affinity.[key]=[value] --trait affinity.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 항상 동일한 노드에 통합의 여러 복제본을 공동 배치합니다(기본값 false). |
|
| 동일한 노드에 통합의 여러 복제본을 공동 배치하지 마십시오(기본값 false). |
|
| 노드의 라벨에 따라 통합 Pod를 예약할 수 있는 노드 세트를 정의합니다. |
|
| 통합 Pod를 함께 배치해야 하는 Pod 세트(즉, 지정된 네임스페이스와 관련하여 라벨 선택기와 일치하는 항목)를 정의합니다. |
|
| 통합 Pod를 함께 배치해서는 안 되는 Pod 집합(즉, 지정된 네임스페이스와 상대적인 라벨 선택기와 일치)을 정의합니다. |
6.3.11.2. 예
기본 제공 노드 레이블
kubernetes.io/hostname
을 사용하여 특정 노드에서 통합 Pod를 예약하려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run -t affinity.node-affinity-labels="kubernetes.io/hostname in(node-66-50.hosted.k8s.tld)" ...
$ kamel run -t affinity.node-affinity-labels="kubernetes.io/hostname in(node-66-50.hosted.k8s.tld)" ...
노드당 단일 통합 Pod를 예약하려면(
Exists
Operator 사용)Copy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run -t affinity.pod-anti-affinity-labels="camel.apache.org/integration" ...
$ kamel run -t affinity.pod-anti-affinity-labels="camel.apache.org/integration" ...
통합 Pod를 다른 통합 Pod와 공동 배치하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run -t affinity.pod-affinity-labels="camel.apache.org/integration in(it1, it2)" ...
$ kamel run -t affinity.pod-affinity-labels="camel.apache.org/integration in(it1, it2)" ...
*-labels
옵션은 라벨 선택기 의 요구 사항을 따릅니다. 다중 평가를 받을 수 있습니다. 그런 다음 요구 사항 목록은 ANDed(예: 노드당 단일 통합 Pod를 예약하고 Camel K 운영자 Pod와 함께 배치되지 않음)가 됩니다.
kamel run -t affinity.pod-anti-affinity-labels="camel.apache.org/integration" -t affinity.pod-anti-affinity-labels="camel.apache.org/component=operator" ...
$ 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와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait openapi.[key]=[value] Integration.java
$ kamel run --trait openapi.[key]=[value] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
6.3.13. 소유자 트래킷
소유자 특성은 생성된 모든 리소스가 통합에 속하고 이러한 소유 리소스에 대한 통합에서 주석 및 레이블을 전송합니다.
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
소유자 특성은 플랫폼 특성: 플랫폼 기능을 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.13.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait owner.[key]=[value] --trait owner.[key2]=[value2] Integration.java
$ kamel run --trait owner.[key]=[value] --trait owner.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 전송할 주석 세트 |
|
| 전송할 레이블 세트 |
6.3.14. 플랫폼trait
플랫폼 특성은 통합 플랫폼을 통합에 할당하는 데 사용되는 기본 특성입니다.
플랫폼이 누락된 경우 기본 플랫폼을 생성할 수 있습니다. 이 기능은 플랫폼에 대한 사용자 지정 구성을 제공할 필요가 없는 상황에서 특히 유용합니다(예: 포함된 컨테이너 이미지 레지스트리가 있으므로 OpenShift에서 기본 설정이 작동합니다).
이 특성은 Kubernetes, Knative, OpenShift 에서 사용할 수 있습니다.
플랫폼 특성은 플랫폼 특성입니다. 이를 비활성화하면 플랫폼 기능이 손상될 수 있습니다.
6.3.14.1. 설정
CLI와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait platform.[key]=[value] --trait platform.[key2]=[value2] Integration.java
$ kamel run --trait platform.[key]=[value] --trait platform.[key2]=[value2] Integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
| 플랫폼이 누락된 경우 기본 (비어 있음) 플랫폼을 생성하려면 다음을 수행합니다. |
|
| 글로벌 연산자(기본값 true)의 경우 플랫폼을 전역적으로 생성해야 하는지 여부를 나타냅니다. |
|
| 기본 플랫폼을 생성할 수 있는 경우 환경에서 자동으로 감지합니다(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와의 통합을 실행할 때 특성 속성을 지정할 수 있습니다.
kamel run --trait quarkus.[key]=[value] --trait quarkus.[key2]=[value2] integration.java
$ kamel run --trait quarkus.[key]=[value] --trait quarkus.[key2]=[value2] integration.java
다음 구성 옵션을 사용할 수 있습니다.
속성 | 유형 | 설명 |
---|---|---|
|
| 특성을 활성화하거나 비활성화하는 데 사용할 수 있습니다. 모든 특성은 이 공통 속성을 공유합니다. |
|
|
Quarkus 패키지 유형, |
6.3.15.2. 지원되는 Camel 구성 요소
Camel K는 Camel Quarkus Extensions로 즉시 사용할 수 있는 Camel 구성 요소만 지원합니다.
6.3.15.3. 예
6.3.15.3.1. 네이티브 통합에 자동 롤아웃 배포
네이티브 실행 파일로 컴파일하면 런타임 시 메모리를 더 빠르게 시작하고 더 적게 사용하는 통합이 생성되지만 빌드 프로세스는 리소스가 집약적이며 기존 Java 애플리케이션에 대한 패키징보다 시간이 오래 걸립니다.
두 세계의 최고를 결합하기 위해 통합을 실행할 때 기존 빌드와 네이티브 빌드를 동시에 실행하도록 Quarkus 특성을 구성할 수 있습니다. 예를 들면 다음과 같습니다.
kamel run -t quarkus.package-type=fast-jar -t quarkus.package-type=native ...
$ kamel run -t quarkus.package-type=fast-jar -t quarkus.package-type=native ...
통합 Pod는 fast-jar
빌드가 완료되면 즉시 실행되며 네이티브
이미지에 대한 롤아웃 배포는 네이티브
빌드가 완료되면 서비스 중단 없이 트리거됩니다.