메인 콘텐츠로 건너뛰기
이 섹션에서는 ABBYY Vantage를 제공되는 최신 릴리스 버전으로 업데이트하는 절차를 설명합니다.
Vantage를 업데이트하기 전에 새 릴리스의 모든 요구 사항이 System Requirements 섹션에 나열되어 있으며 충족되었는지 확인하십시오.
업데이트 절차는 다음 단계로 구성됩니다:
  1. 컨테이너 이미지 동기화.
  2. 데이터 백업.
  3. 설치 스크립트 실행.
  4. Vantage 제거.
  5. ABBYY Vantage 업데이트.

컨테이너 이미지 동기화

컨테이너 이미지를 동기화하려면 컨테이너 이미지 다운로드 섹션에 설명된 단계를 따르십시오.

데이터 백업

업데이트 시점에 실행 중이던 버전의 Vantage로 복원하려면 데이터베이스, Consul, 그리고 Kubernetes 시크릿 사본에 대한 백업이 필요합니다. 아래 단계를 따라 다음 구성 요소를 올바르게 백업하십시오:
  1. 데이터베이스와 Consul의 백업을 실행하기 전에 클러스터를 중지해야 합니다. 클러스터의 모든 노드를 종료합니다.
  2. 다음을 백업합니다:
    • 데이터베이스: 데이터베이스 목록은 다음과 같습니다. apigatewayregistry, auth, auth-identity, catalogstorage, cron, documentset, folderimport, interactive-jobs, mail, mailimport, permissions, publicapi, reporting, secretstorage, security-audit, skillinfo, skillmonitor, storage, subscriptions, tokenmanagement, transactions, workflows, workspace.
    • Consul: Kubernetes CronJob은 이름이 [X].consul-backup인 파드(pod)를 통해 Consul을 외부 RWX 스토리지(예: NFS)에 백업합니다. consul-backup이라는 이름의 PVC 폴더에서 백업된 TGZ 파일을 가져올 수 있습니다.
  3. 클러스터를 시작합니다. 클러스터의 모든 노드를 시작합니다.
  4. Kubernetes 시크릿 사본을 백업합니다. 키를 가져오려면 다음 명령을 실행하십시오:
kubectl get secret -n abbyy-vantage secretstorage-encryptionkeys -o yaml
kubectl get secret -n abbyy-vantage tokenmanagement-encryptionkeys -o yaml
Kubernetes 시크릿의 복사본을 백업하기 전에 클러스터가 기동되어 있는지 확인하십시오.
백업은 만일의 상황에 대비해 만드는 것입니다. 업그레이드가 성공적으로 완료되면 백업에서 복구를 수행할 필요가 없습니다.

설치 스크립트 실행

ABBYY Vantage를 업데이트하기 전에 Installation 절차를 먼저 수행합니다. 설치 스크립트를 실행하려면:
  1. 구성 파일을 설정합니다.
기본적으로 Vantage를 업데이트할 때 technology core 버전 2는 삭제됩니다. 이를 유지하려면 env_specific.yml 파일에 techcore.keep_previous_version Parameter를 추가하고 값을 true로 설정합니다.
  1. 인증서를 준비합니다.
  2. 컨테이너 이미지를 다운로드합니다.
  3. 설치 스크립트를 실행합니다(1-3단계).

Vantage 제거

제품을 제거하려면 다음 플레이북을 실행하십시오:
ansible-playbook -i inventories/k8s -v playbooks/uninstall-vantage.yml
이 플레이북은 데이터 저장소는 남겨 둔 채 모든 서비스를 삭제합니다.

ABBYY Vantage 업데이트

ABBYY Vantage를 업데이트하려면:
  1. 다음 플레이북을 실행하여 배포 전 점검을 수행하고 Vantage 법률 문서를 읽고 동의하십시오:
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
플레이북은 다음 작업을 수행합니다:
  • 플레이북의 env_specific.yml 파일에 Parameter로 지정된 리소스(데이터베이스, SMTP 연결 등)에 대한 사전 점검을 수행합니다.
  • 시스템 관리자에게 EULA 및 ABBYY Privacy Policy 약관에 동의할 것을 요청합니다.
  1. 다음 플레이북을 실행하여 Vantage를 업데이트합니다:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
플레이북을 실행하면 제품의 새 버전이 설치됩니다. 일반적으로 이 과정에는 약 20~30분이 소요됩니다.
ABBYY Vantage가 업데이트된 후에는 다시 인증해야 합니다. 업그레이드 이전에 발급받은 인증 토큰은 더 이상 유효하지 않습니다.
Advanced Designer와 Scanning Station을 사용하려면, 새 버전을 다운로드하여 각 컴퓨터에 설치해야 합니다:
  • https://<your-vantage-host>/ad/latest - Advanced Designer 다운로드
  • https://<your-vantage-host>/ss/latest - Scanning Station 다운로드
업데이트가 실패한 경우, 다음 섹션인 “Recovery”를 참조하십시오.

복구

업데이트 과정이 실패한 경우 다음 단계를 따르십시오:
  1. 클러스터의 포드가 정상적으로 동작하는지 확인하고, 그렇지 않은 경우 다시 시작합니다.
  2. 예상대로 동작하지 않는 포드의 로그를 분석합니다.
  3. 포드 로그에 나와 있는 문제 해결 단계를 따릅니다.
  4. 새로운 버전의 Vantage를 설치하는 과정(예: Vantage 작업 대기, Vantage 배포 대기) 중 어느 단계에서든 업그레이드가 실패한 경우, 오류의 원인을 해결한 다음 설치 플레이북을 실행합니다:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml

새 클러스터에 데이터 복구를 사용하여 Vantage 설치

위에 설명된 단계로 문제가 해결되지 않는 경우, 다음 단계를 따라 새 클러스터에 데이터 복구를 사용하여 Vantage를 설치할 수 있습니다:
  1. 데이터의 최신 백업을 모두 보유하고 있는지 확인합니다.
  2. 이전에 생성한 백업에서 데이터를 복원합니다.
  3. 백업에서 복원된 데이터베이스 및 외부 스토리지에 연결하기 위한 정보를 포함하는 env_specific 파일을 준비합니다.
  4. 설치 섹션의 Running the installation scripts에 있는 단계를 따라 Vantage를 설치합니다. 2단계(Docker 이미지에서 설치 프로그램 실행)의 경우, 아래 명령을 사용합니다:
docker run -it --net=host \
-v $PWD/kube:/root/.kube \
-v $PWD/inventory:/ansible/inventories/k8s/inventory \
-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
-v $PWD/ssl:/ansible/files/ssl:ro \
--privileged \
registry.local/vantage/vantage-k8s:2.7.1
  1. secretstorage-encryptionkeystokenmanagement-encryptionkeys 시크릿의 키 값을 이전에 백업해 두었던 값으로 덮어씁니다. a. 다음 명령을 실행합니다.
    kubectl edit secrets -n abbyy-vantage secretstorage-encryptionkeys
    
    b. 열린 파일에서 key-<guid>.xml 뒤에 있는 base64 문자열을, secretstorage-encryptionkeys 시크릿에 대해 이전에 백업해 두었던 키에 포함된 base64 문자열로 교체합니다. c. 변경 사항을 저장하고 편집기를 닫습니다. d. 다음 명령을 사용하여 tokenmanagement-encryptionkeys 시크릿에 대해서도 동일한 작업을 수행합니다.
    kubectl edit secrets -n abbyy-vantage tokenmanagement-encryptionkeys
    
  2. 키를 덮어쓴 후 secretstoragetokenmanagement 파드를 다시 시작합니다.
kubectl -n abbyy-vantage rollout restart $(kubectl -n abbyy-vantage get deployments -l app.kubernetes.io/component=secretstorage -o name)
kubectl -n abbyy-vantage rollout restart $(kubectl -n abbyy-vantage get deployments -l app.kubernetes.io/component=tokenmanagement -o name)
  1. 트랜잭션을 다시 시작합니다. 클러스터에 연결된 머신에서 다음 명령을 실행해 트랜잭션 서비스에 액세스합니다:
kubectl port-forward -n abbyy-vantage deployments/abbyy-vantage-transactions 8080:8080
브라우저에서 http://localhost:8080/index.html에 접속한 다음 다음 API 메서드를 실행하십시오:
/api/recovery/transactions/restart
복구 후 Vantage 호스트 주소가 변경되었고 시스템에 아직 수락되지 않은 초대가 있는 경우, 해당 초대를 다시 보내야 합니다.