11.11. OpenShift의 애플리케이션에서 ConfigMap 사용


OpenShift의 경우 배포 컨트롤러(dc)를 사용하여 애플리케이션을 실행하는 데 사용되는 포드에 configmap을 마운트할 수 있습니다.

ConfigMap 은 기밀이 아닌 데이터를 키-값 쌍으로 저장하는 데 사용되는 OpenShift 리소스입니다.

microprofile-platform Galleon 계층을 지정하여 microprofile-config-windowsrye 하위 시스템 및 서버 구성 파일에 확장을 추가한 후 CLI 스크립트를 사용하여 서버 구성에 새 ConfigSource 를 추가할 수 있습니다. CLI 스크립트를 Maven 프로젝트의 루트 디렉터리에 /scripts 디렉터리와 같은 액세스 가능한 디렉터리에 저장할 수 있습니다.

MicroProfile Config 기능은 SmallRye Config 구성 요소를 사용하여 JBoss EAP에서 구현되며 microprofile-config-undercloudrye 하위 시스템에서 제공합니다. 이 하위 시스템은 microprofile-platform Galleon 계층에 포함되어 있습니다.

사전 요구 사항

  • Maven이 설치되어 있어야 합니다.
  • JBoss EAP Maven 리포지토리를 구성했습니다.
  • 애플리케이션을 부팅 가능한 JAR로 패키징했으며 JBoss EAP OpenShift 플랫폼에서 애플리케이션을 실행할 수 있습니다. OpenShift 플랫폼에서 부팅 가능한 JAR로 애플리케이션을 빌드하는 방법에 대한 자세한 내용은 JBoss EAP OpenShift 플랫폼에서 부팅 가능한 JAR 사용을 참조하십시오.

프로세스

  1. 프로젝트의 루트 디렉터리에 scripts 라는 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.

    $ mkdir scripts
  2. cli.properties 파일을 생성하고 파일을 /scripts 디렉터리에 저장합니다. 이 파일에서 config.pathconfig.ordinal 시스템 속성을 정의합니다. 예를 들면 다음과 같습니다.

    config.path=/etc/config
    config.ordinal=200
  3. mp-config.cli 와 같은 CLI 스크립트를 생성하고 /scripts 디렉터리와 같은 부팅 가능한 JAR의 액세스 가능한 디렉터리에 저장합니다. 다음 예제에서는 mp-config.cli 스크립트의 내용을 보여줍니다.

    # config map
    
    /subsystem=microprofile-config-smallrye/config-source=os-map:add(dir={path=${config.path}}, ordinal=${config.ordinal})

    mp-config.cli CLI 스크립트는 속성 파일에서 ordinal 및 path 값이 검색되는 새 ConfigSource 를 생성합니다.

  4. 스크립트를 프로젝트의 루트 디렉터리에 있는 /scripts 디렉터리에 저장합니다.
  5. 기존 플러그인 <configuration> 요소에 다음 구성 추출을 추가합니다.

    <cli-sessions>
        <cli-session>
            <properties-file>
                scripts/cli.properties
            </properties-file>
            <script-files>
                <script>scripts/mp-config.cli</script>
            </script-files>
        </cli-session>
    </cli-sessions>
  6. 애플리케이션을 패키징합니다.

    $ mvn package
  7. oc login 명령을 사용하여 OpenShift 인스턴스에 로그인합니다.
  8. 선택 사항: 이전에 target/openshift 하위 디렉터리를 생성하지 않은 경우 다음 명령을 실행하여 suddirectory를 생성해야 합니다.

    $ mkdir target/openshift
  9. 패키지 애플리케이션을 생성된 하위 디렉터리에 복사합니다.

    $ cp target/microprofile-config-bootable.jar target/openshift
  10. target/openshift 하위 디렉터리를 바이너리 입력으로 사용하여 애플리케이션을 빌드합니다.

    $ oc start-build microprofile-config-app --from-dir target/openshift
    참고

    OpenShift는 부팅 가능한 JAR 구성 파일에 CLI 스크립트 명령 세트를 적용하여 클라우드 환경에서 활성화합니다. Maven 프로젝트 /target 디렉터리에서 bootable-jar-build-artifacts/generated-cli-script.txt 파일을 열어 이 스크립트에 액세스할 수 있습니다.

  11. ConfigMap 을 생성합니다. 예를 들면 다음과 같습니다.

    $ oc create configmap microprofile-config-map --from-literal=name="Name comes from Openshift ConfigMap"
  12. dc를 사용하여 ConfigMap 을 애플리케이션에 마운트합니다. 예를 들면 다음과 같습니다.

    $ oc set volume deployments/microprofile-config-app --add --name=config-volume \
    --mount-path=/etc/config \
    --type=configmap \
    --configmap-name=microprofile-config-map

    oc set volume 명령을 실행한 후 애플리케이션이 새 구성 설정으로 다시 배포됩니다.

  13. 출력을 테스트합니다.

    $ curl http://$(oc get route microprofile-config-app --template='{{ .spec.host }}')/config/json

    다음은 예상되는 출력입니다.

    {"result":"Hello Name comes from Openshift ConfigMap"}
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동