Auto DevOps용 PostgreSQL 업그레이드
Auto DevOps용 PostgreSQL 업그레이드에 대해 설명합니다.
POSTGRES_ENABLED 가 true 인 경우 Auto DevOps는 애플리케이션에 클러스터 내 PostgreSQL 데이터베이스 를 제공합니다. PostgreSQL 프로비저닝에 사용되는 차트 버전: 0.7.1에서 8.2.1로 설정할 수 있습니다. GitLab은 사용자가 데이터베이스를 최신 PostgreSQL 차트로 마이그레이션하도록 권장합니다. 이 가이드는 다음을 포함하는 PostgreSQL 데이터베이스 마이그레이션 방법을 안내합니다: 데이터의 데이터베이스 덤프를 생성합니다. 최신 버전 8.2.1의 차트를 사용하여 새 PostgreSQL 데이터베이스를 설치하고 이전 PostgreSQL 설치를 제거합니다. 데이터베이스 덤프를 새 PostgreSQL에 복원합니다. 사전 요건 # kubectl 을 설치합니다. kubectl 을 사용하여 Kubernetes 클러스터에 접근할 수 있는지 확인합니다. 이는 Kubernetes 공급자에 따라 다릅니다. 다운타임을 준비합니다. 아래 단계에는 데이터베이스 덤프가 생성된 후 클러스터 내 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환하는 것이 포함됩니다. POSTGRES_ENABLED 를 false 로 설정하지 않았는지 확인합니다. 이 설정은 기존 채널 1 데이터베이스를 삭제합니다. Note Auto DevOps를 스테이징과 함께 구성한 경우 먼저 스테이징에서 백업 및 복원 단계를 시도하거나 리뷰 앱에서 시도해 보세요. 애플리케이션 오프라인 전환 # 필요한 경우 데이터베이스 덤프 생성 후 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환합니다. 환경의 Kubernetes 네임스페이스를 가져옵니다. 일반적으로 <project-name>-<project-id>-<environment> 형식입니다. 이 예에서 네임스페이스는 minimal-ruby-app-4349298-production 입니다. $ kubectl get ns NAME STATUS AGE minimal-ruby-app-4349298-production Active 7d14h 편의를 위해 네임스페이스 이름을 내보냅니다: export APP_NAMESPACE=minimal-ruby-app-4349298-production 다음 명령으로 애플리케이션의 배포 이름을 가져옵니다. 이 예에서 배포 이름은 production 입니다. $ kubectl get deployment --namespace " $APP_NAMESPACE " NAME READY UP-TO-DATE AVAILABLE AGE production 2/2 2 2 7d21h production-postgres 1/1 1 1 7d21h 데이터베이스가 수정되지 않도록 다음 명령으로 배포의 복제본을 0으로 설정합니다. 이전 단계의 배포 이름( deployments/ )을 사용합니다. $ kubectl scale --replicas=0 deployments/production --namespace " $APP_NAMESPACE " deploy
