15.2. 단일 노드 OpenShift 클러스터에 대한 이미지 기반 업그레이드 준비
15.2.2. 이미지 기반 업그레이드를 위한 운영자 설치 링크 복사링크가 클립보드에 복사되었습니다!
Lifecycle Agent와 OADP Operator를 설치하여 클러스터를 업그레이드에 대비하세요.
GitOps가 아닌 방법으로 OADP Operator를 설치하려면 "OADP Operator 설치"를 참조하세요.
15.2.2.1. CLI를 사용하여 Lifecycle Agent 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI( oc
)를 사용하여 Lifecycle Agent를 설치할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
클러스터 관리자
권한이 있는 사용자로 로그인했습니다.
프로세스
Lifecycle Agent에 대한
네임스페이스
개체 YAML 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
네임스페이스
CR을 만듭니다.oc create -f <namespace_filename>.yaml
$ oc create -f <namespace_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent에 대한
OperatorGroup
개체 YAML 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
OperatorGroup
CR을 생성합니다.oc create -f <operatorgroup_filename>.yaml
$ oc create -f <operatorgroup_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lifecycle Agent에 대한
구독
CR을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
구독
CR을 만듭니다.oc create -f <subscription_filename>.yaml
$ oc create -f <subscription_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
설치가 성공했는지 확인하려면 다음 명령을 실행하여 CSV 리소스를 검사하세요.
oc get csv -n openshift-lifecycle-agent
$ oc get csv -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.19.0 Openshift Lifecycle Agent 4.19.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.19.0 Openshift Lifecycle Agent 4.19.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Lifecycle Agent가 실행 중인지 확인하세요.
oc get deploy -n openshift-lifecycle-agent
$ oc get deploy -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.2. 웹 콘솔을 사용하여 Lifecycle Agent 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 Lifecycle Agent를 설치할 수 있습니다.
사전 요구 사항
-
클러스터 관리자
권한이 있는 사용자로 로그인했습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 Operator
OperatorHub로 이동합니다. - 사용 가능한 운영자 목록에서 Lifecycle Agent를 검색한 다음 설치를 클릭합니다.
- Install Operator 페이지에서 클러스터의 특정 네임스페이스 아래에서 openshift-lifecycle-agent를 선택합니다.
- 설치를 클릭합니다.
검증
설치에 성공했는지 확인하려면 다음을 수행하십시오.
-
Operators
설치된 Operators를 클릭합니다. Lifecycle Agent가 openshift-lifecycle-agent 프로젝트에 InstallSucceeded Status 로 나열되어 있는지 확인하세요.
참고설치 중에 Operator는 실패 상태를 표시할 수 있습니다. 나중에 InstallSucceeded 메시지와 함께 설치에 성공하면 이 실패 메시지를 무시할 수 있습니다.
-
Operators
Operator가 성공적으로 설치되지 않은 경우 다음을 수행하십시오.
-
운영자
설치된 운영자를 클릭하고 운영자 구독 및 설치 계획 탭을 검사하여 상태 아래에 오류나 실패가 있는지 확인하세요. -
워크로드
Pod를 클릭하고 openshift-lifecycle-agent 프로젝트의 Pod에 대한 로그를 확인합니다.
15.2.2.3. GitOps ZTP를 사용하여 Lifecycle Agent 설치 링크 복사링크가 클립보드에 복사되었습니다!
이미지 기반 업그레이드를 수행하려면 GitOps Zero Touch Provisioning(ZTP)을 사용하여 Lifecycle Agent를 설치합니다.
프로세스
ztp-site-generate
컨테이너 이미지에서 다음 CR을 추출하여source-cr
디렉토리에 푸시합니다.LcaSubscriptionNS.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscriptionOperGroup.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscription.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 구조의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 공통 PolicyGenerator에 CR을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.4. GitOps ZTP를 사용하여 OADP Operator 설치 및 구성 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드를 시작하기 전에 GitOps ZTP로 OADP Operator를 설치하고 구성합니다.
프로세스
ztp-site-generate
컨테이너 이미지에서 다음 CR을 추출하여source-cr
디렉토리에 푸시합니다.OadpSubscriptionNS.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
OadpSubscriptionOperGroup.yaml
fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSubscription.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpOperatorStatus.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 구조의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 공통
PolicyGenTemplate
에 CR을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대상 클러스터에 대해서만
DataProtectionApplication
CR과 S3 비밀을 생성합니다.ztp-site-generate
컨테이너 이미지에서 다음 CR을 추출하여source-cr
디렉토리에 푸시합니다.OadpDataProtectionApplication.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이미지 기반 업그레이드의 경우
spec.configuration.restic.enable
필드를false
로 설정해야 합니다. 그 이유는 영구 볼륨 내용이 유지되고 업그레이드 후에도 재사용되기 때문입니다. - 2 3
- 버킷은 S3 백엔드에서 생성되는 버킷 이름을 정의합니다. 접두사는 버킷에 자동으로 생성되는 하위 디렉토리의 이름을 정의합니다. 버킷과 접두사의 조합은 각 대상 클러스터마다 고유해야 서로 간섭을 피할 수 있습니다. 각 대상 클러스터에 고유한 저장 디렉토리를 보장하려면 Red Hat Advanced Cluster Management 허브 템플릿 함수를 사용할 수 있습니다(예:
접두사: {{hub .ManagedClusterName hub}})
.
OadpSecret.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpBackupStorageLocationStatus.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
BackupStorageLocation
리소스의이름
값은<DataProtectionApplication.metadata.name>-<index>
패턴을 따라야 합니다.<index>
는DataProtectionApplication
리소스의spec.backupLocations
필드에 있는 해당backupLocations
항목의 위치를 나타냅니다. 위치는1
부터 시작합니다.OadpDataProtectionApplication.yaml
파일에서DataProtectionApplication
리소스의metadata.name
값이 변경되면BackupStorageLocation
리소스의metadata.name
필드도 그에 따라 업데이트합니다.
OadpBackupStorageLocationStatus.yaml
CR은 OADP에서 생성한 백업 스토리지 위치의 가용성을 확인합니다.사이트
PolicyGenTemplate
에 CR을 재정의하여 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- S3 스토리지 백엔드에 대한 자격 증명을 지정하세요.
- 2
OadpDataProtectionApplication
CR에 두 개 이상의backupLocations
항목이 정의된 경우 상태 추적을 위해 각 위치에 해당OadpBackupStorageLocation
CR이 추가되어 있는지 확인하세요. 예제OadpBackupStorageLocationStatus.yaml
파일에 설명된 대로 각 추가OadpBackupStorageLocation
CR의 이름이 올바른 인덱스로 재정의되었는지 확인하세요.- 3
- S3 호환 버킷의 URL을 지정하세요.
- 4 5
버킷은
S3 백엔드에서 생성되는 버킷 이름을 정의합니다.접두사는
버킷
에 자동으로 생성되는 하위 디렉토리의 이름을 정의합니다.버킷
과접두사
의 조합은 각 대상 클러스터마다 고유해야 서로 간섭을 피할 수 있습니다. 각 대상 클러스터에 고유한 저장 디렉토리를 보장하려면 Red Hat Advanced Cluster Management 허브 템플릿 함수를 사용할 수 있습니다(예:접두사: {{hub .ManagedClusterName hub}})
.
15.2.3. Lifecycle Agent를 사용하여 이미지 기반 업그레이드를 위한 시드 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
Lifecycle Agent를 사용하여 SeedGenerator
CR(사용자 정의 리소스)으로 시드 이미지를 생성합니다.
15.2.3.1. 시드 이미지 구성 링크 복사링크가 클립보드에 복사되었습니다!
시드 이미지는 동일한 하드웨어와 유사한 구성을 갖춘 단일 노드 OpenShift 클러스터 세트를 대상으로 합니다. 즉, 시드 이미지에는 시드 클러스터가 대상 클러스터와 공유하는 모든 구성 요소와 구성이 있어야 합니다. 따라서 시드 클러스터에서 생성된 시드 이미지에는 클러스터별 구성이 포함될 수 없습니다.
다음 표는 시드 이미지에 포함해야 하는 구성 요소, 리소스 및 구성과 포함하지 않아야 하는 구성 요소, 리소스 및 구성을 나열합니다.
클러스터 구성 | 시드 이미지에 포함 |
---|---|
성과 프로필 | 제공됨 |
대상 클러스터에 대한 | 제공됨 |
IP 버전 [1] | 제공됨 |
Lifecycle Agent 및 OADP Operator를 포함한 Day 2 Operator 세트 | 제공됨 |
연결이 끊긴 레지스트리 구성 [2] | 제공됨 |
유효한 프록시 구성 [3] | 제공됨 |
FIPS 구성 | 제공됨 |
대상 클러스터의 크기와 일치하는 컨테이너 스토리지를 위한 기본 디스크의 전용 파티션 | 제공됨 |
로컬 볼륨
| 없음 |
OADP | 없음 |
- 이 릴리스에서는 듀얼 스택 네트워킹이 지원되지 않습니다.
- 시드 클러스터가 연결이 끊긴 환경에 설치된 경우 대상 클러스터도 연결이 끊긴 환경에 설치해야 합니다.
- 프록시 구성은 시드 클러스터와 대상 클러스터 모두에서 활성화하거나 비활성화해야 합니다. 하지만 클러스터에 구성된 프록시 서버는 일치할 필요가 없습니다.
15.2.3.1.1. RAN DU 프로필을 사용한 시드 이미지 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 RAN DU 프로필을 사용할 때 시드 이미지에 포함해야 하는 구성 요소, 리소스 및 구성과 포함하지 않아야 하는 구성 요소, 리소스 및 구성을 나열합니다.
리소스 | 시드 이미지에 포함 |
---|---|
Day 0 설치의 일부로 적용되는 모든 추가 매니페스트 | 제공됨 |
모든 Day 2 Operator 서브스크립션 | 제공됨 |
| 제공됨 |
| 제공됨 |
| 제공됨 |
| 제공됨 |
| 제공됨 |
|
아니요, |
| 없음 |
| 없음 |
리소스 | 추가 매니페스트로 신청하세요 |
---|---|
| 제공됨 참고
DU 프로필에는 클러스터 로깅 운영자가 포함되어 있지만, 해당 프로필은 클러스터 로깅 운영자 CR을 구성하거나 적용하지 않습니다. 로그 전달을 활성화하려면 |
| 제공됨 |
| 제공됨 |
| 제공됨 |
| 제공됨 |
| 대상 클러스터의 인터페이스가 시드 클러스터와 공통인 경우 시드 이미지에 포함할 수 있습니다. 그렇지 않은 경우 추가 매니페스트로 적용하세요. |
| 네임스페이스를 포함한 구성이 시드 클러스터와 대상 클러스터에서 정확히 동일한 경우 시드 이미지에 포함할 수 있습니다. 그렇지 않은 경우 추가 매니페스트로 적용하세요. |
15.2.3.2. Lifecycle Agent를 사용하여 시드 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
Lifecycle Agent를 사용하여 관리되는 클러스터에서 시드 이미지를 생성합니다. 운영자는 필요한 시스템 구성을 확인하고, 시드 이미지를 생성하기 전에 필요한 시스템 정리를 수행하고, 이미지 생성을 시작합니다. 시드 이미지 생성에는 다음 작업이 포함됩니다.
- 클러스터 운영자 중지
- 시드 이미지 구성 준비
-
SeedGenerator
CR에 지정된 이미지 저장소에 시드 이미지를 생성하고 푸시합니다. - 클러스터 운영자 복원
- 만료되는 시드 클러스터 인증서
- 시드 클러스터에 대한 새 인증서 생성
-
시드 클러스터에서
SeedGenerator
CR 복원 및 업데이트
사전 요구 사항
- Kubernetes Operator용 RHACM 및 멀티클러스터 엔진이 시드 클러스터에 설치되지 않았습니다.
- 시드 클러스터에 공유 컨테이너 디렉토리를 구성했습니다.
- 시드 클러스터에 OADP Operator와 Lifecycle Agent의 최소 버전을 설치했습니다.
- 시드 클러스터에 영구 볼륨이 구성되지 않았는지 확인하세요.
-
Local Storage Operator를 사용하는 경우 시드 클러스터에
LocalVolume
CR이 존재하지 않는지 확인하세요. -
LVM 스토리지를 사용하는 경우 시드 클러스터에
LVMCluster
CR이 없는지 확인하세요. -
OADP를 사용하는 경우 시드 클러스터에
DataProtectionApplication
CR이 존재하지 않는지 확인하세요.
프로세스
시드 이미지에 포함되어서는 안 되는 시드 클러스터의 RHACM 관련 리소스를 삭제하려면 허브에서 관리되는 클러스터를 분리합니다.
다음 명령을 실행하여 시드 클러스터를 수동으로 분리합니다.
oc delete managedcluster sno-worker-example
$ oc delete managedcluster sno-worker-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
관리되는 클러스터가 제거될 때까지 기다리세요. 클러스터를 제거한 후 적절한
SeedGenerator
CR을 생성합니다. Lifecycle Agent는 RHACM 아티팩트를 정리합니다.
-
관리되는 클러스터가 제거될 때까지 기다리세요. 클러스터를 제거한 후 적절한
GitOps ZTP를 사용하는 경우
kustomization.yaml
에서 시드 클러스터의SiteConfig
CR을 제거하여 클러스터를 분리합니다.여러
SiteConfig
CR을 참조하는kustomization.yaml
파일이 있는 경우kustomization.yaml
에서 시드 클러스터의SiteConfig
CR을 제거하세요.Copy to Clipboard Copied! Toggle word wrap Toggle overflow SiteConfig
CR 하나를 참조하는kustomization.yaml
이 있는 경우kustomization.yaml
에서 시드 클러스터의SiteConfig
CR을 제거하고generators: {}
줄을 추가합니다.apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Git 저장소에
kustomization.yaml
변경 사항을 커밋하고 저장소에 변경 사항을 푸시합니다.ArgoCD 파이프라인은 변경 사항을 감지하고 관리되는 클러스터를 제거합니다.
레지스트리에 시드 이미지를 푸시할 수 있도록
Secret
객체를 만듭니다.다음 명령을 실행하여 인증 파일을 만듭니다.
MY_USER=myuserid AUTHFILE=/tmp/my-auth.json podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
$ MY_USER=myuserid $ AUTHFILE=/tmp/my-auth.json $ podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64 -w 0 ${AUTHFILE} ; echo
$ base64 -w 0 ${AUTHFILE} ; echo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-lifecycle-agent
네임스페이스의seedgen
이라는Secret
YAML 파일에 있는seedAuth
필드에 출력을 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
Secret
을 적용합니다.oc apply -f secretseedgenerator.yaml
$ oc apply -f secretseedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
SeedGenerator
CR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 시드 이미지를 생성합니다.
oc apply -f seedgenerator.yaml
$ oc apply -f seedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요Lifecycle Agent가 시드 이미지를 생성하는 동안 클러스터가 재부팅되고 API 기능이 손실됩니다.
SeedGenerator
CR을 적용하면kubelet
과 CRI-O 작업이 중지되고 이미지 생성이 시작됩니다.
더 많은 시드 이미지를 생성하려면 시드 이미지를 생성하려는 버전으로 새로운 시드 클러스터를 프로비저닝해야 합니다.
검증
클러스터가 복구되어 사용 가능해지면 다음 명령을 실행하여
SeedGenerator
CR의 상태를 확인할 수 있습니다.oc get seedgenerator -o yaml
$ oc get seedgenerator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 시드 이미지 생성이 완료되었습니다.
15.2.4. Lifecycle Agent를 사용하여 이미지 기반 업그레이드를 위한 ConfigMap 객체 생성 링크 복사링크가 클립보드에 복사되었습니다!
Lifecycle Agent는 이미지 기반 업그레이드를 처리하기 위해 ConfigMap
객체에 래핑된 모든 OADP 리소스, 추가 매니페스트 및 사용자 정의 카탈로그 소스가 필요합니다.
15.2.4.1. Lifecycle Agent를 사용하여 이미지 기반 업그레이드를 위한 OADP ConfigMap 객체 생성 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드 중에 리소스를 백업하고 복원하는 데 사용되는 OADP 리소스를 만듭니다.
사전 요구 사항
- 호환되는 시드 클러스터에서 시드 이미지를 생성했습니다.
- OADP 백업 및 복원 리소스를 생성했습니다.
- stateroots 간에 공유되는 컨테이너 이미지에 대해 대상 클러스터에 별도의 파티션을 생성했습니다. 자세한 내용은 "이미지 기반 업그레이드를 위한 공유 컨테이너 파티션 구성"을 참조하세요.
- 시드 이미지와 함께 사용된 버전과 호환되는 Lifecycle Agent 버전을 배포했습니다.
-
대상 클러스터에 OADP Operator,
DataProtectionApplication
CR 및 해당 비밀번호를 설치했습니다. - S3 호환 스토리지 솔루션을 만들었고, 적절한 자격 증명을 구성하여 바로 사용할 수 있는 버킷을 만들었습니다. 자세한 내용은 "OADP 설치에 관하여"를 참조하세요.
프로세스
OADP Operator가 설치된 동일한 네임스페이스
(openshift-adp)
에서 플랫폼 아티팩트에 대한 OADP백업
및복원
CR을 만듭니다.대상 클러스터가 RHACM에서 관리되는 경우 RHACM 아티팩트를 백업하고 복원하기 위해 다음 YAML 파일을 추가합니다.
RHACM용 PlatformBackupRestore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
multiclusterHub
CR에.spec.imagePullSecret
이 정의되어 있지 않고 허브 클러스터의open-cluster-management-agent
네임스페이스에 비밀이 없는 경우v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials를
제거합니다.
LVM 저장소를 통해 클러스터에 영구 볼륨을 생성한 경우 LVM 저장소 아티팩트에 대한 다음 YAML 파일을 추가합니다.
LVM 스토리지용 PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
값은 애플리케이션복원
CR에 지정된 값보다 낮아야 합니다.
업그레이드 후 애플리케이션을 복원해야 하는 경우
openshift-adp
네임스페이스에서 애플리케이션에 대한 OADP백업
및복원
CR을 만듭니다.openshift-adp
네임스페이스에서 클러스터 범위 애플리케이션 아티팩트에 대한 OADP CR을 만듭니다.LSO 및 LVM 스토리지에 대한 클러스터 범위 애플리케이션 아티팩트에 대한 OADP CR 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스 범위 애플리케이션 아티팩트에 대한 OADP CR을 만듭니다.
LSO가 사용될 때 OADP CR 네임스페이스 범위 애플리케이션 아티팩트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 애플리케이션에 맞는 사용자 정의 리소스를 정의합니다.
LVM 스토리지가 사용될 때 OADP CR 네임스페이스 범위 애플리케이션 아티팩트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요동일한 버전의 애플리케이션은 OpenShift Container Platform의 현재 릴리스와 대상 릴리스 모두에서 작동해야 합니다.
다음 명령을 실행하여 OADP CR에 대한
ConfigMap
객체를 만듭니다.oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
$ oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ImageBasedUpgrade
CR에 패치를 적용하세요.oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.4.2. Lifecycle Agent를 사용하여 이미지 기반 업그레이드를 위한 추가 매니페스트의 ConfigMap 객체 생성 링크 복사링크가 클립보드에 복사되었습니다!
대상 클러스터에 적용하려는 추가 매니페스트를 만듭니다.
두 개 이상의 매니페스트를 추가하고 매니페스트를 특정 순서로 적용해야 하는 경우, 매니페스트 파일 이름 앞에 필요한 순서를 나타내는 숫자를 접두사로 붙여야 합니다. 예를 들어, 00-namespace.yaml
, 01-sriov-extra-manifest.yaml
등입니다.
프로세스
SR-IOV와 같은 추가 매니페스트를 포함하는 YAML 파일을 만듭니다.
SR-IOV 리소스 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ConfigMap
객체를 만듭니다.oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
$ oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ImageBasedUpgrade
CR에 패치를 적용하세요.oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.4.3. Lifecycle Agent를 사용하여 이미지 기반 업그레이드를 위한 사용자 정의 카탈로그 소스의 ConfigMap 객체 생성 링크 복사링크가 클립보드에 복사되었습니다!
카탈로그 소스에 대한 ConfigMap
객체를 생성하고 이를 ImageBasedUpgrade
CR의 spec.extraManifest
필드에 추가하면 업그레이드 후에도 사용자 정의 카탈로그 소스를 유지할 수 있습니다. 카탈로그 소스에 대한 자세한 내용은 "카탈로그 소스"를 참조하세요.
프로세스
CatalogSource
CR을 포함하는 YAML 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ConfigMap
객체를 만듭니다.oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
$ oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ImageBasedUpgrade
CR에 패치를 적용하세요.oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.5. GitOps ZTP를 사용하여 Lifecycle Agent로 이미지 기반 업그레이드를 위한 ConfigMap 객체 생성 링크 복사링크가 클립보드에 복사되었습니다!
이미지 기반 업그레이드를 준비하기 위해 ConfigMap
오브젝트로 래핑된 추가 매니페스트 및 사용자 정의 카탈로그 소스를 생성합니다.
15.2.5.1. GitOps ZTP를 사용하여 이미지 기반 업그레이드를 위한 OADP 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드 후 애플리케이션을 복원하기 위해 OADP 리소스를 준비하세요.
사전 요구 사항
- GitOps ZTP를 사용하여 하나 이상의 관리형 클러스터를 프로비저닝했습니다.
-
클러스터 관리자
권한이 있는 사용자로 로그인했습니다. - 호환되는 시드 클러스터에서 시드 이미지를 생성했습니다.
- stateroots 간에 공유되는 컨테이너 이미지에 대해 대상 클러스터에 별도의 파티션을 생성했습니다. 자세한 내용은 "GitOps ZTP를 사용할 때 ostree stateroot 간 공유 컨테이너 파티션 구성"을 참조하세요.
- 시드 이미지와 함께 사용된 버전과 호환되는 Lifecycle Agent 버전을 배포했습니다.
-
대상 클러스터에 OADP Operator,
DataProtectionApplication
CR 및 해당 비밀번호를 설치했습니다. - S3 호환 스토리지 솔루션을 만들었고, 적절한 자격 증명을 구성하여 바로 사용할 수 있는 버킷을 만들었습니다. 자세한 내용은 "GitOps ZTP로 OADP Operator 설치 및 구성"을 참조하세요.
-
OADP
ConfigMap
개체에 대한openshift-adp
네임스페이스는 모든 관리형 클러스터에 존재해야 하며, OADPConfigMap이
생성되어 클러스터에 복사될 허브도 있어야 합니다.
프로세스
ArgoCD 정책 애플리케이션과 함께 사용하는 Git 저장소에 다음 디렉토리 구조가 포함되어 있는지 확인하세요.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source-crs/ibu/PlatformBackupRestoreWithIBGU.yaml
파일은 ZTP 컨테이너 이미지에 제공됩니다.PlatformBackupRestoreWithIBGU.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
multiclusterHub
CR에.spec.imagePullSecret
이 정의되어 있지 않고 허브 클러스터의open-cluster-management-agent
네임스페이스에 비밀이 없는 경우v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials를
제거합니다.
참고관리형 클러스터에서 이미지 기반 업그레이드를 직접 수행하는 경우
PlatformBackupRestore.yaml
파일을 사용합니다.LVM 스토리지를 사용하여 영구 볼륨을 생성하는 경우 ZTP 컨테이너 이미지에 제공된
source-crs/ibu/PlatformBackupRestoreLvms.yaml을
사용하여 LVM 스토리지 리소스를 백업할 수 있습니다.PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
값은 애플리케이션복원
CR에 지정된 값보다 낮아야 합니다.
업그레이드 후 애플리케이션을 복원해야 하는 경우
openshift-adp
네임스페이스에서 애플리케이션에 대한 OADP백업
및복원
CR을 만듭니다.openshift-adp
네임스페이스에서 클러스터 범위 애플리케이션 아티팩트에 대한 OADP CR을 만듭니다.LSO 및 LVM 스토리지에 대한 클러스터 범위 애플리케이션 아티팩트에 대한 OADP CR 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source-crs/custom-crs
디렉터리에서 네임스페이스 범위 애플리케이션 아티팩트에 대한 OADP CR을 만듭니다.LSO가 사용될 때 OADP CR 네임스페이스 범위 애플리케이션 아티팩트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 애플리케이션에 맞는 사용자 정의 리소스를 정의합니다.
LVM 스토리지가 사용될 때 OADP CR 네임스페이스 범위 애플리케이션 아티팩트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요동일한 버전의 애플리케이션은 OpenShift Container Platform의 현재 릴리스와 대상 릴리스 모두에서 작동해야 합니다.
다음 내용으로
kustomization.yaml을
만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 Git 저장소에 푸시합니다.
15.2.5.2. GitOps ZTP를 사용하여 이미지 기반 업그레이드에 대한 추가 매니페스트 레이블 지정 링크 복사링크가 클립보드에 복사되었습니다!
추가 매니페스트에 레이블을 지정하면 Lifecycle Agent가 lca.openshift.io/target-ocp-version: <target_version>
레이블이 지정된 리소스를 추출할 수 있습니다.
사전 요구 사항
- GitOps ZTP를 사용하여 하나 이상의 관리형 클러스터를 프로비저닝했습니다.
-
클러스터 관리자
권한이 있는 사용자로 로그인했습니다. - 호환되는 시드 클러스터에서 시드 이미지를 생성했습니다.
- stateroots 간에 공유되는 컨테이너 이미지에 대해 대상 클러스터에 별도의 파티션을 생성했습니다. 자세한 내용은 "GitOps ZTP를 사용할 때 ostree stateroots 간에 공유 컨테이너 디렉터리 구성"을 참조하세요.
- 시드 이미지와 함께 사용된 버전과 호환되는 Lifecycle Agent 버전을 배포했습니다.
프로세스
기존 사이트
PolicyGenTemplate
CR에서lca.openshift.io/target-ocp-version: <target_version>
레이블을 사용하여 필요한 추가 매니페스트에 레이블을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 Git 저장소에 푸시합니다.
15.2.6. 컨테이너 스토리지 디스크의 자동 이미지 정리 구성 링크 복사링크가 클립보드에 복사되었습니다!
주석을 통해 사용 가능한 저장 공간에 대한 최소 임계값을 설정하여 Lifecycle Agent가 준비
단계에서 고정 해제된 이미지를 정리하는 시기를 구성합니다. 기본 컨테이너 스토리지 디스크 사용 임계값은 50%입니다.
Lifecycle Agent는 CRI-O에 고정된 이미지나 현재 사용 중인 이미지를 삭제하지 않습니다. 운영자는 먼저 매달린 이미지부터 삭제하고, 이미지 생성
타임스탬프를 기준으로 가장 오래된 이미지부터 가장 최근 이미지 순으로 정렬합니다.
15.2.6.1. 컨테이너 스토리지 디스크의 자동 이미지 정리 구성 링크 복사링크가 클립보드에 복사되었습니다!
주석을 통해 사용 가능한 저장 공간에 대한 최소 임계값을 구성합니다.
사전 요구 사항
-
ImageBasedUpgrade
CR을 생성했습니다.
프로세스
다음 명령을 실행하여 임계값을 Cryostat로 늘립니다.
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (선택 사항) 다음 명령을 실행하여 임계값 재정의를 제거합니다.
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.6.2. 컨테이너 스토리지 디스크의 자동 이미지 정리를 비활성화합니다. 링크 복사링크가 클립보드에 복사되었습니다!
자동 이미지 정리 임계값을 비활성화합니다.
프로세스
다음 명령을 실행하여 자동 이미지 정리를 비활성화합니다.
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (선택 사항) 다음 명령을 실행하여 자동 이미지 정리를 다시 활성화합니다.
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow