InfoGrab Docs

Auto DevOps용 PostgreSQL 업그레이드

요약

POSTGRES_ENABLED가 true인 경우 Auto DevOps는 애플리케이션에 클러스터 내 PostgreSQL 데이터베이스를 제공합니다. PostgreSQL 프로비저닝에 사용되는 차트 버전: GitLab은 사용자가 데이터베이스를 최신 PostgreSQL 차트로 마이그레이션하도록 권장합니다.

POSTGRES_ENABLEDtrue인 경우 Auto DevOps는 애플리케이션에 클러스터 내 PostgreSQL 데이터베이스를 제공합니다.

PostgreSQL 프로비저닝에 사용되는 차트 버전:

  • 0.7.1에서 8.2.1로 설정할 수 있습니다.

GitLab은 사용자가 데이터베이스를 최신 PostgreSQL 차트로 마이그레이션하도록 권장합니다.

이 가이드는 다음을 포함하는 PostgreSQL 데이터베이스 마이그레이션 방법을 안내합니다:

  1. 데이터의 데이터베이스 덤프를 생성합니다.
  2. 최신 버전 8.2.1의 차트를 사용하여 새 PostgreSQL 데이터베이스를 설치하고 이전 PostgreSQL 설치를 제거합니다.
  3. 데이터베이스 덤프를 새 PostgreSQL에 복원합니다.

사전 요건#

  1. kubectl을 설치합니다.
  2. kubectl을 사용하여 Kubernetes 클러스터에 접근할 수 있는지 확인합니다. 이는 Kubernetes 공급자에 따라 다릅니다.
  3. 다운타임을 준비합니다. 아래 단계에는 데이터베이스 덤프가 생성된 후 클러스터 내 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환하는 것이 포함됩니다.
  4. POSTGRES_ENABLEDfalse로 설정하지 않았는지 확인합니다. 이 설정은 기존 채널 1 데이터베이스를 삭제합니다.
Note

Auto DevOps를 스테이징과 함께 구성한 경우 먼저 스테이징에서 백업 및 복원 단계를 시도하거나 리뷰 앱에서 시도해 보세요.

애플리케이션 오프라인 전환#

필요한 경우 데이터베이스 덤프 생성 후 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환합니다.

  1. 환경의 Kubernetes 네임스페이스를 가져옵니다. 일반적으로 <project-name>-<project-id>-<environment> 형식입니다. 이 예에서 네임스페이스는 minimal-ruby-app-4349298-production입니다.

    $ kubectl get ns
    
    NAME                                                  STATUS   AGE
    minimal-ruby-app-4349298-production                   Active   7d14h
    
  2. 편의를 위해 네임스페이스 이름을 내보냅니다:

    export APP_NAMESPACE=minimal-ruby-app-4349298-production
    
  3. 다음 명령으로 애플리케이션의 배포 이름을 가져옵니다. 이 예에서 배포 이름은 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
    
  4. 데이터베이스가 수정되지 않도록 다음 명령으로 배포의 복제본을 0으로 설정합니다. 이전 단계의 배포 이름(deployments/)을 사용합니다.

    $ kubectl scale --replicas=0 deployments/production --namespace "$APP_NAMESPACE"
    deployment.extensions/production scaled
    
  5. 워커가 있는 경우 워커의 복제본도 0으로 설정해야 합니다.

백업#

  1. PostgreSQL의 서비스 이름을 가져옵니다. 서비스 이름은 -postgres로 끝나야 합니다. 이 예에서 서비스 이름은 production-postgres입니다.

    $ kubectl get svc --namespace "$APP_NAMESPACE"
    NAME                     TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE
    production-auto-deploy   ClusterIP   10.30.13.90   <none>        5000/TCP   7d14h
    production-postgres      ClusterIP   10.30.4.57    <none>        5432/TCP   7d14h
    
  2. 다음 명령으로 PostgreSQL의 파드 이름을 가져옵니다. 이 예에서 파드 이름은 production-postgres-5db86568d7-qxlxv입니다.

    $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=production-postgres
    NAME                                   READY   STATUS    RESTARTS   AGE
    production-postgres-5db86568d7-qxlxv   1/1     Running   0          7d14h
    
  3. 다음 명령으로 파드에 연결합니다:

    kubectl exec -it production-postgres-5db86568d7-qxlxv --namespace "$APP_NAMESPACE" -- bash
    
  4. 연결되면 다음 명령으로 덤프 파일을 생성합니다.

    • SERVICE_NAME은 이전 단계에서 가져온 서비스 이름입니다.

    • USERNAME은 PostgreSQL에 대해 구성한 사용자 이름입니다. 기본값은 user입니다.

    • DATABASE_NAME은 일반적으로 환경 이름입니다.

    • 데이터베이스 비밀번호를 입력하라는 메시지가 표시되면 기본값은 testing-password입니다.

      ## Format is:
      # pg_dump -h SERVICE_NAME -U USERNAME DATABASE_NAME > /tmp/backup.sql
      
      pg_dump -h production-postgres -U user production > /tmp/backup.sql
      
  5. 백업 덤프가 완료되면 Control-D를 누르거나 exit를 입력하여 Kubernetes exec 프로세스를 종료합니다.

  6. 다음 명령으로 덤프 파일을 다운로드합니다:

    kubectl cp --namespace "$APP_NAMESPACE" production-postgres-5db86568d7-qxlxv:/tmp/backup.sql backup.sql
    

영구 볼륨 유지#

기본적으로 PostgreSQL의 기본 데이터를 저장하는 데 사용되는 영구 볼륨은 볼륨을 사용하는 파드 및 파드 클레임이 삭제될 때 Delete로 표시됩니다.

이것은 중요한데, 최신 8.2.1 PostgreSQL을 선택하면 이전 0.7.1 PostgreSQL이 삭제되어 영구 볼륨도 삭제되기 때문입니다.

다음 명령을 사용하여 이를 확인할 수 있습니다:

$ kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                     STORAGECLASS   REASON   AGE
pvc-0da80c08-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Delete           Bound    minimal-ruby-app-4349298-staging/staging-postgres         standard                7d22h
pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Delete           Bound    minimal-ruby-app-4349298-production/production-postgres   standard                7d22h

이전 0.7.1 PostgreSQL이 삭제되어도 영구 볼륨을 유지하려면 보존 정책을 Retain으로 변경합니다. 이 예에서 영구 볼륨 이름은 클레임 이름을 보고 찾을 수 있습니다. minimal-ruby-app-4349298 애플리케이션의 스테이징 및 프로덕션 환경 볼륨을 유지하려면 볼륨 이름은 pvc-0da80c08-5239-11ea-9c8d-42010a8e0096pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096입니다:

$ kubectl patch pv  pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
persistentvolume/pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 patched
$ kubectl patch pv  pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
persistentvolume/pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 patched
$ kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                     STORAGECLASS   REASON   AGE
pvc-0da80c08-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Retain           Bound    minimal-ruby-app-4349298-staging/staging-postgres         standard                7d22h
pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Retain           Bound    minimal-ruby-app-4349298-production/production-postgres   standard                7d22h

새 PostgreSQL 설치#

Warning

최신 버전의 PostgreSQL을 사용하면 이전 0.7.1 PostgreSQL이 삭제됩니다. 기본 데이터가 삭제되지 않도록 영구 볼륨을 유지하도록 선택할 수 있습니다.

아래 단계를 수정하여 AUTO_DEVOPS_POSTGRES_CHANNEL, AUTO_DEVOPS_POSTGRES_DELETE_V1POSTGRES_VERSION 변수를 예를 들어 staging과 같은 특정 환경으로 범위를 지정할 수도 있습니다.

  1. AUTO_DEVOPS_POSTGRES_CHANNEL2로 설정합니다. 이렇게 하면 최신 8.2.1 기반 PostgreSQL을 사용하도록 선택하고 이전 0.7.1 기반 PostgreSQL을 제거합니다.
  2. AUTO_DEVOPS_POSTGRES_DELETE_V1을 비어 있지 않은 값으로 설정합니다. 이 플래그는 데이터베이스의 실수로 인한 삭제를 방지하는 안전 장치입니다.
  3. POSTGRES_VERSION이 설정된 경우 9.6.16 이상으로 설정되어 있는지 확인합니다. 이것은 Auto DevOps에서 지원하는 최소 PostgreSQL 버전입니다. 사용 가능한 태그 목록도 참조하세요.
  4. PRODUCTION_REPLICAS0으로 설정합니다. 다른 환경의 경우 환경 범위와 함께 REPLICAS를 사용합니다.
  5. DB_INITIALIZE 또는 DB_MIGRATE 변수를 설정한 경우 변수를 제거하거나 일시적으로 XDB_INITIALIZE 또는 XDB_MIGRATE로 이름을 변경하여 효과적으로 비활성화합니다.
  6. 브랜치에 대한 새 CI 파이프라인을 실행합니다. 이 경우 main에 대한 새 CI 파이프라인을 실행합니다.
  7. 파이프라인이 성공하면 애플리케이션이 새 PostgreSQL이 설치된 상태로 업그레이드됩니다. 이 시점에 복제본이 0개이므로 애플리케이션에 대한 트래픽이 제공되지 않습니다(새 데이터가 유입되는 것을 방지하기 위해).

복원#

  1. 새 PostgreSQL의 파드 이름을 가져옵니다. 이 예에서 파드 이름은 production-postgresql-0입니다:

    $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=postgresql
    NAME                      READY   STATUS    RESTARTS   AGE
    production-postgresql-0   1/1     Running   0          19m
    
  2. 백업 단계의 덤프 파일을 파드에 복사합니다:

    kubectl cp --namespace "$APP_NAMESPACE" backup.sql production-postgresql-0:/tmp/backup.sql
    
  3. 파드에 연결합니다:

    kubectl exec -it production-postgresql-0 --namespace "$APP_NAMESPACE" -- bash
    
  4. 파드에 연결되면 다음 명령을 실행하여 데이터베이스를 복원합니다.

    • 데이터베이스 비밀번호를 입력하라는 메시지가 표시되면 기본값은 testing-password입니다.
    • USERNAME은 PostgreSQL에 대해 구성한 사용자 이름입니다. 기본값은 user입니다.
    • DATABASE_NAME은 일반적으로 환경 이름입니다.
    ## Format is:
    # psql -U USERNAME -d DATABASE_NAME < /tmp/backup.sql
    
    psql -U user -d production < /tmp/backup.sql
    
  5. 복원이 완료된 후 데이터가 올바르게 복원되었는지 확인할 수 있습니다. psql을 사용하여 데이터를 점검할 수 있습니다.

애플리케이션 재개#

데이터베이스가 복원되었다고 확인되면 다음 단계를 실행하여 애플리케이션을 재개합니다:

  1. 이전에 제거하거나 비활성화한 경우 DB_INITIALIZEDB_MIGRATE 변수를 복원합니다.
  2. PRODUCTION_REPLICAS 또는 REPLICAS 변수를 원래 값으로 복원합니다.
  3. 브랜치에 대한 새 CI 파이프라인을 실행합니다. 이 경우 main에 대한 새 CI 파이프라인을 실행합니다. 파이프라인이 성공하면 애플리케이션이 이전처럼 트래픽을 처리해야 합니다.

Auto DevOps용 PostgreSQL 업그레이드

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

POSTGRES_ENABLED가 true인 경우 Auto DevOps는 애플리케이션에 클러스터 내 PostgreSQL 데이터베이스를 제공합니다. PostgreSQL 프로비저닝에 사용되는 차트 버전: GitLab은 사용자가 데이터베이스를 최신 PostgreSQL 차트로 마이그레이션하도록 권장합니다.

POSTGRES_ENABLEDtrue인 경우 Auto DevOps는 애플리케이션에 클러스터 내 PostgreSQL 데이터베이스를 제공합니다.

PostgreSQL 프로비저닝에 사용되는 차트 버전:

  • 0.7.1에서 8.2.1로 설정할 수 있습니다.

GitLab은 사용자가 데이터베이스를 최신 PostgreSQL 차트로 마이그레이션하도록 권장합니다.

이 가이드는 다음을 포함하는 PostgreSQL 데이터베이스 마이그레이션 방법을 안내합니다:

  1. 데이터의 데이터베이스 덤프를 생성합니다.
  2. 최신 버전 8.2.1의 차트를 사용하여 새 PostgreSQL 데이터베이스를 설치하고 이전 PostgreSQL 설치를 제거합니다.
  3. 데이터베이스 덤프를 새 PostgreSQL에 복원합니다.

사전 요건#

  1. kubectl을 설치합니다.
  2. kubectl을 사용하여 Kubernetes 클러스터에 접근할 수 있는지 확인합니다. 이는 Kubernetes 공급자에 따라 다릅니다.
  3. 다운타임을 준비합니다. 아래 단계에는 데이터베이스 덤프가 생성된 후 클러스터 내 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환하는 것이 포함됩니다.
  4. POSTGRES_ENABLEDfalse로 설정하지 않았는지 확인합니다. 이 설정은 기존 채널 1 데이터베이스를 삭제합니다.
Note

Auto DevOps를 스테이징과 함께 구성한 경우 먼저 스테이징에서 백업 및 복원 단계를 시도하거나 리뷰 앱에서 시도해 보세요.

애플리케이션 오프라인 전환#

필요한 경우 데이터베이스 덤프 생성 후 데이터베이스가 수정되지 않도록 애플리케이션을 오프라인으로 전환합니다.

  1. 환경의 Kubernetes 네임스페이스를 가져옵니다. 일반적으로 <project-name>-<project-id>-<environment> 형식입니다. 이 예에서 네임스페이스는 minimal-ruby-app-4349298-production입니다.

    $ kubectl get ns
    
    NAME                                                  STATUS   AGE
    minimal-ruby-app-4349298-production                   Active   7d14h
    
  2. 편의를 위해 네임스페이스 이름을 내보냅니다:

    export APP_NAMESPACE=minimal-ruby-app-4349298-production
    
  3. 다음 명령으로 애플리케이션의 배포 이름을 가져옵니다. 이 예에서 배포 이름은 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
    
  4. 데이터베이스가 수정되지 않도록 다음 명령으로 배포의 복제본을 0으로 설정합니다. 이전 단계의 배포 이름(deployments/)을 사용합니다.

    $ kubectl scale --replicas=0 deployments/production --namespace "$APP_NAMESPACE"
    deployment.extensions/production scaled
    
  5. 워커가 있는 경우 워커의 복제본도 0으로 설정해야 합니다.

백업#

  1. PostgreSQL의 서비스 이름을 가져옵니다. 서비스 이름은 -postgres로 끝나야 합니다. 이 예에서 서비스 이름은 production-postgres입니다.

    $ kubectl get svc --namespace "$APP_NAMESPACE"
    NAME                     TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE
    production-auto-deploy   ClusterIP   10.30.13.90   <none>        5000/TCP   7d14h
    production-postgres      ClusterIP   10.30.4.57    <none>        5432/TCP   7d14h
    
  2. 다음 명령으로 PostgreSQL의 파드 이름을 가져옵니다. 이 예에서 파드 이름은 production-postgres-5db86568d7-qxlxv입니다.

    $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=production-postgres
    NAME                                   READY   STATUS    RESTARTS   AGE
    production-postgres-5db86568d7-qxlxv   1/1     Running   0          7d14h
    
  3. 다음 명령으로 파드에 연결합니다:

    kubectl exec -it production-postgres-5db86568d7-qxlxv --namespace "$APP_NAMESPACE" -- bash
    
  4. 연결되면 다음 명령으로 덤프 파일을 생성합니다.

    • SERVICE_NAME은 이전 단계에서 가져온 서비스 이름입니다.

    • USERNAME은 PostgreSQL에 대해 구성한 사용자 이름입니다. 기본값은 user입니다.

    • DATABASE_NAME은 일반적으로 환경 이름입니다.

    • 데이터베이스 비밀번호를 입력하라는 메시지가 표시되면 기본값은 testing-password입니다.

      ## Format is:
      # pg_dump -h SERVICE_NAME -U USERNAME DATABASE_NAME > /tmp/backup.sql
      
      pg_dump -h production-postgres -U user production > /tmp/backup.sql
      
  5. 백업 덤프가 완료되면 Control-D를 누르거나 exit를 입력하여 Kubernetes exec 프로세스를 종료합니다.

  6. 다음 명령으로 덤프 파일을 다운로드합니다:

    kubectl cp --namespace "$APP_NAMESPACE" production-postgres-5db86568d7-qxlxv:/tmp/backup.sql backup.sql
    

영구 볼륨 유지#

기본적으로 PostgreSQL의 기본 데이터를 저장하는 데 사용되는 영구 볼륨은 볼륨을 사용하는 파드 및 파드 클레임이 삭제될 때 Delete로 표시됩니다.

이것은 중요한데, 최신 8.2.1 PostgreSQL을 선택하면 이전 0.7.1 PostgreSQL이 삭제되어 영구 볼륨도 삭제되기 때문입니다.

다음 명령을 사용하여 이를 확인할 수 있습니다:

$ kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                     STORAGECLASS   REASON   AGE
pvc-0da80c08-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Delete           Bound    minimal-ruby-app-4349298-staging/staging-postgres         standard                7d22h
pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Delete           Bound    minimal-ruby-app-4349298-production/production-postgres   standard                7d22h

이전 0.7.1 PostgreSQL이 삭제되어도 영구 볼륨을 유지하려면 보존 정책을 Retain으로 변경합니다. 이 예에서 영구 볼륨 이름은 클레임 이름을 보고 찾을 수 있습니다. minimal-ruby-app-4349298 애플리케이션의 스테이징 및 프로덕션 환경 볼륨을 유지하려면 볼륨 이름은 pvc-0da80c08-5239-11ea-9c8d-42010a8e0096pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096입니다:

$ kubectl patch pv  pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
persistentvolume/pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 patched
$ kubectl patch pv  pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
persistentvolume/pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 patched
$ kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                     STORAGECLASS   REASON   AGE
pvc-0da80c08-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Retain           Bound    minimal-ruby-app-4349298-staging/staging-postgres         standard                7d22h
pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096   8Gi        RWO            Retain           Bound    minimal-ruby-app-4349298-production/production-postgres   standard                7d22h

새 PostgreSQL 설치#

Warning

최신 버전의 PostgreSQL을 사용하면 이전 0.7.1 PostgreSQL이 삭제됩니다. 기본 데이터가 삭제되지 않도록 영구 볼륨을 유지하도록 선택할 수 있습니다.

아래 단계를 수정하여 AUTO_DEVOPS_POSTGRES_CHANNEL, AUTO_DEVOPS_POSTGRES_DELETE_V1POSTGRES_VERSION 변수를 예를 들어 staging과 같은 특정 환경으로 범위를 지정할 수도 있습니다.

  1. AUTO_DEVOPS_POSTGRES_CHANNEL2로 설정합니다. 이렇게 하면 최신 8.2.1 기반 PostgreSQL을 사용하도록 선택하고 이전 0.7.1 기반 PostgreSQL을 제거합니다.
  2. AUTO_DEVOPS_POSTGRES_DELETE_V1을 비어 있지 않은 값으로 설정합니다. 이 플래그는 데이터베이스의 실수로 인한 삭제를 방지하는 안전 장치입니다.
  3. POSTGRES_VERSION이 설정된 경우 9.6.16 이상으로 설정되어 있는지 확인합니다. 이것은 Auto DevOps에서 지원하는 최소 PostgreSQL 버전입니다. 사용 가능한 태그 목록도 참조하세요.
  4. PRODUCTION_REPLICAS0으로 설정합니다. 다른 환경의 경우 환경 범위와 함께 REPLICAS를 사용합니다.
  5. DB_INITIALIZE 또는 DB_MIGRATE 변수를 설정한 경우 변수를 제거하거나 일시적으로 XDB_INITIALIZE 또는 XDB_MIGRATE로 이름을 변경하여 효과적으로 비활성화합니다.
  6. 브랜치에 대한 새 CI 파이프라인을 실행합니다. 이 경우 main에 대한 새 CI 파이프라인을 실행합니다.
  7. 파이프라인이 성공하면 애플리케이션이 새 PostgreSQL이 설치된 상태로 업그레이드됩니다. 이 시점에 복제본이 0개이므로 애플리케이션에 대한 트래픽이 제공되지 않습니다(새 데이터가 유입되는 것을 방지하기 위해).

복원#

  1. 새 PostgreSQL의 파드 이름을 가져옵니다. 이 예에서 파드 이름은 production-postgresql-0입니다:

    $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=postgresql
    NAME                      READY   STATUS    RESTARTS   AGE
    production-postgresql-0   1/1     Running   0          19m
    
  2. 백업 단계의 덤프 파일을 파드에 복사합니다:

    kubectl cp --namespace "$APP_NAMESPACE" backup.sql production-postgresql-0:/tmp/backup.sql
    
  3. 파드에 연결합니다:

    kubectl exec -it production-postgresql-0 --namespace "$APP_NAMESPACE" -- bash
    
  4. 파드에 연결되면 다음 명령을 실행하여 데이터베이스를 복원합니다.

    • 데이터베이스 비밀번호를 입력하라는 메시지가 표시되면 기본값은 testing-password입니다.
    • USERNAME은 PostgreSQL에 대해 구성한 사용자 이름입니다. 기본값은 user입니다.
    • DATABASE_NAME은 일반적으로 환경 이름입니다.
    ## Format is:
    # psql -U USERNAME -d DATABASE_NAME < /tmp/backup.sql
    
    psql -U user -d production < /tmp/backup.sql
    
  5. 복원이 완료된 후 데이터가 올바르게 복원되었는지 확인할 수 있습니다. psql을 사용하여 데이터를 점검할 수 있습니다.

애플리케이션 재개#

데이터베이스가 복원되었다고 확인되면 다음 단계를 실행하여 애플리케이션을 재개합니다:

  1. 이전에 제거하거나 비활성화한 경우 DB_INITIALIZEDB_MIGRATE 변수를 복원합니다.
  2. PRODUCTION_REPLICAS 또는 REPLICAS 변수를 원래 값으로 복원합니다.
  3. 브랜치에 대한 새 CI 파이프라인을 실행합니다. 이 경우 main에 대한 새 CI 파이프라인을 실행합니다. 파이프라인이 성공하면 애플리케이션이 이전처럼 트래픽을 처리해야 합니다.