4장. JWS Operator
4.1. JBoss Web Server Operator 링크 복사링크가 클립보드에 복사되었습니다!
4.1.1. OpenShift Operators 링크 복사링크가 클립보드에 복사되었습니다!
Operator 프레임워크는 Operator라는 Kubernetes 네이티브 애플리케이션을 효과적이고 자동화된 확장 방식으로 관리하는 툴킷입니다. Operator를 사용하면 Kubernetes에서 복잡한 상태 저장 애플리케이션을 쉽게 관리할 수 있습니다. 모든 Operator는 Operator SDK, Operator Lifecycle Manager 및 OperatorHub.io의 세 가지 주요 구성 요소를 기반으로 합니다. 이러한 툴을 사용하면 자체 운영자를 개발하고 Kubernetes 클러스터에서 사용하는 운영자를 관리하고 커뮤니티에서 생성하는 Operator를 검색하거나 공유할 수 있습니다.
Red Hat JBoss Web Server 프로젝트는 OpenShift 이미지를 관리하는 Operator를 제공합니다. 이 섹션에서는 JWS용 OpenShift Operator를 빌드, 테스트 및 패키징하는 방법에 대해 설명합니다.
클러스터 설정에 대한 자세한 내용은 Openshift Documentation 하위 섹션 '설치'를 참조하십시오.
또한 JWS Operator는 JWS-on-OpenShift 설정과 다른 환경 변수를 사용합니다. 이러한 매개 변수의 전체 목록은 여기에서 확인할 수 있습니다.
현재 '세션 클러스터링 사용' 기능은 완전히 지원되지 않습니다.
이 가이드에서는 JWS Operator의 설치, 배포 및 삭제에 대해 자세히 설명합니다. 더 빠르지만 덜 자세한 내용은 빠른 시작 가이드를 참조하십시오.
현재 JWS 5.4 이미지만 지원합니다. 5.4 이상의 이미지는 지원되지 않습니다.
4.1.2. JWS Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 OpenShift Container Platform에 JWS Operator의 설치에 대해 설명합니다.
4.1.2.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
클러스터
관리자 권한이 있는 계정을 사용하는 OpenShift Container Platform 클러스터(웹 콘솔만 해당) - Operator 설치 권한이 있는 계정을 사용하는 OpenShift Container Platform 클러스터
-
로컬 시스템(CLI 전용)에
oc툴 설치
4.1.2.2. JWS Operator 설치 - 웹 콘솔 링크 복사링크가 클립보드에 복사되었습니다!
- 왼쪽 메뉴에 있는 'Operators' 탭으로 이동합니다.
- 그러면 OpenShift OperatorHub가 열립니다. 여기에서 JWS를 검색하고 'JWS Operator'를 선택합니다.
- 새 메뉴가 표시됩니다 - 원하는 용량 수준을 선택한 다음 상단에서 '설치'를 클릭하여 Operator를 설치합니다.
이제 Operator 설치를 설정할 수 있습니다. 다음 3가지 옵션을 지정합니다.
- 설치 모드: 설치할 클러스터의 특정 네임스페이스를 지정합니다. 이 값을 지정하지 않으면 기본적으로 Operator가 클러스터의 모든 네임스페이스에 설치됩니다.
- 업데이트 채널: JWS Operator는 현재 하나의 채널을 통해서만 사용할 수 있습니다.
- 승인 전략: 자동 또는 수동 업데이트를 선택할 수 있습니다. 설치된 Operator에 대해 자동 업데이트를 선택하는 경우 해당 Operator의 새 버전이 사용 가능하면 Operator Lifecycle Manager (OLM)는 개입없이 Operator의 실행중인 인스턴스를 자동으로 업그레이드합니다. 수동 업데이트를 선택하면 최신 버전의 Operator가 사용 가능할 때 OLM이 업데이트 요청을 작성합니다. 클러스터 관리자는 Operator를 새 버전으로 업데이트하려면 OLM 업데이트 요청을 수동으로 승인해야 합니다.
-
하단에서 '설치'를 클릭합니다.
수동 승인 전략을선택한 경우 설치가 완료되기 전에 설치 계획을 승인해야 합니다. 이제 JWS Operator가 'Operators' 탭의 '설치된 Operator' 섹션에 표시됩니다.
4.1.2.3. JWS Operator 설치 - 명령줄 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 JWS Operator를 검사하여 지원되는 installMode 및 사용 가능한 채널을 확인합니다.
oc get packagemanifests -n openshift-marketplace | grep jws
$ oc get packagemanifests -n openshift-marketplace | grep jws jws-operator Red Hat Operators 16hCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe packagemanifests jws-operator -n openshift-marketplace | grep "Catalog Source"
$ oc describe packagemanifests jws-operator -n openshift-marketplace | grep "Catalog Source" Catalog Source: redhat-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup은 OperatorGroup과 동일한 네임 스페이스에 있는 모든 Operator에 대해 필요한 RBAC 액세스를 생성하는 대상 네임 스페이스를 선택하는 OLM 리소스입니다.
Operator를 구독하는 네임스페이스에 Operator의 InstallMode(AllNamespaces 또는 SingleNamespace 모드)와 일치하는 OperatorGroup이 있어야 합니다. 설치하려는 Operator에서 AllNamespaces를 사용하는 경우 openshift-operators 네임스페이스에 적절한 OperatorGroup이 이미 있습니다.
그러나 Operator에서 SingleNamespace 모드를 사용하는 경우 해당 네임스페이스에서 정확히 하나의 OperatorGroup을 생성해야 합니다. 실제 OperatorGroups 목록을 확인하려면 다음 명령을 사용합니다.
oc get operatorgroups -n <project_name>
$ oc get operatorgroups -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup 목록의 출력 예:
NAME AGE mygroup 17h
NAME AGE mygroup 17hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 프로세스의 웹 콘솔 버전에서는 SingleNamespace 모드를 선택할 때 자동으로 OperatorGroup 및 Subscription 개체 생성을 자동으로 처리합니다.
OperatorGroup 오브젝트 YAML 파일을 생성합니다. 예를 들면 다음과 같습니다.
OperatorGroupExample.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow <project_name>은 Operator를 설치하는 프로젝트의 네임스페이스입니다(oc project -q). <operatorgroup_name>은 OperatorGroup의 이름입니다.
다음 명령을 사용하여 OperatorGroup 오브젝트를 생성합니다.
oc apply -f OperatorGroupExample.yaml
$ oc apply -f OperatorGroupExample.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
서브스크립션 오브젝트 YAML 파일(예:
jws-operator-sub.yaml)을 생성합니다. 다음과 같이 다음과 같이Subscription오브젝트 YAML 파일을 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow <project_name>은 operator를 설치하는 프로젝트의 네임스페이스입니다(oc project -q). 모든 네임스페이스에 설치할 프로젝트의 네임스페이스는 openshift-operators를 사용합니다.
소스는 카탈로그
소스입니다. 이는 이 섹션의 1단계에서 실행한$ oc describe packagemanifests jws-operator -n openshift-marketplace | grep "Catalog Source:"명령의 값입니다. 값은redhat-operators여야 합니다.다음 명령을 사용하여 YAML 파일에서
Subscription오브젝트를 생성합니다.oc apply -f jws-operator-sub.yaml
$ oc apply -f jws-operator-sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 설치가 완료되었는지 확인하려면 다음 명령을 실행합니다.
oc get csv -n <project_name>
$ oc get csv -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand NAME DISPLAY VERSION 단계 교체 jws-operator.V1.0.0
JBoss Web Server Operator
1.0.0
succeeded
4.1.3. 기존 JWS 이미지 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 Operator가 설치되었는지 확인합니다.
oc get deployment.apps/jws-operator
$ oc get deployment.apps/jws-operator NAME READY UP-TO-DATE AVAILABLE AGE jws-operator 1/1 1 1 15hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 더 자세한 출력이 필요한 경우:
oc describe deployment.apps/jws-operator
$ oc describe deployment.apps/jws-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
이미지를 준비하고 원하는 위치로 푸시합니다. 이 예에서는
quay.io/<USERNAME>/tomcat-demo:latest로 푸시됩니다. 사용자 지정 리소스WebServer .yaml 파일을 만듭니다. 이 예에서는 CloudEvent_cr.yaml이라는 파일이 사용됩니다. 파일은 다음 형식을 따라야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 생성한 디렉터리에서 해당 항목을 배포합니다.
oc apply -f webservers_cr.yaml
$ oc apply -f webservers_cr.yaml webserver/example-image-webserver createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Operator가 경로를 자동으로 생성합니다. 다음 명령을 사용하여 경로를 확인할 수 있습니다.
oc get routes
$ oc get routesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 경로에 대한 자세한 내용은 OpenShift 설명서를참조하십시오.
4단계에서 생성한
웹 서버를삭제해야 하는 경우:oc delete webserver example-image-webserver
$ oc delete webserver example-image-webserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
oc delete -f webservers_cr.yaml
$ oc delete -f webservers_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4. 클러스터에서 Operator 삭제 링크 복사링크가 클립보드에 복사되었습니다!
4.1.4.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- 관리자 권한이 있는 OpenShift Container Platform 클러스터 (ECDHE, 다음 지침에 따라 이 요구 사항을 우회할 수 있습니다)
-
로컬 시스템(CLI 전용)에
oc툴 설치
4.1.4.2. 클러스터에서 Operator 삭제 - 웹 콘솔 링크 복사링크가 클립보드에 복사되었습니다!
-
왼쪽 메뉴에서 'Operators'
'설치된 Operator'를 클릭합니다. - 'Operator Details' 아래에서 '작업' 메뉴를 선택하고 '설치 중 Operator'를 클릭합니다.
- 이 옵션을 선택하면 Operator, Operator 배포 및 Pod가 제거됩니다. Operator를 제거해도 CRD 또는 CR을 포함한 사용자 정의 리소스 정의 또는 사용자 정의 리소스는 제거되지 않습니다. Operator가 클러스터에 애플리케이션을 배포하거나 클러스터 외부 리소스를 구성한 경우 이러한 리소스는 계속 실행되고 수동으로 정리해야 합니다.
4.1.4.3. 클러스터에서 Operator 삭제 - 명령줄 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여
currentCSV필드에서 구독한 Operator의 현재 버전을 확인합니다.oc get subscription jws-operator -n <project_name> -o yaml | grep currentCSV
$ oc get subscription jws-operator -n <project_name> -o yaml | grep currentCSV f:currentCSV: {} currentCSV: jws-operator.v1.0.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위의 명령에서 <
;project_name>은 Operator를 설치한 프로젝트의 네임스페이스를 나타냅니다. Operator가 모든 네임스페이스에 설치된 경우 <project_name> 대신.openshift-operators를 사용합니다다음 명령을 사용하여 Operator의 서브스크립션을 삭제합니다.
oc delete subscription jws-operator -n <project_name>
$ oc delete subscription jws-operator -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위의 명령에서 <
;project_name>은 Operator를 설치한 프로젝트의 네임스페이스를 나타냅니다. Operator가 모든 네임스페이스에 설치된 경우 <project_name> 대신.openshift-operators를 사용합니다다음 명령을 사용하여 이전 단계의 currentCSV 값을 사용하여 대상 네임스페이스에서 Operator의 CSV를 삭제합니다.
oc delete clusterserviceversion <currentCSV> -n <project_name>
$ oc delete clusterserviceversion <currentCSV> -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
<currentCSV>은 1단계에서 얻은 값입니다.oc delete clusterserviceversion jws-operator.v1.0.0
$ oc delete clusterserviceversion jws-operator.v1.0.0 clusterserviceversion.operators.coreos.com "jws-operator.v1.0.0" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위의 명령에서 <
;project_name>은 Operator를 설치한 프로젝트의 네임스페이스를 나타냅니다. Operator가 모든 네임스페이스에 설치된 경우 <project_name> 대신.openshift-operators를 사용합니다
4.1.5. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
Operator에 대한 자세한 내용은 공식 OpenShift 문서를 참조하십시오.
및