2.4. OpenShift 4.x에서 Fuse Console 설정


OpenShift 4.x에서 Fuse 콘솔을 설정하려면 이를 설치하고 배포해야 합니다. Fuse 콘솔 설치 및 배포를 위한 다음 옵션이 있습니다.

필요한 경우 2.4.3절. “OpenShift 4.x에서 Fuse Console에 대한 역할 기반 액세스 제어” 에 설명된 대로 Fuse 콘솔에 대한 역할 기반 액세스 제어(RBAC)를 사용자 지정할 수 있습니다.

2.4.1. OperatorHub를 사용하여 OpenShift 4.x에 Fuse 콘솔 설치 및 배포

OpenShift 4.x에 Fuse Console을 설치하려면 OpenShift OperatorHub에서 제공하는 Fuse Console Operator를 사용할 수 있습니다. Fuse 콘솔을 배포하려면 설치된 Operator의 인스턴스를 만듭니다.

사전 요구 사항

절차

Fuse 콘솔을 설치하고 배포하려면 다음을 수행합니다.

  1. 웹 브라우저에서 클러스터 관리자 액세스 권한이 있는 사용자로 OpenShift 콘솔에 로그인합니다.
  2. Operators 를 클릭한 다음 OperatorHub 를 클릭합니다.
  3. 검색 필드 창에서 Fuse Console 을 입력하여 Operator 목록을 필터링합니다.
  4. Fuse Console Operator 를 클릭합니다.
  5. Fuse Console Operator 설치 창에서 설치를 클릭합니다.

    Create Operator Subscription 폼이 열립니다.

    • Update Channel7.11.x 를 선택합니다.
    • 설치 모드 의 경우 기본값(클러스터의 특정 네임스페이스)을 수락합니다.

      Operator를 설치한 후 Fuse 콘솔을 배포할 때 클러스터의 모든 네임스페이스에서 애플리케이션을 모니터링하거나 Fuse Console Operator가 설치된 네임스페이스에서만 애플리케이션을 모니터링하도록 선택할 수 있습니다.

    • 설치된 네임스페이스 의 경우 Fuse Console Operator를 설치할 네임스페이스를 선택합니다.
    • 업데이트 승인 의 경우 자동 또는 설명서 를 선택하여 OpenShift가 Fuse Console Operator에 대한 업데이트를 처리하는 방법을 구성할 수 있습니다.

      • 자동 업데이트를 선택하면 Fuse Console Operator의 새 버전이 사용 가능할 때 OpenShift Operator Lifecycle Manager (OLM)는 개입없이 Fuse Console의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
      • 수동 업데이트를 선택하면 최신 버전의 Operator가 사용 가능할 때 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Fuse Console Operator가 새 버전으로 업데이트되도록 해당 업데이트 요청을 수동으로 승인해야 합니다.
  6. 설치를 클릭합니다.

    OpenShift는 현재 네임스페이스에 Fuse Console Operator를 설치합니다.

  7. 설치를 확인하려면 Operator를 클릭한 다음 설치된 Operator 를 클릭합니다. Operator 목록에서 Fuse 콘솔을 확인할 수 있습니다.
  8. OpenShift 웹 콘솔을 사용하여 Fuse 콘솔을 배포하려면 다음을 수행합니다.

    1. 설치된 Operator 목록에서 Name 열에서 Fuse Console 을 클릭합니다.
    2. 제공된 API 아래의 Operator Details 페이지에서 Create Instance 를 클릭합니다.

      구성 기본값을 수락하거나 선택적으로 편집합니다.

      Replicas 의 경우 Fuse 콘솔 성능(예: 고가용성 환경에서)을 늘리려면 Fuse 콘솔에 할당된 Pod 수를 늘릴 수 있습니다.

      Rbac (역할 기반 액세스 제어)의 경우 기본 RBAC 동작을 사용자 지정하려면 구성 맵 필드에 값만 지정하고 ConfigMap 파일이 Fuse Console Operator를 설치한 네임스페이스에 이미 존재하는 경우에만 지정합니다. RBAC에 대한 자세한 내용은 OpenShift 4.x의 Fuse Console에 대한 역할 기반 액세스 제어를 참조하십시오.

      Nginx 의 경우 Fuse Console Operator 설치에 대한 성능 튜닝 을 참조하십시오.

    3. 생성을 클릭합니다.

      Fuse Console Operator 세부 정보 페이지가 열리고 배포 상태를 표시합니다.

  9. Fuse 콘솔을 시작하려면 다음을 수행합니다.

    1. 네임스페이스 배포: OpenShift 웹 콘솔에서 Fuse Console Operator를 설치한 프로젝트를 연 다음 개요 를 선택합니다. 프로젝트 개요 페이지에서 시작 관리자 섹션까지 아래로 스크롤하여 Fuse Console 링크를 클릭합니다.

      클러스터 배포의 경우 OpenShift 웹 콘솔 제목 표시줄에서 그리드 아이콘( mf os grid icon )을 클릭합니다. 팝업 메뉴의 Red Hat 애플리케이션에서 Fuse Console URL 링크를 클릭합니다.

    2. Fuse 콘솔에 로그인합니다.

      필요한 권한이 나열된 브라우저에서 권한 부여 페이지가 열립니다.

    3. Allow selected permissions 를 클릭합니다.

      Fuse Console은 브라우저에서 열리고 액세스할 수 있는 권한이 있는 Fuse 애플리케이션 pod를 표시합니다.

  10. 보려는 애플리케이션에 대해 연결을 클릭합니다.

    Fuse Console에 애플리케이션을 표시하는 새 브라우저 창이 열립니다.

2.4.2. 명령줄을 사용하여 OpenShift 4.x에 Fuse 콘솔 설치 및 배포

OpenShift 4.x에서는 다음 배포 옵션 중 하나를 선택하여 명령줄에서 Fuse 콘솔을 설치하고 배포할 수 있습니다.

  • 클러스터 - Fuse 콘솔은 OpenShift 클러스터의 여러 네임스페이스(프로젝트)에 배포된 Fuse 애플리케이션을 검색하고 연결할 수 있습니다. 이 템플릿을 배포하려면 OpenShift 클러스터에 대한 관리자 역할이 있어야 합니다.
  • 역할 기반 액세스 제어가 있는 클러스터 - 구성 가능한 역할 기반 액세스 제어(RBAC)가 있는 클러스터 템플릿입니다. 자세한 내용은 OpenShift 4.x의 Fuse Console에 대한 역할 기반 액세스 제어를 참조하십시오.
  • 네임스페이스 - Fuse Console은 특정 OpenShift 프로젝트(네임스페이스)에 액세스할 수 있습니다. 이 템플릿을 배포하려면 OpenShift 프로젝트에 대한 관리자 역할이 있어야 합니다.
  • 역할 기반 액세스 제어가 있는 네임스페이스 - 구성 가능한 RBAC가 있는 네임스페이스 템플릿입니다. 자세한 내용은 OpenShift 4.x의 Fuse Console에 대한 역할 기반 액세스 제어를 참조하십시오.

Fuse Console 템플릿의 매개변수 목록을 보려면 다음 OpenShift 명령을 실행합니다.

oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-os4.json
Copy to Clipboard Toggle word wrap

절차

  1. 다음 명령을 사용하여 모든 템플릿 목록을 검색하여 Fuse Console 이미지 스트림이 설치되었는지 확인합니다.

    oc get template -n openshift
    Copy to Clipboard Toggle word wrap
  2. 필요한 경우 이미 설치된 이미지 스트림을 새 릴리스 태그로 업데이트하려면 다음 명령을 사용하여 Fuse Console 이미지를 openshift 네임스페이스로 가져옵니다.

    oc import-image fuse7/fuse-console-rhel8:1.10 --from=registry.redhat.io/fuse7/fuse-console-rhel8:1.10 --confirm -n openshift
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 Fuse Console APP_NAME 값을 가져옵니다.

    oc process --parameters -f TEMPLATE-FILENAME
    Copy to Clipboard Toggle word wrap

    여기서 TEMPLATE-FILENAME 은 다음 템플릿 중 하나입니다.

    • 클러스터 템플릿:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-os4.json`
      Copy to Clipboard Toggle word wrap
    • 구성 가능한 RBAC가 있는 클러스터 템플릿:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-rbac.yml`
      Copy to Clipboard Toggle word wrap
    • 네임스페이스 템플릿:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-os4.json`
      Copy to Clipboard Toggle word wrap
    • 구성 가능한 RBAC가 있는 네임스페이스 템플릿:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-rbac.yml`
      Copy to Clipboard Toggle word wrap

      예를 들어 구성 가능한 RBAC가 있는 클러스터 템플릿의 경우 다음 명령을 실행합니다.

      oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-rbac.yml
      Copy to Clipboard Toggle word wrap
  4. OpenShift 4.x에서 Fuse Console 보안에서 생성한 인증서에서 다음 명령을 사용하여 시크릿을 생성하고 Fuse Console에 마운트합니다(여기서 APP_NAME 은 Fuse Console 애플리케이션의 이름입니다).

    oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
    Copy to Clipboard Toggle word wrap
  5. 다음 명령을 실행하여 Fuse Console 템플릿의 로컬 사본을 기반으로 새 애플리케이션을 생성합니다(여기서 myproject 는 OpenShift 프로젝트의 이름이고 mytemp 는 Fuse 콘솔 템플릿이 포함된 로컬 디렉터리의 경로이며 myhost 는 Fuse 콘솔에 액세스할 수 있는 호스트 이름입니다.

    • 클러스터 템플릿의 경우:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-os4.json  -p ROUTE_HOSTNAME=myhost
      Copy to Clipboard Toggle word wrap
    • RBAC 템플릿이 있는 클러스터의 경우:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-rbac.yml -p ROUTE_HOSTNAME=myhost
      Copy to Clipboard Toggle word wrap
    • 네임스페이스 템플릿의 경우 다음을 수행합니다.

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-os4.json
      Copy to Clipboard Toggle word wrap
    • RBAC 템플릿이 있는 네임스페이스의 경우 다음을 수행합니다.

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-rbac.yml
      Copy to Clipboard Toggle word wrap
  6. OpenShift 웹 콘솔을 열 수 있도록 Fuse 콘솔을 구성하려면 다음 명령을 실행하여 OPENSHIFT_knative_CONSOLE_URL 환경 변수를 설정합니다.

    oc set env dc/${APP_NAME} OPENSHIFT_WEB_CONSOLE_URL=`oc get -n openshift-config-managed cm console-public -o jsonpath={.data.consoleURL}`
    Copy to Clipboard Toggle word wrap
  7. 다음 명령을 실행하여 Fuse Console 배포의 상태 및 URL을 가져옵니다.

    oc status
    Copy to Clipboard Toggle word wrap
  8. 브라우저에서 Fuse 콘솔에 액세스하려면 7단계에서 반환된 URL(예: https://fuse-console.192.168.64.12.nip.io)을 사용합니다.

2.4.2.1. OpenShift 4.x에서 Fuse 콘솔을 보호하는 인증서 생성

OpenShift 4.x에서 Fuse 콘솔 프록시와 Jolokia 에이전트 간 연결을 유지하려면 Fuse 콘솔을 배포하기 전에 클라이언트 인증서를 생성해야 합니다. 서비스 서명 인증 기관 개인 키를 사용하여 클라이언트 인증서에 서명해야 합니다.

명령줄을 사용하여 Fuse 콘솔을 설치하고 배포하는 경우에만 이 절차를 따라야 합니다. Fuse Console Operator를 사용하는 경우 이 작업을 처리합니다.

중요

각 OpenShift 클러스터에 대해 별도의 클라이언트 인증서를 생성하고 서명해야 합니다. 두 개 이상의 클러스터에 동일한 인증서를 사용하지 마십시오.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 액세스 권한이 있어야 합니다.
  • 두 개 이상의 OpenShift 클러스터에 대한 인증서를 생성하고 이전에 현재 디렉터리의 다른 클러스터에 대한 인증서를 생성한 경우 다음 중 하나를 수행하여 현재 클러스터에 대해 다른 인증서를 생성하십시오.

    • 현재 디렉터리에서 기존 인증서 파일(예: ca.crt,ca.key, ca.srl)을 삭제합니다.
    • 다른 작업 디렉터리로 변경합니다. 예를 들어 현재 작업 디렉터리의 이름이 cluster1 인 경우 새 cluster2 디렉터리를 생성하고 작업 디렉터리를 이 디렉터리로 변경합니다.

      mkdir ../cluster2

      cd ../cluster2

절차

  1. 클러스터 관리자 액세스 권한이 있는 사용자로 OpenShift에 로그인합니다.

    oc login -u <user_with_cluster_admin_role>
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 서비스 서명 인증 기관 키를 검색합니다.

    • 인증서를 검색하려면 다음을 수행합니다.

      oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
      Copy to Clipboard Toggle word wrap
    • 개인 키를 검색하려면 다음을 수행합니다.

      oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
      Copy to Clipboard Toggle word wrap
  3. Kubernetes 인증서 관리에 설명된 대로 easyrsa,openssl 또는 cfssl 을 사용하여 클라이언트 인증서를 생성합니다.

    openssl을 사용하는 명령의 예는 다음과 같습니다.

    1. 개인 키를 생성합니다.

      openssl genrsa -out server.key 2048
      Copy to Clipboard Toggle word wrap
    2. CSR 구성 파일을 작성합니다.

      cat <<EOT >> csr.conf
        [ req ]
        default_bits = 2048
        prompt = no
        default_md = sha256
        distinguished_name = dn
      
        [ dn ]
        CN = fuse-console.fuse.svc
      
        [ v3_ext ]
        authorityKeyIdentifier=keyid,issuer:always
        keyUsage=keyEncipherment,dataEncipherment,digitalSignature
        extendedKeyUsage=serverAuth,clientAuth
      EOT
      Copy to Clipboard Toggle word wrap

      여기에서 CN 매개 변수의 값은 애플리케이션 이름과 애플리케이션에서 사용하는 네임스페이스를 나타냅니다.

    3. CSR을 생성합니다.

      openssl req -new -key server.key -out server.csr -config csr.conf
      Copy to Clipboard Toggle word wrap
    4. 서명된 인증서를 발행합니다.

      openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
      Copy to Clipboard Toggle word wrap

2.4.3. OpenShift 4.x에서 Fuse Console에 대한 역할 기반 액세스 제어

Fuse 콘솔은 OpenShift에서 제공하는 사용자 권한에 따라 액세스를 유추하는 RBAC(역할 기반 액세스 제어)를 제공합니다. Fuse 콘솔에서 RBAC는 Pod에서 사용자가 작업을 수행할 수 있는 기능을 결정합니다.

OpenShift 권한 부여에 대한 자세한 내용은 Using RBAC to define and apply permissions section of the OpenShift documentation에서 참조하십시오.

Operator를 사용하여 OpenShift에 Fuse Console을 설치할 때 역할 기반 액세스는 기본적으로 활성화됩니다.

템플릿으로 설치하여 Fuse Console에 대한 역할 기반 액세스를 구현하려면 명령줄을 사용하여 Fuse Console 설치 및 배포에 설명된 대로 RBAC(fuse-console-cluster-rbac.yml 또는 fuse-console-namespace-rbac.yml)로 구성할 수 있는 템플릿 중 하나를 사용해야 합니다.

Fuse 콘솔 RBAC는 OpenShift의 포드 리소스에 대한 사용자의 동사 액세스를 활용하여 Fuse 콘솔에서 Pod의 pod 작업에 대한 사용자의 액세스 권한을 결정합니다. 기본적으로 Fuse 콘솔에는 다음 두 가지 사용자 역할이 있습니다.

  • admin

    사용자가 OpenShift에서 포드를 업데이트할 수 있는 경우 사용자는 Fuse Console에 대한 admin 역할을 구성합니다. 사용자는 Pod에 대한 Fuse 콘솔에서 쓰기 tasks 작업을 수행할 수 있습니다.

  • 뷰어

    사용자가 OpenShift에서 포드를 가져올 수 있는 경우 사용자는 Fuse Console에 대한 뷰어 역할을 유추합니다. 사용자는 Pod에 대한 Fuse 콘솔에서 읽기 전용 ScanSetting 작업을 수행할 수 있습니다.

참고

RBAC가 아닌 템플릿을 사용하여 Fuse Console을 설치하는 경우 pod 리소스에 update 동사가 부여된 OpenShift 사용자만 Fuse Console>-<s 작업을 수행할 수 있는 권한이 부여됩니다. Pod 리소스에 get 동사가 부여된 사용자는 Pod를 수 있지만 Fuse Console 작업은 수행할 수 없습니다.

2.4.3.1. OpenShift 4.x에서 Fuse Console의 액세스 역할 확인

Fuse Console 역할 기반 액세스 제어는 pod에 대한 사용자의 OpenShift 권한에서 유추됩니다. 특정 사용자에게 부여된 Fuse Console 액세스 역할을 확인하려면 포드에 대해 사용자에게 부여된 OpenShift 권한을 받으십시오.

사전 요구 사항

  • 사용자 이름을 알고 있습니다.
  • Pod의 이름을 알고 있습니다.

절차

  • 사용자에게 포드에 대한 Fuse Console admin 역할이 있는지 확인하려면 다음 명령을 실행하여 사용자가 OpenShift에서 포드를 업데이트할 수 있는지 확인합니다.

    oc auth can-i update pods/<pod> --as <user>
    Copy to Clipboard Toggle word wrap

    응답이 yes 인 경우 사용자에게 포드에 대한 Fuse Console admin 역할이 있습니다. 사용자는 Pod에 대한 Fuse 콘솔에서 쓰기 tasks 작업을 수행할 수 있습니다.

  • 사용자에게 포드에 대한 Fuse Console viewer 역할이 있는지 확인하려면 다음 명령을 실행하여 사용자가 OpenShift에서 Pod를 가져올 수 있는지 확인합니다.

    oc auth can-i get pods/<pod> --as <user>
    Copy to Clipboard Toggle word wrap

    응답이 yes 인 경우 사용자에게 포드에 대한 Fuse Console viewer 역할이 있습니다. 사용자는 Pod에 대한 Fuse 콘솔에서 읽기 전용 ScanSetting 작업을 수행할 수 있습니다. 컨텍스트에 따라 Fuse Console은 옵션을 비활성화하거나 사용자가 쓰기 를 시도할 때 "이 사용자에 대해 허용되지 않음" 메시지를 표시하여 뷰어 역할의 사용자가 쓰기 10.0.0.1 작업을 수행하지 못하도록 합니다.

    응답이 없는 경우 사용자가 Fuse Console 역할에 바인딩되지 않으며 사용자는 Fuse Console에서 포드를 볼 수 없습니다.

2.4.3.2. OpenShift 4.x에서 Fuse 콘솔에 대한 역할 기반 액세스 사용자 정의

OperatorHub를 사용하여 Fuse 콘솔을 설치하는 경우 OpenShift 4.x의 Fuse Console에 대한 역할 기반 액세스 제어에 설명된 대로 기본적으로 역할 기반 액세스 제어 (RBAC)가 활성화됩니다. Fuse Console을 배포하기 전에 Fuse Console RBAC 동작을 사용자 지정하려면 ConfigMap 파일을 제공해야 합니다(사용자 지정 RBAC 동작을 정의함). Fuse Console Operator를 설치한 동일한 네임스페이스에 사용자 정의 ConfigMap 파일을 배치해야 합니다.

명령줄 템플릿을 사용하여 Fuse 콘솔을 설치하는 경우 deployment-cluster-rbac.ymldeployment-namespace-rbac.yml 템플릿은 구성 파일(ACL.yml)이 포함된 ConfigMap을 생성합니다. 구성 파일은 CloudEvent 작업에 허용되는 역할을 정의합니다.

사전 요구 사항

  • OperatorHub를 사용하거나 Fuse 콘솔 RBAC 템플릿(deployment-cluster-rbac.yml 또는 deployment-namespace-rbac.yml) 중 하나를 사용하여 Fuse 콘솔을 설치했습니다.

절차

Fuse 콘솔 RBAC 역할을 사용자 지정하려면 다음을 수행합니다.

  1. 명령줄을 사용하여 Fuse 콘솔을 설치한 경우 설치 템플릿에 기본 ConfigMap 파일이 포함되어 있으므로 다음 단계로 건너뛸 수 있습니다.

    OperatorHub를 사용하여 Fuse 콘솔을 설치한 경우 Fuse 콘솔을 배포하기 전에 RBAC ConfigMap을 생성합니다.

    1. 현재 OpenShift 프로젝트가 Fuse Console을 설치할 프로젝트인지 확인합니다. 예를 들어 fusetest 프로젝트에 Fuse 콘솔을 설치하려면 다음 명령을 실행합니다.

      oc project fusetest
      Copy to Clipboard Toggle word wrap
    2. 템플릿에서 Fuse 콘솔 RBAC ConfigMap 파일을 생성하려면 다음 명령을 실행합니다.

      oc process -f https://raw.githubusercontent.com/jboss-fuse/application-templates/2.1.x.sb2.redhat-7-8-x/fuse-console-operator-rbac.yml -p APP_NAME=fuse-console | oc create -f -
      Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 편집기에서 ConfigMap을 엽니다.

    oc edit cm $APP_NAME-rbac
    Copy to Clipboard Toggle word wrap

    예를 들면 다음과 같습니다.

    oc edit cm fuse-console-rbac
    Copy to Clipboard Toggle word wrap
  3. 파일을 편집합니다.
  4. 파일을 저장하여 변경 사항을 적용합니다. OpenShift는 Fuse 콘솔 포드를 자동으로 다시 시작합니다.

명령줄을 사용하여 Fuse Console을 설치하고 Fuse Console RBAC 템플릿 중 하나를 지정한 경우 Fuse 콘솔의 HAWTIO_ONLINE_RBAC_ACL 환경 변수가 OpenShift 서버에 역할 기반 액세스 제어(RBAC) ConfigMap 구성 경로를 전달합니다. HAWTIO_ONLINE_RBAC_ACL 환경 변수를 지정하지 않으면 RBAC 지원이 비활성화되어 있으며 pod 리소스(OpenShift)에서 업데이트 동사가 부여된 사용자만 Fuse 콘솔의 Pod에서 ScanSettings 작업을 호출할 수 있습니다.

OperatorHub를 사용하여 Fuse 콘솔을 설치하는 경우 기본적으로 역할 기반 액세스가 활성화되며 HAWTIO_ONLINE_RBAC_ACL 환경 변수는 적용되지 않습니다.

사전 요구 사항

명령줄을 사용하여 Fuse 콘솔을 설치하고 Fuse 콘솔 RBAC 템플릿(deployment-cluster-rbac.yml 또는 deployment-namespace-rbac.yml) 중 하나를 지정한 것입니다.

절차

Fuse 콘솔의 역할 기반 액세스를 비활성화하려면 다음을 수행합니다.

  1. OpenShift에서 Fuse 콘솔의 Deployment Config 리소스를 편집합니다.
  2. 전체 HAWTIO_ONLINE_RBAC_ACL 환경 변수 정의를 삭제합니다.

    (해당 값을 지우는 것만으로는 충분하지 않습니다.)

  3. 파일을 저장하여 변경 사항을 적용합니다. OpenShift는 Fuse 콘솔 포드를 자동으로 다시 시작합니다.

2.4.4. OpenShift 4.x에서 Fuse 콘솔 업그레이드

Red Hat OpenShift 4.x는 Red Hat Fuse Operator를 포함한 운영자 업데이트를 처리합니다. 자세한 내용은 Operator OpenShift 설명서 를 참조하십시오.

결과적으로 Operator 업데이트는 애플리케이션 구성 방법에 따라 애플리케이션 업그레이드를 트리거할 수 있습니다.

Fuse Console 애플리케이션의 경우 애플리케이션 사용자 정의 리소스 정의의 .spec.version 필드를 편집하여 애플리케이션으로 업그레이드를 트리거할 수도 있습니다.

사전 요구 사항

  • OpenShift 클러스터 관리자 권한이 있어야 합니다.

절차

Fuse Console 애플리케이션을 업그레이드하려면 다음을 수행합니다.

  1. 터미널 창에서 다음 명령을 사용하여 애플리케이션 사용자 정의 리소스 정의의 .spec.version 필드를 변경합니다.

    oc patch -n <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
    Copy to Clipboard Toggle word wrap

    예를 들면 다음과 같습니다.

    oc patch -n myproject hawtio/example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
    Copy to Clipboard Toggle word wrap
  2. 애플리케이션 상태가 업데이트되었는지 확인합니다.

     oc get -n myproject hawtio/example-fuseconsole
    Copy to Clipboard Toggle word wrap

    응답은 버전 번호를 포함하여 애플리케이션에 대한 정보를 표시합니다.

    NAME                  AGE   URL                                        IMAGE
    example-fuseconsole   1m    https://fuseconsole.192.168.64.38.nip.io   docker.io/fuseconsole/online:1.7.1
    Copy to Clipboard Toggle word wrap

    .spec.version 필드의 값을 변경하면 OpenShift에서 애플리케이션을 자동으로 재배포합니다.

  3. 버전 변경에 의해 트리거되는 재배포 상태를 확인하려면 다음을 수행합니다.

    oc rollout status deployment.v1.apps/example-fuseconsole
    Copy to Clipboard Toggle word wrap

    배포에 성공하면 이 응답을 보여줍니다.

    deployment "example-fuseconsole" successfully rolled out
    Copy to Clipboard Toggle word wrap

2.4.5. OpenShift 4.x 서버에서 Fuse 이미지 스트림 및 템플릿 업그레이드

OpenShift Container Platform 4.x는 OpenShift 네임스페이스에서 작동하는 Samples Operator를 사용하여 RHEL(Red Hat Enterprise Linux) 기반 OpenShift Container Platform 이미지 스트림 및 템플릿을 업그레이드 및 업데이트합니다.

OpenShift 이미지 스트림 및 템플릿에서 Fuse를 업그레이드하려면 다음을 수행합니다.

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

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

사전 요구 사항

  • OpenShift Server에 액세스할 수 있습니다.
  • registry.redhat.io 에 대한 인증이 구성되어 있습니다.

절차

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

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

    oc project openshift
    Copy to Clipboard Toggle word wrap
  4. Samples Operator의 현재 구성을 봅니다.

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

    oc edit configs.samples.operator.openshift.io -n openshift-cluster-samples-operator
    Copy to Clipboard Toggle word wrap
  6. Fuse imagestreams 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-fuse711-eap-camel-amq
      - s2i-fuse711-eap-camel-cdi
      - s2i-fuse711-eap-camel-cxf-jaxrs
      - s2i-fuse711-eap-camel-cxf-jaxws
      - s2i-fuse711-karaf-camel-amq
      - s2i-fuse711-karaf-camel-log
      - s2i-fuse711-karaf-camel-rest-sql
      - s2i-fuse711-karaf-cxf-rest
      - s2i-fuse711-spring-boot-2-camel-amq
      - s2i-fuse711-spring-boot-2-camel-config
      - s2i-fuse711-spring-boot-2-camel-drools
      - s2i-fuse711-spring-boot-2-camel-infinispan
      - s2i-fuse711-spring-boot-2-camel-rest-3scale
      - s2i-fuse711-spring-boot-2-camel-rest-sql
      - s2i-fuse711-spring-boot-2-camel
      - s2i-fuse711-spring-boot-2-camel-xa
      - s2i-fuse711-spring-boot-2-camel-xml
      - s2i-fuse711-spring-boot-2-cxf-jaxrs
      - s2i-fuse711-spring-boot-2-cxf-jaxws
      - s2i-fuse711-spring-boot-2-cxf-jaxrs-xml
      - s2i-fuse711-spring-boot-2-cxf-jaxws-xml
    Copy to Clipboard Toggle word wrap
  7. OpenShift 이미지 스트림에서 Fuse 업그레이드.

    BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002
    
    oc replace -n openshift -f ${BASEURL}/fis-image-streams.json
    Copy to Clipboard Toggle word wrap
  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 replace -n openshift \
     ${BASEURL}/quickstarts/${template}
     done
    Copy to Clipboard Toggle word wrap
  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 replace -n openshift \
     ${BASEURL}/quickstarts/${template}
     done
    Copy to Clipboard Toggle word wrap
  10. (선택 사항) OpenShift 템플릿에서 업그레이드된 Fuse를 확인합니다.

    oc get template -n openshift
    Copy to Clipboard Toggle word wrap

2.4.6. OpenShift 4.x에서 Fuse 콘솔의 성능 튜닝

기본적으로 Fuse 콘솔은 다음 Nginx 설정을 사용합니다.

  • clientBodyBufferSize: 256k
  • proxyBuffers: 16 128k
  • subrequestOutputBufferSize: 10m

참고: 이러한 설정에 대한 자세한 내용은 Nginx 설명서를 참조하십시오. http://nginx.org/en/docs/dirindex.html

Fuse Console의 성능을 튜닝하려면 clientBodyBufferSize,proxyBuffers, subrequestOutputBufferSize 환경 변수를 모두 설정할 수 있습니다. 예를 들어 Fuse 콘솔을 사용하여 수많은 Pod 및 경로(예: 총 100개 경로)를 모니터링하는 경우 Fuse Console의 subrequestOutputBufferSize 환경 변수를 60m 에서 100m 사이로 설정하여 로드 시간 초과 문제를 해결할 수 있습니다.

이러한 환경 변수를 설정하는 방법은 Openshift 4.x에 Fuse Console을 설치한 방법에 따라 다릅니다.

  • Fuse Console Operator 사용
  • Fuse Console 템플릿 사용

2.4.6.1. Fuse Console Operator 설치에 대한 성능 튜닝

Openshift 4.x에서는 Fuse Console을 배포하기 전이나 후에 Nginx 성능 튜닝 환경 변수를 설정할 수 있습니다. 나중에 이 작업을 수행하면 OpenShift에서 Fuse 콘솔을 재배포합니다.

사전 요구 사항

절차

Fuse Console을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.

  • Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.

    1. OpenShift 웹 콘솔에서 Fuse Console Operator가 설치된프로젝트에서 Operator > 설치된 Operator > Red Hat Integration - Fuse Console 을 선택합니다.
    2. Hawtio 탭을 클릭한 다음 Hawtio 만들기 를 클릭합니다.
    3. Hawtio 생성 페이지의 양식 보기에서 구성 > Nginx 섹션까지 아래로 스크롤합니다.
    4. Nginx 섹션을 확장한 다음 환경 변수를 설정합니다. 예를 들면 다음과 같습니다.

      • clientBodyBufferSize: 256k
      • proxyBuffers: 16 128k
      • subrequestOutputBufferSize: 100m
    5. 설정을 저장합니다.
    6. 생성을 클릭하여 Fuse 콘솔을 배포합니다.
    7. 배포가 완료되면 Deployments> fuse-console 페이지를 열고 Environment 를 클릭하여 환경 변수가 목록에 있는지 확인합니다.
  • Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.

    1. OpenShift 웹 콘솔에서 Fuse Console이 배포된 프로젝트를 엽니다.
    2. Operator> 설치된 Operator> Red Hat Integration - Fuse Console 을 선택합니다.
    3. Hawtio 탭을 클릭한 다음 fuse-console 을 클릭합니다.
    4. 작업> Hawtio 편집 을 선택합니다.
    5. 편집기 창에서 spec 섹션까지 아래로 스크롤합니다.
    6. spec 섹션에서 새 nginx 섹션을 추가하고 하나 이상의 환경 변수를 지정합니다. 예를 들면 다음과 같습니다.

      apiVersion: hawt.io/v1alpha1
      kind: Hawtio
      metadata:
        name: fuse-console
      spec:
        type: Namespace
        nginx:
          clientBodyBufferSize: 256k
          proxyBuffers: 16 128k
          subrequestOutputBufferSize: 100m
      .
      .
      .
      Copy to Clipboard Toggle word wrap
    7. 저장을 클릭합니다.

      OpenShift는 Fuse 콘솔을 재배포합니다.

    8. 재배포가 완료되면 Workloads> Deployments> fuse-console 페이지를 열고 Environment 를 클릭하여 목록에서 환경 변수를 확인합니다.

2.4.6.2. Fuse Console 템플릿 설치에 대한 성능 튜닝

Openshift 4.x에서는 Fuse Console을 배포하기 전이나 후에 Nginx 성능 튜닝 환경 변수를 설정할 수 있습니다. 나중에 이 작업을 수행하면 OpenShift에서 Fuse 콘솔을 재배포합니다.

사전 요구 사항

절차

Fuse Console을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.

  • Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.

    1. 사용할 Fuse 콘솔 템플릿을 결정합니다.

      • 클러스터 템플릿 (fuse-console-cluster-os4.json)
      • 구성 가능한 RBAC가 있는 클러스터 템플릿 (fuse-console-cluster-rbac.yml)
      • 네임스페이스 템플릿(fuse-console-namespace-os4.json)
      • 구성 가능한 RBAC가 있는 네임스페이스 템플릿 (fuse-console-namespace-rbac.yml)
    2. 다음 예에 표시된 대로 Fuse Console 템플릿의 로컬 사본을 편집하여 NGINX_CLIENT_BODY_BUFFER_SIZE,NGINX_PROXY_BUFFERS, 및/또는 NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE 환경 변수를 포함합니다.

      apiVersion: apps.openshift.io/v1
      kind: DeploymentConfig
      metadata:
        name: fuse-console
      spec:
        template:
          spec:
            containers:
            - env:
              - name: NGINX_CLIENT_BODY_BUFFER_SIZE
                value: 256k
              - name: NGINX_PROXY_BUFFERS
                value: 16 128k
              - name: NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE
                value: 100m
      Copy to Clipboard Toggle word wrap
    3. 변경 사항을 저장하십시오.
    4. OpenShift 4.x에서 Fuse Console 설정에 설명된 대로 Fuse Console을 설치하고 배포하는 단계를 따르십시오.
  • Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.

    1. 터미널 창에서 OpenShift 클러스터에 로그인합니다.
    2. Fuse Console이 배포된 프로젝트를 엽니다. 예를 들어 Fuse Console이 myfuse 프로젝트에 배포된 경우 다음 명령을 사용합니다.

      oc project myfuse

    3. Fuse Console 배포의 이름을 가져옵니다.

      oc get deployments

      이 명령은 현재 프로젝트에서 실행 중인 배포 목록을 반환합니다. 예를 들면 다음과 같습니다.

      NAME                        READY   UP-TO-DATE   AVAILABLE    AGE
      fuse-console                1/1     1               1           114m
      Copy to Clipboard Toggle word wrap
    4. 다음 명령 중 하나 이상을 실행하여 Fuse Console 배포에 대한 환경 변수를 설정합니다.

      oc set env dc/fuse-console NGINX_CLIENT_BODY_BUFFER_SIZE="256k"
      
      oc set env dc/fuse-console NGINX_PROXY_BUFFERS="16 128k"
      
      oc set env dc/fuse-console NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE="10m"
      Copy to Clipboard Toggle word wrap

      OpenShift는 Fuse 콘솔을 재배포합니다.

    5. 재배포가 완료되면 환경 변수 설정을 확인합니다.

      1. Fuse Console Pod 이름을 가져옵니다.

        oc get pods
        Copy to Clipboard Toggle word wrap
      2. 다음 명령을 실행하여 환경 설정을 확인합니다.

        oc exec <fuse-console-podname> -- cat /opt/app-root/etc/nginx.d/nginx-gateway.conf | grep "Performance tuning" -A 3
        Copy to Clipboard Toggle word wrap

        예를 들어 Pod 이름이 fuse-console-6646cbbd4c-9rplg 인 경우 다음 명령을 실행합니다.

        oc exec fuse-console-6646cbbd4c-9rplg -- cat /opt/app-root/etc/nginx.d/nginx-gateway.conf | grep "Performance tuning" -A 3
        Copy to Clipboard Toggle word wrap

2.4.6.3. Fuse Console에서 애플리케이션을 볼 수 있는 성능 튜닝

Fuse 콘솔의 성능 튜닝 기능을 통해 많은 수의 applications를 통해 애플리케이션을 볼 수 있습니다. 이 기능을 사용하려면 다음 단계를 수행하십시오.

사전 요구 사항

절차

  1. 애플리케이션의 메모리 제한을 늘립니다.

    예를 들어 256Mi에서 512Mi로 메모리 제한을 늘려야 하므로 애플리케이션이 Fuse 콘솔에 도달하기 전에 OOM 오류와 충돌하지 않습니다. Fuse 빠른 시작의 경우 애플리케이션의 skopeo /main/jkube/deployment.yml 파일을 편집합니다.

    spec:
      template:
        spec:
          containers:
            -
              resources:
                [...]
                limits:
                  cpu: "1.0"
                  memory: 512Mi
    Copy to Clipboard Toggle word wrap
  2. Fuse Console Deployment 또는 DeploymentConfig 에 메모리 제한이 충분한지 확인합니다. 충분하지 않은 경우 제한을 200Mi에서 512Mi로 늘립니다.
  3. nginx 로그에 "too large subrequest response while sending to client" 오류가 표시되면 2.4.6.1절. “Fuse Console Operator 설치에 대한 성능 튜닝” 섹션에 언급된 솔루션을 적용합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동