13.4. QuayEcosystem 업그레이드
제한된 구성 집합에 QuayEcosystem API를 사용하는 이전 버전의 Operator에서 업그레이드가 지원됩니다. 마이그레이션이 예기치 않게 발생하지 않도록 하려면 이를 마이그레이션하려면 QuayEcosystem 에 특수 레이블을 적용해야 합니다. Operator가 관리할 수 있도록 새 QuayRegistry 가 생성되지만, 문제가 발생하는 경우에도 QuayEcosystem 을 롤백하고 Quay에 계속 액세스할 수 있도록 이전 QuayEcosystem이 수동으로 삭제될 때까지 유지됩니다. 기존 QuayEcosystem 을 새 QuayRegistry 로 마이그레이션하려면 다음 단계를 따르십시오.
QuayEcosystem의metadata.labels에"quay-operator/migrate": "true"를 추가합니다.$ oc edit quayecosystem <quayecosystemname>metadata: labels: quay-operator/migrate: "true"-
QuayEcosystem과 동일한metadata.name을 사용하여QuayRegistry가 생성될 때까지 기다립니다.QuayEcosystem은"quay-operator/migration-complete": "true"라벨이 표시됩니다. -
새
QuayRegistry의status.registryEndpoint가 설정되면 Quay에 액세스하여 모든 데이터 및 설정이 성공적으로 마이그레이션되었는지 확인합니다. -
모든 항목이 올바르게 작동했다고 확신하면
QuayEcosystem을 삭제할 수 있으며 Kubernetes 가비지 컬렉션은 이전 리소스를 모두 정리합니다.
13.4.1. QuayEcosystem 업그레이드 되돌리기 링크 복사링크가 클립보드에 복사되었습니다!
QuayEcosystem 에서 QuayRegistry 로 자동 업그레이드하는 동안 문제가 발생하면 다음 단계에 따라 QuayEcosystem 을 사용하여 되돌아갑니다.
UI 또는
kubectl을 사용하여QuayRegistry를 삭제합니다.$ kubectl delete -n <namespace> quayregistry <quayecosystem-name>-
경로를 사용하여 외부 액세스가 제공된 경우 UI 또는kubectl을 사용하여 원래서비스를가리키도록경로를 변경합니다.
QuayEcosystem 에서 Postgres 데이터베이스를 관리하는 경우 업그레이드 프로세스에서 업그레이드된 Operator가 관리하는 새 Postgres 데이터베이스로 데이터를 마이그레이션합니다. 이전 데이터베이스는 변경 또는 제거되지 않지만 마이그레이션이 완료되면 더 이상 Quay를 사용하지 않습니다. 데이터 마이그레이션 중에 문제가 발생하면 업그레이드 프로세스가 종료되고 관리되지 않는 구성 요소로 데이터베이스를 계속 사용하는 것이 좋습니다.
13.4.2. 업그레이드를 위해 지원되는 QuayEcosystem 구성 링크 복사링크가 클립보드에 복사되었습니다!
Quay Operator는 QuayEcosystem 구성 요소를 마이그레이션하는 데 실패하거나 지원되지 않는 경우 로그 및 status.conditions 에서 오류를 보고합니다. Kubernetes 리소스를 채택할 필요가 없으며 필요한 모든 값은 Quay의 config.yaml 에서 이미 제공되므로 관리되지 않는 모든 구성 요소를 성공적으로 마이그레이션해야 합니다.
데이터베이스
임시 데이터베이스가 지원되지 않습니다(volumeSize 필드를 설정해야 함).
Redis
특별한 필요 없습니다.
외부 액세스
자동 마이그레이션에는 패스스루 경로 액세스만 지원됩니다. 다른 방법에 필요한 수동 마이그레이션
-
사용자 지정 호스트 이름이 없는
LoadBalancer:QuayEcosystem이"quay-operator/migration-complete": "true"레이블로 표시된 후QuayEcosystem에서metadata.ownerReferences필드를 기존서비스에서삭제 하여 Kubernetes가서비스를가비지 수집하지 못하도록 하고 로드 밸런서를 제거합니다.metadata.name형식 <QuayEcosystem-name>-quay-app으로 새서비스가생성됩니다. 기존 서비스의spec.selector를 새서비스의spec.selector와 일치하도록 편집하여 이전 로드 밸런서 끝점에 대한 트래픽이 이제 새 Pod로 이동합니다.이제 이전서비스를담당합니다. Quay Operator는 이를 관리하지 않습니다. -
사용자 지정 호스트 이름이 있는
LoadBalancer/NodePort/Ingress:LoadBalancer유형의 새로운서비스는metadata.name형식 <QuayEcosystem-name>-quay-app으로 생성됩니다. 새서비스에서제공하는status.loadBalancer엔드포인트를 가리키도록 DNS 설정을 변경합니다.
Clair
특별한 필요 없습니다.
오브젝트 스토리지
QuayEcosystem 에는 관리형 개체 스토리지 구성 요소가 없으므로 오브젝트 스토리지는 항상 관리되지 않는 것으로 표시됩니다. 로컬 스토리지는 지원되지 않습니다.
저장소 미러링
특별한 필요 없습니다.
추가 리소스
- Red Hat Quay Operator에 대한 자세한 내용은 업스트림 quay-operator 프로젝트를 참조하십시오.