9.3. OpenShift Update Service를 사용하여 연결이 끊긴 환경에서 클러스터 업데이트
9.3.1. OpenShift 업데이트 서비스 정보
OSUS(OpenShift Update Service)는 RHCOS(Red Hat Enterprise Linux CoreOS)를 포함하여 OpenShift Container Platform에 대한 업데이트를 제공합니다. 구성 요소 Operator의 정점과 이를 연결하는 에지를 포함하는 그래프 또는 다이어그램을 제공합니다. 그래프의 에지에는 안전하게 업데이트할 수 있는 버전이 표시됩니다. 정점은 관리형 클러스터 구성 요소의 상태를 지정하는 업데이트 페이로드입니다.
클러스터의 CVO (Cluster Version Operator)는 OpenShift Update Service를 확인하여 현재 구성 요소 버전 및 그래프의 정보를 기반으로 유효한 업데이트 및 업데이트 경로를 확인합니다. 업데이트를 요청하면 CVO는 해당 업데이트에 릴리스 이미지를 사용하여 클러스터를 업데이트합니다. 릴리스 아티팩트는 Quay에서 컨테이너 이미지로 호스팅됩니다.
OpenShift Update Service가 호환 가능한 업데이트만 제공할 수 있도록 자동화를 지원하는 버전 확인 파이프 라인이 제공됩니다. 각 릴리스 아티팩트는 지원되는 클라우드 플랫폼 및 시스템 아키텍처 및 기타 구성 요소 패키지와의 호환성 여부를 확인합니다. 파이프 라인에서 적용 가능한 버전이 있음을 확인한 후 OpenShift Update Service는 해당 버전 업데이트를 사용할 수 있음을 알려줍니다.
OpenShift Update Service는 현재 클러스터에 권장되는 모든 업데이트를 표시합니다. OpenShift Update Service에서 업그레이드 경로를 권장하지 않는 경우 업데이트 또는 대상 릴리스와 관련된 알려진 문제로 인해 발생할 수 있습니다.
연속 업데이트 모드에서는 두 개의 컨트롤러가 실행됩니다. 하나의 컨트롤러는 페이로드 매니페스트를 지속적으로 업데이트하여 매니페스트를 클러스터에 적용한 다음 Operator의 제어된 롤아웃 상태를 출력하여 사용 가능한지, 업그레이드했는지 또는 실패했는지의 여부를 나타냅니다. 두 번째 컨트롤러는 OpenShift Update Service를 폴링하여 업데이트를 사용할 수 있는지 확인합니다.
최신 버전으로의 업그레이드만 지원됩니다. 클러스터를 이전 버전으로 되돌리거나 롤백을 수행하는 것은 지원되지 않습니다. 업데이트에 실패하면 Red Hat 지원에 문의하십시오.
업데이트 프로세스 중에 MCO (Machine Config Operator)는 새 구성을 클러스터 머신에 적용합니다. MCO는 머신 설정 풀의 maxUnavailable
필드에 지정된 노드 수를 제한하고 이를 사용할 수없는 것으로 표시합니다. 기본적으로 이 값은 1
로 설정됩니다. MCO는 새 설정을 적용하여 컴퓨터를 다시 시작합니다.
RHEL (Red Hat Enterprise Linux) 머신을 작업자로 사용하는 경우 먼저 시스템에서 OpenShift API를 업데이트해야하기 때문에 MCO는 이 머신에서 kubelet을 업데이트하지 않습니다.
새 버전의 사양이 이전 kubelet에 적용되므로 RHEL 머신을 Ready
상태로 되돌릴 수 없습니다. 컴퓨터를 사용할 수 있을 때까지 업데이트를 완료할 수 없습니다. 그러나 사용 불가능한 최대 노드 수를 설정하면 사용할 수 없는 머신의 수가 이 값을 초과하지 않는 경우에도 정상적인 클러스터 작업을 계속할 수 있습니다.
OpenShift Update Service는 Operator 및 하나 이상의 애플리케이션 인스턴스로 구성됩니다.
업데이트 프로세스 중에 클러스터의 노드를 일시적으로 사용할 수 없게 될 수 있습니다. MachineHealthCheck는
비정상적인 노드를 식별하고 재부팅할 수 있습니다. 이러한 노드를 재부팅하지 않으려면 클러스터를 업데이트하기 전에 배포한 MachineHealthCheck
리소스를 제거합니다. 그러나 기본적으로 배포되는 MachineHealthCheck 리소스(예: machine-api-termination-handler
)는 제거할 수 없으며 다시 생성됩니다.
추가 리소스
인터넷에 액세스할 수 있는 클러스터의 경우 Red Hat은 공용 API 뒤에 있는 호스팅 서비스로 OpenShift Container Platform 업데이트 서비스를 통해 업데이트 권장 사항을 제공합니다. 그러나 연결이 끊긴 환경의 클러스터는 업데이트 정보를 위해 공용 API에 액세스할 수 없습니다.
연결이 끊긴 환경에서 유사한 업데이트 환경을 제공하기 위해 OpenShift Update Service를 로컬로 설치하고 구성하여 연결이 끊긴 환경에서 사용할 수 있습니다.
다음 섹션에서는 연결이 끊긴 클러스터 및 기본 운영 체제에 대한 업데이트를 제공하는 방법을 설명합니다.
9.3.2. 전제 조건
-
oc
명령 줄 인터페이스 (CLI) 툴이 설치되어 있어야합니다. - OpenShift Container Platform 이미지 저장소 미러링에 설명된 대로 업데이트를 위한 컨테이너 이미지로 로컬 컨테이너 이미지 레지스트리를 프로비저닝해야 합니다.
9.3.3. OpenShift Update Service의 보안 레지스트리에 대한 액세스 구성
릴리스 이미지가 사용자 정의 인증 기관에서 HTTPS X.509 인증서가 서명한 레지스트리에 포함된 경우 업데이트 서비스에 대한 다음 변경과 함께 이미지 레지스트리 액세스를 위한 추가 신뢰 저장소 구성 단계를 완료합니다.
OpenShift Update Service Operator는 레지스트리 CA 인증서에 구성 맵 키 이름 updateservice-registry
가 필요합니다.
업데이트 서비스에 대한 이미지 레지스트리 CA 구성 맵의 예
apiVersion: v1 kind: ConfigMap metadata: name: my-registry-ca data: updateservice-registry: | 1 -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- registry-with-port.example.com..5000: | 2 -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
9.3.4. 글로벌 클러스터 풀 시크릿 업데이트
현재 풀 시크릿을 교체하거나 새 풀 시크릿을 추가하여 클러스터의 글로벌 풀 시크릿을 업데이트할 수 있습니다.
사용자가 설치 중에 사용한 레지스트리보다 이미지를 저장하기 위해 별도의 레지스트리를 사용하는 경우 절차가 필요합니다.
전제 조건
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
선택 사항: 기존 풀 시크릿에 새 풀 시크릿을 추가하려면 다음 단계를 완료합니다.
다음 명령을 입력하여 풀 시크릿을 다운로드합니다.
$ oc get secret/pull-secret -n openshift-config --template='{{index .data ".dockerconfigjson" | base64decode}}' ><pull_secret_location> 1
- 1
- 풀 시크릿 파일에 경로를 제공합니다.
다음 명령을 입력하여 새 풀 시크릿을 추가합니다.
$ oc registry login --registry="<registry>" \ 1 --auth-basic="<username>:<password>" \ 2 --to=<pull_secret_location> 3
또는 가져오기 시크릿 파일에 대한 수동 업데이트를 수행할 수 있습니다.
다음 명령을 입력하여 클러스터의 글로벌 풀 시크릿을 업데이트합니다.
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location> 1
- 1
- 새 풀 시크릿 파일의 경로를 제공합니다.
이 업데이트는 모든 노드로 롤아웃되며 클러스터 크기에 따라 작업에 약간의 시간이 걸릴 수 있습니다.
참고OpenShift Container Platform 4.7.4부터 글로벌 풀 시크릿을 변경해도 더 이상 노드 드레이닝 또는 재부팅이 트리거되지 않습니다.
9.3.5. OpenShift Update Service Operator 설치
OpenShift Update Service를 설치하려면 먼저 OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 OpenShift Update Service Operator를 설치해야 합니다.
연결이 끊긴 환경(연결이 끊긴 클러스터)에 설치된 클러스터의 경우 Operator Lifecycle Manager는 기본적으로 원격 레지스트리에서 호스팅되는 Red Hat 제공 OperatorHub 소스에 액세스할 수 없습니다. 이러한 원격 소스에는 완전한 인터넷 연결이 필요하기 때문입니다. 자세한 내용은 제한된 네트워크에서 Operator Lifecycle Manager 사용을 참조하십시오.
9.3.5.1. 웹 콘솔을 사용하여 OpenShift Update Service Operator 설치
웹 콘솔을 사용하여 OpenShift Update Service Operator를 설치할 수 있습니다.
프로세스
웹 콘솔에서 Operator
OperatorHub를 클릭합니다. 참고Update 서비스를
Filter by keyword…에 입력합니다. Operator를 더 빠르게 찾을 수 있는 필드입니다.사용 가능한 Operator 목록에서 OpenShift Update Service를 선택한 다음 설치를 클릭합니다.
-
채널
v1
은 이 릴리스에서 사용할 수 있는 유일한 채널이므로 업데이트 채널로 선택됩니다. - 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
-
설치된 네임스페이스의 네임스페이스를 선택하거나 권장 네임스페이스
openshift-update-service
를 수락합니다. 승인 전략을 선택합니다.
- 자동 전략을 사용하면 Operator 새 버전이 준비될 때 OLM(Operator Lifecycle Manager)이 자동으로 Operator를 업데이트할 수 있습니다.
- 수동 전략을 사용하려면 클러스터 관리자가 Operator 업데이트를 승인해야 합니다.
- 설치를 클릭합니다.
-
채널
-
Operator
Installed Operator 페이지로 전환하여 OpenShift Update Service Operator가 설치되었는지 확인합니다. - OpenShift Update Service가 선택한 네임스페이스에 성공 상태로 나열되어 있는지 확인합니다.
9.3.5.2. CLI를 사용하여 OpenShift Update Service Operator 설치
OpenShift CLI(oc
)를 사용하여 OpenShift Update Service Operator를 설치할 수 있습니다.
프로세스
OpenShift OpenShift Update Service Operator의 네임스페이스를 생성합니다.
OpenShift Update Service Operator에 대해
Namespace
오브젝트 YAML 파일 (예:update-service-namespace.yaml
)을 만듭니다.apiVersion: v1 kind: Namespace metadata: name: openshift-update-service annotations: openshift.io/node-selector: "" labels: openshift.io/cluster-monitoring: "true" 1
- 1
- 이 네임스페이스에서 Operator가 권장하는 클러스터 모니터링을 사용하도록 하려면
openshift.io/cluster-monitoring
레이블을 설정합니다.
네임스페이스를 생성합니다.
$ oc create -f <filename>.yaml
예를 들면 다음과 같습니다.
$ oc create -f update-service-namespace.yaml
다음 오브젝트를 생성하여 OpenShift Update Service Operator를 설치합니다.
OperatorGroup
오브젝트 YAML 파일을 만듭니다 (예:update-service-operator-group.yaml
).apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: update-service-operator-group spec: targetNamespaces: - openshift-update-service
OperatorGroup
오브젝트를 생성합니다.$ oc -n openshift-update-service create -f <filename>.yaml
예를 들면 다음과 같습니다.
$ oc -n openshift-update-service create -f update-service-operator-group.yaml
Subscription
오브젝트 YAML 파일(예:update-service-subscription.yaml
)을 생성합니다.서브스크립션의 예
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: update-service-subscription spec: channel: v1 installPlanApproval: "Automatic" source: "redhat-operators" 1 sourceNamespace: "openshift-marketplace" name: "cincinnati-operator"
- 1
- Operator를 제공하는 카탈로그 소스의 이름을 지정합니다. 사용자 정의 OLM(Operator Lifecycle Manager)을 사용하지 않는 클러스터의 경우
redhat-operators
를 지정합니다. OpenShift Container Platform 클러스터가 연결이 끊긴 환경에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된CatalogSource
오브젝트의 이름을 지정합니다.
Subscription
오브젝트를 생성합니다.$ oc create -f <filename>.yaml
예를 들면 다음과 같습니다.
$ oc -n openshift-update-service create -f update-service-subscription.yaml
OpenShift Update Service Operator는
openshift-update-service
네임스페이스에 설치되고openshift-update-service
네임스페이스를 대상으로 합니다.
Operator 설치를 확인합니다.
$ oc -n openshift-update-service get clusterserviceversions
출력 예
NAME DISPLAY VERSION REPLACES PHASE update-service-operator.v4.6.0 OpenShift Update Service 4.6.0 Succeeded ...
OpenShift Update Service Operator가 나열된 경우 설치에 성공한 것입니다. 버전 번호가 표시된 것과 다를 수 있습니다.
추가 리소스
9.3.6. OpenShift Update Service 그래프 데이터 컨테이너 이미지 생성
OpenShift Update Service에는 그래프 데이터 컨테이너 이미지가 필요합니다. 이 이미지를 통해 OpenShift Update Service는 채널 멤버십에 및 차단된 업데이트 에지에 대한 정보를 검색합니다. 일반적으로 그래프 데이터는 업그레이드 그래프 데이터 리포지토리에서 직접 가져옵니다. 인터넷 연결이 불가능한 환경에서 init 컨테이너에서 이 정보를 로드하는 것도 OpenShift 업데이트 서비스에서 그래프 데이터를 사용할 수 있도록 하는 또 다른 방법입니다. init 컨테이너의 역할은 그래프 데이터의 로컬 사본을 제공하는 것이며 pod 초기화 중에 init 컨테이너가 서비스에서 액세스할 수 있는 볼륨에 데이터를 복사하는 것입니다.
프로세스
다음을 포함하는 Dockerfile(예:
./Dockerfile
)을 생성합니다.FROM registry.access.redhat.com/ubi8/ubi:8.1 RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/cincinnati/graph-data/ --strip-components=1"
위 단계에서 생성된 Docker 파일을 사용하여 graph-data 컨테이너 이미지(예:
registry.example.com/openshift/graph-data:latest
)를 빌드합니다.$ podman build -f ./Dockerfile -t registry.example.com/openshift/graph-data:latest
이전 단계에서 만든 graph-data 컨테이너 이미지를 OpenShift Update Service에 액세스할 수 있는 리포지토리(예:
registry.example.com/openshift/graph-data:latest
)로 내보냅니다.$ podman push registry.example.com/openshift/graph-data:latest
참고연결이 끊긴 환경의 로컬 레지스트리로 그래프 데이터 이미지를 푸시하려면 OpenShift Update Service에서 액세스할 수 있는 리포지토리에 이전 단계에서 생성한 graph-data 컨테이너 이미지를 복사합니다. 사용 가능한 옵션은
oc image mirror --help
를 실행합니다.
9.3.7. OpenShift Update Service 애플리케이션 생성
OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 OpenShift Update Service 애플리케이션을 생성할 수 있습니다.
9.3.7.1. 웹 콘솔을 사용하여 OpenShift Update Service 애플리케이션 생성
OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Update Service Operator를 사용하여 OpenShift Update Service 애플리케이션을 생성할 수 있습니다.
전제 조건
- OpenShift Update Service Operator가 설치되었습니다.
- OpenShift Update Service graph-data 컨테이너 이미지가 생성되어 OpenShift Update Service에서 액세스할 수 있는 리포지토리로 푸시되었습니다.
- 현재 릴리스 및 업데이트 대상 릴리스는 로컬에 액세스 가능한 레지스트리로 미러링되었습니다.
프로세스
-
웹 콘솔에서 Operator
Installed Operator를 클릭합니다. - 설치된 Operator 목록에서 OpenShift Update Service를 선택합니다.
- Update Service 탭을 클릭합니다.
- Create UpdateService를 클릭합니다.
-
Name 필드에 이름을 입력합니다. (예:
service
) -
Graph Data Image 필드에 "OpenShift Update Service 그래프 데이터 컨테이너 이미지 생성"에 생성된 graph-data 컨테이너 이미지에 로컬 pullspec을 입력합니다(예:
registry.example.com/openshift/graph-data:latest
). -
Releases 필드에서 "OpenShift Container Platform 이미지 리포지토리 미러링"의 릴리스 이미지를 포함하도록 생성된 로컬 레지스트리 및 리포지토리를 입력합니다(예:
registry.example.com/ocp4/openshift4-release-images
). -
Replicas 필드에
2
를 입력합니다. - Create를 클릭하여 OpenShift Update Service 애플리케이션을 생성합니다.
OpenShift Update Service 애플리케이션 확인
- Update Service 탭의 UpdateServices 목록에서 방금 만든 업데이트 서비스 애플리케이션을 클릭합니다.
- Resources 탭을 클릭합니다.
- 각 애플리케이션 리소스의 상태가 Created인지 확인합니다.
9.3.7.2. CLI를 사용하여 OpenShift Update Service 애플리케이션 생성
OpenShift CLI(oc
)를 사용하여 OpenShift Update Service 애플리케이션을 생성할 수 있습니다.
전제 조건
- OpenShift Update Service Operator가 설치되었습니다.
- OpenShift Update Service graph-data 컨테이너 이미지가 생성되어 OpenShift Update Service에서 액세스할 수 있는 리포지토리로 푸시되었습니다.
- 현재 릴리스 및 업데이트 대상 릴리스는 로컬에 액세스 가능한 레지스트리로 미러링되었습니다.
프로세스
OpenShift Update Service 대상 네임스페이스를 구성합니다(예:
openshift-update-service
).$ NAMESPACE=openshift-update-service
네임스페이스는 Operator 그룹의
targetNamespaces
값과 일치해야 합니다.OpenShift Update Service 애플리케이션의 이름을 구성합니다(예:
service
).$ NAME=service
"OpenShift Container Platform 이미지 리포지토리 미러링"에 구성된 릴리스 이미지의 로컬 레지스트리 및 리포지토리를 구성합니다(예:
registry.example.com/ocp4/openshift4-release-images
).$ RELEASE_IMAGES=registry.example.com/ocp4/openshift4-release-images
graph-data 이미지의 로컬 pullspec 을 "OpenShift Update Service 그래프 데이터 컨테이너 이미지 생성"에서 생성된 graph-data 컨테이너 이미지로 설정합니다(예:
registry.example.com/openshift/graph-data:latest
).$ GRAPH_DATA_IMAGE=registry.example.com/openshift/graph-data:latest
OpenShift Update Service 애플리케이션 오브젝트를 생성합니다.
$ oc -n "${NAMESPACE}" create -f - <<EOF apiVersion: updateservice.operator.openshift.io/v1 kind: UpdateService metadata: name: ${NAME} spec: replicas: 2 releases: ${RELEASE_IMAGES} graphDataImage: ${GRAPH_DATA_IMAGE} EOF
OpenShift Update Service 애플리케이션 확인
다음 명령을 사용하여 정책 엔진 경로를 가져옵니다.
$ while sleep 1; do POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonpath='{.status.policyEngineURI}/api/upgrades_info/v1/graph{"\n"}' updateservice "${NAME}")"; SCHEME="${POLICY_ENGINE_GRAPH_URI%%:*}"; if test "${SCHEME}" = http -o "${SCHEME}" = https; then break; fi; done
명령이 성공할 때까지 폴링해야 할 수도 있습니다.
정책 엔진에서 그래프를 검색합니다.
channel
에 유효한 버전을 지정해야 합니다. 예를 들어 OpenShift Container Platform 4.8에서 실행하는 경우stable-4.8
을 사용합니다.$ while sleep 10; do HTTP_CODE="$(curl --header Accept:application/json --output /dev/stderr --write-out "%{http_code}" "${POLICY_ENGINE_GRAPH_URI}?channel=stable-4.6")"; if test "${HTTP_CODE}" -eq 200; then break; fi; echo "${HTTP_CODE}"; done
이 경우 그래프 요청이 성공할 때까지 폴링되지만 미러링된 릴리스 이미지에 따라 결과 그래프가 비어 있을 수 있습니다.
정책 엔진 경로 이름은 RFC-1123을 기반으로 63자 이하여야 합니다. host must conform to DNS 1123 naming convention and must be no more than 63 characters
로 인해 CreateRouteFailed
이유와 함께 ReconcileCompleted
상태가 false
인 경우 더 짧은 이름으로 업데이트 서비스를 생성하십시오.
9.3.7.2.1. Cluster Version Operator (CVO) 구성
OpenShift Update Service Operator가 설치되고 OpenShift Update Service 애플리케이션이 생성된 후 로컬에 설치된 OpenShift Update Service에서 그래프 데이터를 가져오도록 CVO(Cluster Version Operator)를 업데이트할 수 있습니다.
전제 조건
- OpenShift Update Service Operator가 설치되었습니다.
- OpenShift Update Service graph-data 컨테이너 이미지가 생성되어 OpenShift Update Service에서 액세스할 수 있는 리포지토리로 푸시되었습니다.
- 현재 릴리스 및 업데이트 대상 릴리스는 로컬에 액세스 가능한 레지스트리로 미러링되었습니다.
- OpenShift Update Service 애플리케이션이 생성되었습니다.
프로세스
OpenShift Update Service 대상 네임스페이스를 설정합니다(예:
openshift-update-service
).$ NAMESPACE=openshift-update-service
OpenShift Update Service 애플리케이션의 이름을 설정합니다(예:
service
).$ NAME=service
정책 엔진 경로를 가져옵니다.
$ POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonpath='{.status.policyEngineURI}/api/upgrades_info/v1/graph{"\n"}' updateservice "${NAME}")"
풀 그래프 데이터의 패치를 설정합니다.
$ PATCH="{\"spec\":{\"upstream\":\"${POLICY_ENGINE_GRAPH_URI}\"}}"
CVO를 패치하여 로컬 OpenShift Update Service를 사용합니다.
$ oc patch clusterversion version -p $PATCH --type merge
업데이트 서버를 신뢰하도록 CA를 구성하려면 클러스터 전체의 프록시 활성화 를 참조하십시오.
9.3.8. OpenShift Update Service 애플리케이션 삭제
OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 OpenShift Update Service 애플리케이션을 삭제할 수 있습니다.
9.3.8.1. 웹 콘솔을 사용하여 OpenShift Update Service 애플리케이션 삭제
OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Update Service Operator로 OpenShift Update Service 애플리케이션을 삭제할 수 있습니다.
전제 조건
- OpenShift Update Service Operator가 설치되었습니다.
프로세스
-
웹 콘솔에서 Operator
Installed Operator를 클릭합니다. - 설치된 Operator 목록에서 OpenShift Update Service를 선택합니다.
- Update Service 탭을 클릭합니다.
- 설치된 OpenShift Update Service 애플리케이션 목록에서 삭제할 애플리케이션을 선택한 다음Delete UpdateService를 클릭합니다.
- Delete UpdateService? 확인 프롬프트에서 Delete를 클릭하여 삭제를 확인합니다.
9.3.8.2. CLI를 사용하여 OpenShift Update Service 애플리케이션 삭제
OpenShift CLI(oc
)를 사용하여 OpenShift Update Service 애플리케이션을 삭제할 수 있습니다.
프로세스
OpenShift Update Service 애플리케이션이 생성된 네임스페이스(예:
openshift-update-service
)를 사용하여 OpenShift Update Service 애플리케이션 이름을 가져옵니다.$ oc get updateservice -n openshift-update-service
출력 예
NAME AGE service 6s
이전 단계의
NAME
값과 OpenShift Update Service 애플리케이션이 생성된 네임스페이스(예:openshift-update-service
)를 사용하여 OpenShift Update Service 애플리케이션을 삭제합니다.$ oc delete updateservice service -n openshift-update-service
출력 예
updateservice.updateservice.operator.openshift.io "service" deleted
9.3.9. OpenShift Update Service Operator 설치 제거
OpenShift Update Service를 설치 제거하려면 먼저 OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 모든 OpenShift Update Service 애플리케이션을 삭제해야 합니다.
9.3.9.1. 웹 콘솔을 사용하여 OpenShift Update Service Operator 설치 제거
OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Update Service Operator를 설치 제거할 수 있습니다.
전제 조건
- 모든 OpenShift Update Service 애플리케이션이 삭제되어 있어야 합니다.
프로세스
-
웹 콘솔에서 Operator
Installed Operator를 클릭합니다. - 설치된 Operator 목록에서 OpenShift Update Service을 선택하고 Uninstall Operator를 클릭합니다.
- Uninstall Operator? 확인 대화 상자에서 Uninstall를 클릭하고 제거를 확인합니다.
9.3.9.2. CLI를 사용하여 OpenShift Update Service Operator 설치 제거
OpenShift CLI(oc
)를 사용하여 OpenShift Update Service Operator를 제거할 수 있습니다.
전제 조건
- 모든 OpenShift Update Service 애플리케이션이 삭제되어 있어야 합니다.
프로세스
OpenShift Update Service Operator가 포함된 프로젝트로 변경합니다(예:
openshift-update-service
).$ oc project openshift-update-service
출력 예
Now using project "openshift-update-service" on server "https://example.com:6443".
OpenShift Update Service Operator Operator 그룹의 이름을 가져옵니다.
$ oc get operatorgroup
출력 예
NAME AGE openshift-update-service-fprx2 4m41s
operator 그룹을 삭제합니다(예:
openshift-update-service-fprx2
).$ oc delete operatorgroup openshift-update-service-fprx2
출력 예
operatorgroup.operators.coreos.com "openshift-update-service-fprx2" deleted
OpenShift Update Service Operator 서브스크립션의 이름을 가져옵니다.
$ oc get subscription
출력 예
NAME PACKAGE SOURCE CHANNEL update-service-operator update-service-operator updateservice-index-catalog v1
이전 단계의
Name
값을 사용하여currentCSV
필드에서 구독한 OpenShift Update Service Operator의 현재 버전을 확인합니다.$ oc get subscription update-service-operator -o yaml | grep " currentCSV"
출력 예
currentCSV: update-service-operator.v0.0.1
서브스크립션을 삭제합니다(예:
update-service-operator
).$ oc delete subscription update-service-operator
출력 예
subscription.operators.coreos.com "update-service-operator" deleted
이전 단계의
currentCSV
값을 사용하여 OpenShift Update Service Operator의 CSV를 삭제합니다.$ oc delete clusterserviceversion update-service-operator.v0.0.1
출력 예
clusterserviceversion.operators.coreos.com "update-service-operator.v0.0.1" deleted