2.44. Kubernetes


Kubernetes API에 대한 작업 수행

2.44.1. Maven 조정

code.quarkus.redhat.com에서 이 확장 기능을 사용하여 새 프로젝트를 생성합니다.

또는 기존 프로젝트에 좌표를 추가합니다.

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kubernetes</artifactId>
</dependency>

2.44.2. 추가 Camel Quarkus 구성

중요

Camel Extensions for Quarkus 릴리스에서 camel-quarkus-kubernetes 확장은 클러스터 서비스로 camel-quarkus-master 확장 기능과 함께 사용하는 경우에만 지원됩니다. 또한 지원 대상인 camel-quarkus-kubernetes 확장을 위해서는 애플리케이션의 quarkus-openshift-client 확장 기능에 대한 종속성을 명시적으로 추가해야 합니다.

2.44.2.1. Kubernetes 클라이언트 인스턴스 자동 등록

이 확장은 kubernetesClient 라는 Kubernetes 클라이언트 빈을 자동으로 등록합니다. 다음과 같이 경로에서 Velero를 참조할 수 있습니다.

from("direct:pods")
    .to("kubernetes-pods:///?kubernetesClient=#kubernetesClient&operation=listPods")

기본적으로 클라이언트는 로컬 kubeconfig 파일에서 구성됩니다. application.properties 내의 속성을 통해 클라이언트 구성을 사용자 지정할 수 있습니다.

quarkus.kubernetes-client.master-url=https://my.k8s.host
quarkus.kubernetes-client.namespace=my-namespace

전체 구성 옵션 세트는 Quarkus Kubernetes 클라이언트 가이드에 설명되어 있습니다.

2.44.2.2. 지정된 끝점에서 사용하는 클러스터에 단일 소비자만 보유

동일한 경로가 여러 Pod에 배포되면 마스터 하나와 함께 이 확장을 사용하는 것이 어려울 수 있습니다. 이러한 설정에서 단일 소비자는 전체 camel master 네임스페이스에서 한 번에 활성화됩니다.

예를 들어 아래 경로를 여러 Pod에 배포할 수 있습니다.

from("master:ns:timer:test?period=100").log("Timer invoked on a single pod at a time");

다음과 같은 속성으로 kubernetes 클러스터 서비스를 활성화할 수 있습니다.

quarkus.camel.cluster.kubernetes.enabled = true

결과적으로 단일 소비자는 ns camel master 네임스페이스에서 활성화됩니다. 즉, 주어진 시간에 단일 타이머 만 전체 클러스터에서 교환을 생성한다는 것을 의미합니다. 즉, 메시지는 한 번에 단일 Pod에 100ms마다 기록됩니다.

kubernetes 클러스터 서비스는 quarkus.camel.cluster.kubernetes.* 속성을 조정하여 추가로 조정할 수 있습니다.

Expand
구성 속성유형Default

lock quarkus.camel.cluster.kubernetes.enabled

'quarkus.camel.cluster.kubernetes.*' 구성에 따라 Kubernetes 클러스터 서비스를 자동으로 구성해야 하는지 여부입니다.

boolean

false

lock quarkus.camel.cluster.kubernetes-id

클러스터 서비스 ID(기본값: null)입니다.

string

 

lock quarkus.camel.cluster.kubernetes.master-url

Kubernetes 마스터의 URL입니다(기본적으로 Kubernetes 클라이언트 속성에서 읽기).

string

 

lock quarkus.camel.cluster.kubernetes.connection-timeout-millis

Kubernetes API 서버에 요청할 때 사용할 연결 제한 시간(밀리초)입니다.

java.lang.Integer

 

lock quarkus.camel.cluster.kubernetes.namespace

Pod 및 configmap을 포함하는 Kubernetes 네임스페이스의 이름입니다(기본적으로 자동 감지).

string

 

lock quarkus.camel.cluster.kubernetes.pod-name

현재 Pod의 이름입니다(기본적으로 컨테이너 호스트 이름에서 자동 감지).

string

 

lock quarkus.camel.cluster.kubernetes.jitter-factor

모든 Pod가 동일한 시점에 Kubernetes API를 호출하는 것을 방지하기 위해 적용할 지터 인수(기본값: 1.2로 설정)

java.lang.Double

 

lock quarkus.camel.cluster.kubernetes.lease-duration-millis

현재 리더의 임대 기간(기본값: 15000)입니다.

java.lang.Long

 

lock quarkus.camel.cluster.kubernetes.renew-deadline-millis

리더는 리더십이 손실되었을 수 있기 때문에 서비스를 중지해야 하는 기한(기본값: 10000).

java.lang.Long

 

lock quarkus.camel.cluster.kubernetes.retry-period-millis

두 번의 후속 시도 사이의 시간은 리더십을 확인하고 취득하려고 합니다. 지터 팩터(기본값: 2000)를 사용하여 무작위로 정렬됩니다.

java.lang.Long

 

lock quarkus.camel.cluster.kubernetes-order

서비스 조회 순서/우선 우선순위(기본값: 2147482647)

java.lang.Integer

 

lock quarkus.camel.cluster.kubernetes.resource-name

최적화형 잠금을 수행하는 데 사용되는 리스 리소스의 이름입니다(기본값: 'leaders'). 리소스 이름은 기본 Kubernetes 리소스에서 단일 잠금을 관리할 수 있는 경우 접두사로 사용됩니다.

string

 

lock quarkus.camel.cluster.kubernetes.lease-resource-type

Kubernetes에서 사용되는 lease 리소스 유형인 'config-map' 또는 'lease'(기본값: 'lease')입니다.

org.apache.camel.component.kubernetes.cluster.LeaseResourceType

 

lock quarkus.camel.cluster.kubernetes.rebalancing

camel 마스터 네임스페이스 리더는 클러스터의 모든 camel 컨텍스트에 균등하게 배포되어야 하는지 여부입니다.

boolean

true

lock quarkus.camel.cluster.kubernetes-labels

클러스터를 구성하는 pod를 식별하는 데 사용되는 레이블 키/값(기본값은 빈 맵)입니다.

Map<String,String>

 

lock 구성 속성은 빌드 시 수정되었습니다. 다른 모든 구성 속성은 런타임에 오버라이브할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동