1.2. OpenShift 4.x에서 Fuse 콘솔 설정
OpenShift 4.x에서 Fuse 콘솔을 설정하려면 보안, 설치 및 배포가 필요합니다.
먼저 1.2.1절. “OpenShift 4.x에서 Fuse Console을 보호하기 위한 인증서 생성” 에 설명된 대로 Fuse 콘솔을 보호할 수 있도록 클라이언트 인증서를 생성해야 합니다.
클라이언트 인증서를 생성한 후 Fuse Console을 설치하고 배포하기 위한 다음과 같은 옵션이 있습니다.
1.2.2절. “OperatorHub를 사용하여 OpenShift 4.x에 Fuse Console 설치 및 배포”
Fuse Console Operator를 사용하여 특정 네임스페이스의 Fuse 애플리케이션에 액세스할 수 있도록 Fuse Console을 설치하고 배포할 수 있습니다.
1.2.3절. “명령줄을 사용하여 OpenShift 4.x에 Fuse Console 설치 및 배포”
명령줄과 Fuse Console 템플릿 중 하나를 사용하여 Fuse Console을 설치하고 배포하여 OpenShift 클러스터 또는 특정 네임스페이스에 있는 여러 네임스페이스의 Fuse 애플리케이션에 액세스할 수 있습니다.
- Fuse Console의 사용자 관리는 OpenShift에서 처리합니다.
- 배포 후 Fuse Console에 액세스하는 사용자의 경우 OpenShift에서 Fuse를 사용할 수 없습니다.
1.2.1. OpenShift 4.x에서 Fuse Console을 보호하기 위한 인증서 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 4.x에서는 Fuse Console 프록시와 Jolokia 에이전트 간에 안전하게 연결을 유지하려면 Fuse Console을 배포하기 전에 클라이언트 인증서를 생성해야 합니다. 서비스 서명 인증 기관 개인 키를 사용하여 클라이언트 인증서에 서명해야 합니다.
각 OpenShift 클러스터에 대해 별도의 클라이언트 인증서를 생성하고 서명해야 합니다. 두 개 이상의 클러스터에 동일한 인증서를 사용하지 마십시오.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자
액세스 권한이 있어야 합니다. 두 개 이상의 OpenShift 클러스터에 대한 인증서를 생성하고 이전에 현재 디렉터리에 다른 클러스터에 대한 인증서를 생성한 경우 다음 중 하나를 수행하여 현재 클러스터에 대한 다른 인증서를 생성하십시오.
-
현재 디렉터리에서 기존 인증서 파일(예:
ca.crt
,ca.key
,ca.srl
)을 삭제합니다. 다른 작업 디렉터리로 변경합니다. 예를 들어 현재 작업 디렉터리 이름이
cluster1
인 경우 새cluster2
디렉터리를 생성하고 작업 디렉터리를 해당 디렉터리로 변경합니다.mkdir ../cluster2
cd ../cluster2
-
현재 디렉터리에서 기존 인증서 파일(예:
절차
클러스터 관리자 액세스 권한이 있는 사용자로 OpenShift에 로그인합니다.
oc login -u <user_with_cluster_admin_role>
oc login -u <user_with_cluster_admin_role>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서비스 서명 인증 기관 키를 검색합니다.
인증서를 검색하려면 다음을 수행합니다.
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 개인 키를 검색하려면 다음을 수행합니다.
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
easyrsa
,openssl
또는cfssl
을 사용하여 Kubernetes 인증서 관리에 설명된 대로 클라이언트 인증서를 생성합니다.다음은 openssl을 사용하는 예제 명령입니다.
개인 키를 생성합니다.
openssl genrsa -out server.key 2048
openssl genrsa -out server.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR 구성 파일을 작성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR을 생성합니다.
openssl req -new -key server.key -out server.csr -config csr.conf
openssl req -new -key server.key -out server.csr -config csr.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서명된 인증서를 발급합니다.
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
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 Copied! Toggle word wrap Toggle overflow
다음 단계
Fuse Console 설치 방법에 따라 다음 섹션에 설명된 대로 Fuse Console의 시크릿을 생성하려면 이 인증서가 필요합니다.
1.2.2. OperatorHub를 사용하여 OpenShift 4.x에 Fuse Console 설치 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 4.x에 Fuse Console을 설치하려면 OpenShift OperatorHub에 제공된 Fuse Console Operator를 사용할 수 있습니다. Fuse 콘솔을 배포하려면 설치된 Operator의 인스턴스를 만듭니다.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자
액세스 권한이 있어야 합니다. - OpenShift 4.x에서 Fuse 콘솔을 보호하기 위해 인증서 생성에 설명된 대로 Fuse Console의 클라이언트 인증서를 생성 했습니다.
절차
Fuse 콘솔을 설치하고 배포하려면 다음을 수행합니다.
-
웹 브라우저에서
클러스터 관리자
액세스 권한이 있는 사용자로 OpenShift 콘솔에 로그인합니다. - 홈 > 프로젝트를 선택한 다음 Fuse 콘솔을 추가할 프로젝트를 선택합니다.
- Operators 를 클릭한 다음 OperatorHub 를 클릭합니다.
- 검색 필드 창에서 Fuse Console 을 입력하여 Operator 목록을 필터링합니다.
- Fuse Console Operator 를 클릭합니다.
Fuse Console Operator 설치 창에서 설치를 클릭합니다.
Create Operator Subscription 양식이 열립니다.
설치 모드 의 경우 Fuse Console Operator를 특정 네임스페이스(현재 OpenShift 프로젝트)에 설치합니다.
그런 다음 Operator를 설치한 후 Fuse Console을 배포하여 클러스터의 모든 네임스페이스에서 애플리케이션을 모니터링하거나 Fuse Console Operator가 설치된 네임스페이스에서만 애플리케이션을 모니터링하도록 선택할 수 있습니다.
승인 전략 의 경우 자동 또는 수동 을 선택하여 OpenShift에서 Fuse Console Operator에 대한 업데이트를 처리하는 방법을 구성할 수 있습니다.
- 자동 업데이트를 선택하면 새 버전의 Fuse Console Operator가 사용 가능할 때 OLM(Operator Lifecycle Manager)은 개입 없이 Fuse Console의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
- 수동 업데이트를 선택하면 최신 버전의 Operator가 사용 가능할 때 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Fuse Console Operator가 새 버전으로 업데이트되도록 해당 업데이트 요청을 수동으로 승인해야 합니다.
Subscribe를 클릭합니다.
OpenShift는 현재 네임스페이스에 Fuse Console Operator를 설치합니다.
- 설치를 확인하려면 Operator를 클릭한 다음 Installed Operators 를 클릭합니다. Operator 목록에서 Fuse Console을 볼 수 있습니다.
터미널 창에서 OpenShift 4.x에서 Fuse Console 보안에서 생성한 인증서를 사용하여 시크릿을 생성하고, APP_NAME 이 Fuse Console 배포 이름(예:
fuse-console
)을 사용하여 Fuse 콘솔에 마운트합니다.oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어 Fuse Console 애플리케이션의 이름이 fuse-console 인 경우 다음 명령을 입력합니다.
oc create secret tls fuse-console-tls-proxying --cert server.crt --key server.key
oc create secret tls fuse-console-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 성공하면 이 명령은 보안이 생성되었는지 확인하는 응답을 반환합니다. 예를 들면 다음과 같습니다.
secret/fuse-console-operator-tls-proxying created
secret/fuse-console-operator-tls-proxying created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift 웹 콘솔을 사용하여 Fuse 콘솔을 배포하려면 다음을 수행합니다.
- 설치된 Operator 목록에서 이름 열에서 Fuse Console 을 클릭합니다.
제공된 API 아래의 개요 페이지에서 인스턴스 생성을 클릭합니다. 새 CRD(Custom Resource Definition) 파일이 열립니다.
기본적으로 Fuse Console은 현재 네임스페이스에 배포됩니다.
Fuse Console을 배포하여 현재 네임스페이스 내에서 애플리케이션을 검색하고 관리하려면 다음 단계로 건너뜁니다.
선택적으로 클러스터(및 인증된 사용자)에 있는 모든 네임스페이스에서 애플리케이션을 검색하고 관리하려면
spec.type
필드의 값을네임스페이스
에서클러스터로
변경하여 CRD 파일을 편집합니다.생성을 클릭합니다.
Fuse Console CRD 페이지가 열리고 새 Fuse Console 서비스가 표시됩니다.
Fuse 콘솔을 열려면 다음을 수행합니다.
Fuse 콘솔 URL을 가져옵니다.
- OpenShift 웹 콘솔 내에서 네트워킹 > 경로를 선택합니다.
-
명령줄에서
oc get routes
명령을 입력합니다.
웹 브라우저에서 Fuse Console URL을 연 다음 로그인합니다.
필요한 권한이 나열된 브라우저에서 권한 부여 페이지가 열립니다.
선택한 권한 허용을 클릭합니다.
브라우저에서 Fuse Console이 열리고 액세스할 수 있는 권한이 있는 Fuse 애플리케이션 포드가 표시됩니다.
확인할 애플리케이션에 대한 연결을 클릭합니다.
Fuse Console에 애플리케이션이 표시되는 새 브라우저 창이 열립니다.
1.2.3. 명령줄을 사용하여 OpenShift 4.x에 Fuse Console 설치 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 4.x에서는 명령줄에서 Fuse 콘솔을 설치하고 배포할 다음 배포 옵션 중 하나를 선택할 수 있습니다.
- 클러스터 - Fuse Console은 OpenShift 클러스터의 여러 네임스페이스(프로젝트)에 배포된 Fuse 애플리케이션을 검색하고 연결할 수 있습니다. 이 템플릿을 배포하려면 OpenShift 클러스터에 대한 관리자 역할이 있어야 합니다.
- 네임스페이스 - Fuse Console은 특정 OpenShift 프로젝트(네임스페이스)에 액세스할 수 있습니다. 이 템플릿을 배포하려면 OpenShift 프로젝트에 대한 관리자 역할이 있어야 합니다.
Fuse Console 템플릿의 매개변수 목록을 보려면 다음 OpenShift 명령을 실행합니다.
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-namespace-os4.json
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-namespace-os4.json
사전 요구 사항
- Fuse 콘솔을 설치하고 배포하기 전에 OpenShift 4.x에서 Fuse Console을 보호하기 위해 인증서 생성에 설명된 대로 서비스 서명 인증 기관으로 서명된 클라이언트 인증서를 생성해야 합니다.
-
OpenShift
클러스터에 대한 클러스터 관리자
역할이 있어야 합니다. - OpenShift 4.x 서버에 Fuse 이미지 스트림 설치 및 템플릿에 설명된 대로 Fuse 콘솔 이미지 스트림(다른 Fuse 이미지 스트림과 함께)이 설치됩니다.
절차
다음 명령을 사용하여 모든 템플릿 목록을 검색하여 Fuse Console 이미지 스트림이 설치되었는지 확인합니다.
oc get template -n openshift
oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택적으로 이미 설치된 이미지 스트림을 새 릴리스 태그로 업데이트하려면 다음 명령을 사용하여 Fuse Console 이미지를 openshift 네임스페이스로 가져옵니다.
oc import-image fuse7/fuse7-console:1.6 --from=registry.redhat.io/fuse7/fuse-console:1.6 --confirm -n openshift
oc import-image fuse7/fuse7-console:1.6 --from=registry.redhat.io/fuse7/fuse-console:1.6 --confirm -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Fuse Console APP_NAME 값을 가져옵니다.
클러스터 템플릿의 경우:
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-cluster-os4.json
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-cluster-os4.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스 템플릿의 경우:
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-namespace-os4.json
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fuse-console-namespace-os4.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 새 애플리케이션을 생성합니다( $project 는 OpenShift 프로젝트의 이름, $APP_NAME 은 위 단계에서 얻은 애플리케이션의 이름이며 $DOMAIN_NAME 은 Fuse Console에 액세스할 수 있는 호스트 이름입니다.
클러스터 템플릿의 경우:
oc new-app -n $project -f {templates-base-url}/fuse-console-cluster-os4.json -p ROUTE_HOSTNAME=$APP_NAME.$DOMAIN_NAME -p APP_NAME=$APP_NAME
oc new-app -n $project -f {templates-base-url}/fuse-console-cluster-os4.json -p ROUTE_HOSTNAME=$APP_NAME.$DOMAIN_NAME -p APP_NAME=$APP_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스 템플릿의 경우:
oc new-app -n myproject -f {templates-base-url}/fuse-console-namespace-os4.json
oc new-app -n myproject -f {templates-base-url}/fuse-console-namespace-os4.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 Fuse Console 배포의 상태 및 URL을 가져옵니다.
oc status
oc status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 브라우저에서 Fuse 콘솔에 액세스하려면 6단계에서 반환된 URL(예: https://fuse-console.192.168.64.12.nip.io)을 사용합니다.
1.2.4. OpenShift 4.x에서 Fuse Console 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift 4.x는 Red Hat Fuse Operator를 포함하여 Operator에 대한 업데이트를 처리합니다. 자세한 내용은 Operator OpenShift 설명서 를 참조하십시오.
Operator 업데이트는 애플리케이션 구성 방법에 따라 애플리케이션 업그레이드를 트리거할 수 있습니다.
Fuse Console 애플리케이션의 경우 애플리케이션 사용자 정의 리소스 정의의 .spec.version
필드를 편집하여 애플리케이션으로의 업그레이드를 트리거할 수도 있습니다.
사전 요구 사항
- OpenShift 클러스터 관리자 권한이 있어야 합니다.
절차
Fuse Console 애플리케이션을 업그레이드하려면 다음을 수행합니다.
터미널 창에서 다음 명령을 사용하여 애플리케이션 사용자 정의 리소스 정의의
.spec.version
필드를 변경합니다.oc patch <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
oc patch <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
oc patch myproject example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
oc patch myproject example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 상태가 업데이트되었는지 확인합니다.
oc get myproject
oc get myproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 응답에는 버전 번호를 포함하여 애플리케이션에 대한 정보가 표시됩니다.
NAME AGE URL IMAGE example-fuseconsole 1m https://fuseconsole.192.168.64.38.nip.io docker.io/fuseconsole/online:1.7.1
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 Copied! Toggle word wrap Toggle overflow .spec.version
필드의 값을 변경하면 OpenShift에서 애플리케이션을 자동으로 재배포합니다.버전 변경으로 트리거되는 재배포 상태를 확인하려면 다음을 수행합니다.
oc rollout status deployment.v1.apps/example-fuseconsole
oc rollout status deployment.v1.apps/example-fuseconsole
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 성공적인 배포에는 다음 응답이 표시됩니다.
deployment "example-fuseconsole" successfully rolled out
deployment "example-fuseconsole" successfully rolled out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow