2.2. OpenShift 4.x 서버에 Fuse 이미지 스트림 및 템플릿 설치

참고

Fuse 7.110에서는 IBM Power Systems, IBM Z 및 LinuxONE에 Fuse를 OpenShift 이미지 스트림 및 템플릿에 설치하는 것은 지원되지 않습니다. OpenShift Operator에서 Fuse를 사용하여 설치할 수 있는 구성 요소만 IBM Power Systems, IBM Z 및 LinuxONE에서 지원됩니다.

OpenShift Container Platform 4.x는 OpenShift 네임스페이스에서 작동하는 Samples Operator를 사용하여 RHEL(Red Hat Enterprise Linux) 기반 OpenShift Container Platform 이미지 스트림 및 템플릿을 설치하고 업데이트합니다. OpenShift 이미지 스트림 및 템플릿에 Fuse를 설치하려면 다음을 수행합니다.

  • Samples Operator 재구성
  • Fuse 이미지 스트림과 템플릿을 Skipped Imagestreams 및 Skipped Templates 필드에 추가합니다.

    • 건너뛴 이미지 스트림: Samples Operator 인벤토리에 있지만 클러스터 관리자가 Operator에서 무시하거나 관리하지 않도록 하려는 이미지 스트림입니다.
    • 건너뛰기된 템플릿: Samples Operator 인벤토리에 있지만 클러스터 관리자가 Operator에서 무시하거나 관리하지 않도록 하려는 템플릿입니다.

사전 요구 사항

  • OpenShift Server에 액세스할 수 있습니다.
  • registry.redhat.io 에 대한 인증을 구성했습니다.
  • 선택적으로 설치한 후 OpenShift 대시보드에 Fuse 템플릿을 표시하려면 먼저 OpenShift 문서( https://docs.openshift.com/container-platform/4.1/applications/service_brokers/installing-service-catalog.html)에 설명된 대로 서비스 카탈로그 및 템플릿 서비스 브로커를 설치해야 합니다.https://docs.openshift.com/container-platform/4.1/applications/service_brokers/installing-service-catalog.html

절차

  1. OpenShift 4 Server를 시작합니다.
  2. 관리자로 OpenShift 서버에 로그인합니다.

    oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
  3. docker-registry 시크릿을 생성한 프로젝트를 사용하고 있는지 확인합니다.

    oc project openshift
  4. Samples Operator의 현재 구성을 확인합니다.

    oc get configs.samples.operator.openshift.io -n openshift-cluster-samples-operator -o yaml
  5. 추가된 fuse 템플릿 및 이미지 스트림을 무시하도록 Samples Operator를 구성합니다.

    oc edit configs.samples.operator.openshift.io -n openshift-cluster-samples-operator
  6. Fuse 이미지 스트림 Skipped Imagestreams 섹션을 추가하고 Fuse 및 Spring Boot 2 템플릿을 Skipped Templates 섹션에 추가합니다.

    [...]
    spec:
      architectures:
      - x86_64
      managementState: Managed
      skippedImagestreams:
      - fuse-console-rhel8
      - fuse-eap-openshift-jdk8-rhel7
      - fuse-eap-openshift-jdk11-rhel8
      - fuse-java-openshift-rhel8
      - fuse-java-openshift-jdk11-rhel8
      - fuse-karaf-openshift-rhel8
      - fuse-karaf-openshift-jdk11-rhel8
      - fuse-apicurito-generator-rhel8
      - fuse-apicurito-rhel8
      skippedTemplates:
      - s2i-fuse710-eap-camel-amq
      - s2i-fuse710-eap-camel-cdi
      - s2i-fuse710-eap-camel-cxf-jaxrs
      - s2i-fuse710-eap-camel-cxf-jaxws
      - s2i-fuse710-karaf-camel-amq
      - s2i-fuse710-karaf-camel-log
      - s2i-fuse710-karaf-camel-rest-sql
      - s2i-fuse710-karaf-cxf-rest
      - s2i-fuse710-spring-boot-2-camel-amq
      - s2i-fuse710-spring-boot-2-camel-config
      - s2i-fuse710-spring-boot-2-camel-drools
      - s2i-fuse710-spring-boot-2-camel-infinispan
      - s2i-fuse710-spring-boot-2-camel-rest-3scale
      - s2i-fuse710-spring-boot-2-camel-rest-sql
      - s2i-fuse710-spring-boot-2-camel
      - s2i-fuse710-spring-boot-2-camel-xa
      - s2i-fuse710-spring-boot-2-camel-xml
      - s2i-fuse710-spring-boot-2-cxf-jaxrs
      - s2i-fuse710-spring-boot-2-cxf-jaxws
      - s2i-fuse710-spring-boot-2-cxf-jaxrs-xml
      - s2i-fuse710-spring-boot-2-cxf-jaxws-xml
  7. OpenShift 이미지 스트림에 Fuse를 설치합니다.

    1. BASEURL 변수를 이미지 스트림 위치로 설정합니다.

      Fuse 7.10.1

      BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_1-00010-redhat-00001

      Fuse 7.10.0

      BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001
    2. 이미지 스트림을 설치하는 명령을 실행합니다.

      oc create -n openshift -f ${BASEURL}/fis-image-streams.json
      참고

      "Error from server (AlreadyExists): imagestreams.image.openshift.io <imagestreamname>이 이미 존재하는 경우 다음 명령을 사용하여 기존 이미지 스트림을 최신 상태로 교체합니다.

      oc replace --force -n openshift -f ${BASEURL}/fis-image-streams.json
  8. OpenShift 빠른 시작 템플릿에 Fuse를 설치합니다.

    for template in eap-camel-amq-template.json \
     eap-camel-cdi-template.json \
     eap-camel-cxf-jaxrs-template.json \
     eap-camel-cxf-jaxws-template.json \
     karaf-camel-amq-template.json \
     karaf-camel-log-template.json \
     karaf-camel-rest-sql-template.json \
     karaf-cxf-rest-template.json ;
     do
     oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/quickstarts/${template}
     done
  9. Spring Boot 2 빠른 시작 템플릿을 설치합니다.

    for template in spring-boot-2-camel-amq-template.json \
     spring-boot-2-camel-config-template.json \
     spring-boot-2-camel-drools-template.json \
     spring-boot-2-camel-infinispan-template.json \
     spring-boot-2-camel-rest-3scale-template.json \
     spring-boot-2-camel-rest-sql-template.json \
     spring-boot-2-camel-template.json \
     spring-boot-2-camel-xa-template.json \
     spring-boot-2-camel-xml-template.json \
     spring-boot-2-cxf-jaxrs-template.json \
     spring-boot-2-cxf-jaxws-template.json \
     spring-boot-2-cxf-jaxrs-xml-template.json \
     spring-boot-2-cxf-jaxws-xml-template.json ;
     do oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/quickstarts/${template}
     done
  10. (선택 사항) OpenShift 템플릿에 설치된 Fuse를 확인합니다.

    oc get template -n openshift