3.4. Camel K 통합 실행
kamel run 명령을 사용하여 명령줄에서 OpenShift 클러스터의 클라우드에서 Camel K 통합을 실행할 수 있습니다.
사전 요구 사항
- Camel K 개발 환경 설정.
- Java 또는 YAML DSL으로 작성된 Camel 통합이 이미 있어야 합니다.
절차
oc클라이언트 툴을 사용하여 OpenShift 클러스터에 로그인합니다. 예를 들면 다음과 같습니다.oc login --token=my-token --server=https://my-cluster.example.com:6443
$ oc login --token=my-token --server=https://my-cluster.example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow Camel K Operator가 실행 중인지 확인합니다. 예를 들면 다음과 같습니다.
oc get pod
$ oc get pod NAME READY STATUS RESTARTS AGE camel-k-operator-86b8d94b4-pk7d6 1/1 Running 0 6m28sCopy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run명령을 입력하여 OpenShift의 클라우드에서 통합을 실행합니다. 예를 들면 다음과 같습니다.Java 예
kamel run HelloCamelK.java
$ kamel run HelloCamelK.java integration "hello-camel-k" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 예
kamel run hello.camelk.yaml
$ kamel run hello.camelk.yaml integration "hello" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow kamel get명령을 입력하여 통합 상태를 확인합니다.kamel get
$ kamel get NAME PHASE KIT hello Building Kit myproject/kit-bq666mjej725sk8sn12gCopy to Clipboard Copied! Toggle word wrap Toggle overflow Camel K는 통합이 처음 실행되면 필요한 모든 Camel 모듈을 다운로드하여 이미지 클래스 경로에 추가하는 컨테이너 이미지의 통합 키트를 빌드합니다.
kamel get를 다시 입력하여 통합이 실행 중인지 확인합니다.kamel get
$ kamel get NAME PHASE KIT hello Running myproject/kit-bq666mjej725sk8sn12gCopy to Clipboard Copied! Toggle word wrap Toggle overflow kamel log명령을 입력하여 로그를stdout에 출력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ctrl-C를 눌러 터미널에서 로깅을 종료합니다.
추가 리소스
-
kamel run명령에 대한 자세한 내용은kamel run --help를 입력합니다. - 배포 전환 시간을 단축하려면 개발 모드에서 Camel K 통합 실행을참조하십시오.
- 통합을 실행하는 개발 툴에 대한 자세한 내용은 VS Code Tooling for Apache Camel K by Red Hat에서 참조하십시오.
- Camel K 통합 관리참조
CLI 없이 통합 실행
CLI(Command Line Interface) 없이 통합을 실행하고 구성과 함께 Integration Custom Resource 를 만들어 애플리케이션을 실행할 수 있습니다.
예를 들어 다음 샘플 경로를 실행합니다.
kamel run Sample.java -o yaml
kamel run Sample.java -o yaml
예상 통합 사용자 지정 리소스를 반환합니다.
이 사용자 지정 리소스를 yaml 파일 my-integration.yaml 에 저장합니다. 이제 oc 명령줄, UI 또는 OpenShift 클러스터를 호출할 API를 사용하여 Integration Custom Resource가 포함된 통합을 실행합니다. 다음 예에서는 명령줄에서 oc CLI를 사용합니다.
oc apply -f my-integration.yaml ... integration.camel.apache.org/my-integration created
oc apply -f my-integration.yaml
...
integration.camel.apache.org/my-integration created
Operator는 통합을 실행합니다.
- Kubernetes는 CustomResourceDefinitions에 대한 Structural Schemas 를 지원합니다.
- Camel K 특성에 대한 자세한 내용은 Camel K 특성 구성 참조 에서 참조하십시오.
사용자 정의 리소스의 스키마 변경
강력한 형식의 Trait API는 다음 CustomResourceDefinitions에 변경 사항을 적용합니다.
통합, 통합kits', 'integrationplatforms).
spec.traits.<trait-id>.configuration 아래의 특성 속성은 이제 spec.traits.<trait-id>에서 직접 정의됩니다.
traits:
container:
configuration:
enabled: true
name: my-integration
traits:
container:
configuration:
enabled: true
name: my-integration
↓↓↓
traits:
container:
enabled: true
name: my-integration
traits:
container:
enabled: true
name: my-integration
이 구현에서는 이전 버전과의 호환성이 가능합니다. 이전 버전과의 호환성을 위해 기존 통합 및 리소스를 새 Camel K 버전에서 읽을 수 있도록 각 특성 유형에 대해 RawMessage 유형의 Configuration 필드가 제공됩니다.
이전 통합 및 리소스를 읽을 때 각 특성(있는 경우)의 레거시 구성이 새 Trait API 필드로 마이그레이션됩니다. 새 API 필드에 값이 사전 정의된 경우 기존 API보다 우선합니다.