2.44. Kubernetes


Kubernetes API에 대한 작업 수행

2.44.1. 내부 내용

사용 및 설정 세부 사항은 위의 링크를 참조하십시오.

2.44.2. Maven 조정

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

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

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kubernetes</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

2.44.3. 추가 Camel Quarkus 구성

테스트 콘텐츠.

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

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

from("direct:pods")
    .to("kubernetes-pods:///?kubernetesClient=#kubernetesClient&operation=listPods")
Copy to Clipboard Toggle word wrap

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

quarkus.kubernetes-client.master-url=https://my.k8s.host
quarkus.kubernetes-client.namespace=my-namespace
Copy to Clipboard Toggle word wrap

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

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

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

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

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

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

quarkus.camel.cluster.kubernetes.enabled = true
Copy to Clipboard Toggle word wrap

결과적으로 단일 소비자는 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

© 2025 Red Hat