12.5. Fabric8 Karaf Config 관리자 지원 추가


12.5.1. Fabric8 Karaf Config 관리자 지원 추가

Fabric8 Karaf Config admin 지원을 사용자 정의 Karaf 배포판에 추가할 수 있습니다.

절차

  • 프로젝트의 pom.xml 을 열고 fabric8-karaf-cmstartupFures 섹션에 추가합니다.

    pom.xml

    <startupFeatures>
      ...
      <feature>fabric8-karaf-cm</feature>
      ...
    </startupFeatures>
    Copy to Clipboard Toggle word wrap

12.5.2. ConfigMap 삽입 추가

fabric8-karaf-cm 는 Karaf의 ConfigAdminConfigMap 값을 삽입하는 ConfigAdmin 브리지를 제공합니다.

절차

  1. ConfigAdmin 브리지에서 추가하려면 ConfigMap에 karaf.pid 로 레이블이 지정되어야 합니다. karaf.pid 값은 구성 요소의 pid에 해당합니다. 예를 들면 다음과 같습니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: myconfig
      labels:
        karaf.pid: com.mycompany.bundle
    data:
      example.property.1: my property one
      example.property.2: my property two
    Copy to Clipboard Toggle word wrap
  2. 구성을 정의하려면 단일 속성 이름을 사용하면 됩니다. 개별 속성은 대부분의 경우에 작동합니다. karaf/etc 의 pid 파일과 동일합니다. 예를 들면 다음과 같습니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: myconfig
      labels:
        karaf.pid: com.mycompany.bundle
    data:
      com.mycompany.bundle.cfg: |
        example.property.1: my property one
        example.property.2: my property two
    Copy to Clipboard Toggle word wrap

12.5.3. 구성 플러그인

fabric8-karaf-cm 는 구성 속성 자리 표시자를 확인하는 ConfigurationPlugin 을 제공합니다.

fabric8-karaf-cm 플러그인으로 속성 대체를 활성화하려면 Java 속성인 fabric8.config.plugin.enabledtrue 로 설정해야 합니다. 예를 들어 다음과 같이 Karaf 이미지의 JAVA_OPTIONS 환경 변수를 사용하여 이 속성을 설정할 수 있습니다.

JAVA_OPTIONS=-Dfabric8.config.plugin.enabled=true
Copy to Clipboard Toggle word wrap

12.5.4. 구성 속성 platformholders

구성 속성 자리 표시자의 예는 다음과 같습니다.

my.service.cfg

    amq.usr = $[k8s:secret:$[env:ACTIVEMQ_SERVICE_NAME]/username]
    amq.pwd = $[k8s:secret:$[env:ACTIVEMQ_SERVICE_NAME]/password]
    amq.url = tcp://$[env+service:ACTIVEMQ_SERVICE_NAME]
Copy to Clipboard Toggle word wrap

my-service.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
               xsi:schemaLocation="
                 http://www.osgi.org/xmlns/blueprint/v1.0.0
                 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
                 http://camel.apache.org/schema/blueprint
                 http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">

      <cm:property-placeholder persistent-id="my.service" id="my.service" update-strategy="reload"/>

      <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
         <property name="userName"  value="${amq.usr}"/>
         <property name="password"  value="${amq.pwd}"/>
         <property name="brokerURL" value="${amq.url}"/>
      </bean>
    </blueprint>
Copy to Clipboard Toggle word wrap

12.5.5. Fabric8 Karaf Config Admin 옵션

Fabric8 Karaf Config Admin은 다음 옵션을 지원합니다.

Expand
이름기본설명

fabric8.config.plugin.enabled

false

Enable ConfigurationPlugin

fabric8.cm.bridge.enabled

true

ConfigAdmin 브리지 활성화

fabric8.config.watch

true

ConfigMap 변경 조사 활성화

fabric8.config.merge

false

ConfigAdmin에서 병합 ConfigMap 값 활성화

fabric8.config.meta

true

ConfigAdmin 브릿지에서 ConfigMap 메타 삽입 활성화

fabric8.pid.label

karaf.pid

ConfigAdmin 브리지가 찾는 레이블을 정의합니다(즉, 선택해야 하는 ConfigMap에는 해당 레이블이 있어야 합니다. 해당 PID가 연결된 값을 결정).

fabric8.pid.filters

empty

ConfigAdmin 브릿지에 대한 추가 조건을 정의하여 ConfigMap을 선택합니다. 지원되는 구문은 다음과 같습니다.

  • 서로 다른 레이블의 조건은 ""로 구분되며 서로 AND로 사용됩니다.
  • 레이블 내에서colums(;)는 OR로 간주되며 레이블 값의 조건에 대한 구분자로 사용될 수 있습니다.

예를 들어 -Dfabric8.pid.filters=appName=A;B,database.name=my.oracle.datasource 와 같은 필터는 값이 A 또는 B인 appName 레이블이 있는 모든 ConfigMaps로 변환됩니다.

중요

ConfigurationPlugin 에는 Aries Blueprint CM 1.0.9 이상이 필요합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat