인스턴스에 임시 수정 사항을 설치하려면 Engineering Lifecycle Management 인스턴스에 임시 수정 사항을 설치하려면 Engineering Lifecycle Management 연산자를 필요한 임시 수정 사항을 지원하는 버전으로 업그레이드해야 합니다( Kubernetes CLI 방법).
시작하기 전에
- 기존 설정이 오류 없이 작동하는지 확인합니다 Engineering Lifecycle Management 설정이 오류 없이 작동하고 모든 Engineering Lifecycle Management 애플리케이션에 액세스할 수 있는지 확인합니다.
- Engineering Lifecycle Management 운영자를 업그레이드할 수 있는 적절한 권한이 있는지 확인합니다. 사용자 역할에 대한 자세한 내용은 하이브리드 클라우드의 사용자 역할 매핑( Engineering Lifecycle Management )을 참조하세요
- 구독 승인 전략
다음 명령을 사용하여 설치된 구독에 대한 installPlanApproval 전략을 식별합니다
kubectl get subscriptions <subscription-name> -o jsonpath="{.spec.installPlanApproval}'" -n <namespace-name>
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get subscriptions ibm-elm-operator -o jsonpath="{.spec.installPlanApproval}'" -n example
프로시저
- 컨테이너 플랫폼에서 지원하는 명령을 사용하여 클러스터에 로그인합니다.
kubectl login --username=<cluster admin user> --password=<cluster admin password>
- 다음 명령을 사용하여 업그레이드할 운영자가 포함된 기본 프로젝트(네임스페이스)를 업그레이드할 운영자가 포함된 프로젝트로 설정합니다:
kubectl project <namespace>
- 다음 명령을 사용하여 이 프로젝트/네임스페이스의 모든 구독 목록을 가져옵니다:
kubectl get subscriptions
이 단계에서는 네임스페이스에 있는 구독 목록을 반환합니다
| 이름 |
패키지 |
소스 |
채널 |
ibm-elm-operator |
ibm-elm-operator |
ibm-elm-manifests |
release-elm7.1 |
받은 정보 목록에서 업그레이드해야 하는 운영자의 구독 이름(이름 열에서)과 해당 패키지 이름(패키지 열에서)을 확인합니다
- 업그레이드하려는 채널이 사용 가능한지 확인합니다. 이 릴리스에 사용 가능한 운영자 채널 버전을 가져오려면 이전 단계에서 반환된 정보를 사용하여 다음 명령에서 package-name을 다음과 같이 바꿉니다
kubectl get packagemanifests --selector=catalog=<catalog-source-name> -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n <catalog-source-namespace>
카탈로그 소스 이름 및
카탈로그 소스 네임스페이스의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get packagemanifests --selector=catalog=ibm-elm-manifests -o jsonpath='Avaiable Channels : {"\n\n"}{range .items[*].status.channels[*]}{.name}{"\n"}{end}' -n example
이 명령은 채널 목록을 반환하므로 업그레이드할 채널이 사용 가능한지 확인해야 합니다.
- 클러스터 관리자 또는 필요한 권한이 있는 사용자가 사용 가능한 운영자 버전으로 이동하려면 구독을 패치해야 합니다.
kubectl patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>
구독 이름, 사용 가능한 운영자 버전 및 네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
다음 명령을 사용하여 구독에 대한 채널이 업데이트되었는지 확인합니다.
kubectl get subscription <subscription-name> -o jsonpath='Update channel : {.spec.channel}' -n <namespae-name
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get subscription ibm-elm-operator -o jsonpath='Update channel : {.spec.channel}' -n example
- 구독 승인 전략 파악
- 자동 승인 전략을 통한 구독
운영자 배포에 대한 자동 승인 전략은 운영자의 새 버전이 선택한 채널에서 사용 가능한 최신 버전으로 자동 업그레이드되는 것을 의미합니다. 업그레이드는 클러스터 관리자 또는 필요한 권한이 있는 사용자의 수동 개입 및 승인 없이 이루어집니다.
다음 명령을 사용하여 설치된 운영자 버전이 채널에서 사용 가능한 최신 버전인지 확인합니다
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example
- 수동 승인 전략을 사용한 구독
운영자 배포에 대한 수동 승인 전략은 운영자의 새 버전이 선택한 채널에서 사용 가능한 최신 버전으로 업그레이드되지 않음을 의미합니다. 클러스터 관리자 또는 필요한 권한이 있는 사용자의 수동 개입과 승인이 필요합니다. 클러스터 관리자 또는 필요한 권한이 있는 사용자가 사용 가능한 운영자 버전으로 이동하려면 구독을 패치해야 합니다.
다음 명령을 사용하여 현재 채널에서 사용 가능한 운영자 버전을 나열합니다
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
현재 채널에서 사용 가능한 운영자 버전을 패치합니다.
kubectl patch subscription <subscription-name> --patch '{"spec":{"startingCSV":"<available-operator-version>"}}' --type=merge -n <namespace-name>
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl patch subscription ibm-elm-operator --patch '{"spec":{"startingCSV":"ibm-elm-operator.v1.1.0"}}' --type=merge -n example
- 승인 InstallPlan
InstallPlan 은 클러스터 관리자 또는 필요한 권한이 있는 사용자가 수동으로 승인해야 합니다. 승인되면 계획에 지정된 구성 요소의 요구 사항을 충족하는 리소스가 만들어집니다.
- 얻다 InstallPlan
kubectl patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>
구독 이름 및 네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
- 승인 InstallPlan
kubectl patch installplan <installplan-name> --patch '{"spec":{"approved":true}}' --type=merge -n <namespace-name>
설치 계획 이름 및 네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl patch installplan install-4hm69 --patch '{"spec":{"approved":true}}' --type=merge -n example
- 운영자 업그레이드 확인
업그레이드가 성공적으로 완료되면 설치된 운영자 버전과 사용 가능한 운영자 버전이 동일한지 확인합니다. 다음 명령을 사용하여 명령을 다시 실행하여 업그레이드를 확인하고 설치된 운영자 버전을 확인해야 합니다.
kubectl get subscription <subscription-name> -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n <namespace-name>
구독 이름 및
네임스페이스 이름의 자리 표시자를 바꿉니다. 예를 들어, 다음과 같습니다.
kubectl get subscription ibm-elm-operator -o jsonpath='Installed Operator Version : {.status.installedCSV} {"\n"}Available Operator Version : {.status.currentCSV}' -n example