メインコンテンツへスキップ
このセクションでは、ABBYY Vantage を利用可能な最新のリリースバージョンに更新する手順について説明します。
Vantage を更新する前に、新しいリリースの システム要件 セクションに記載されているすべての要件を満たしていることを確認してください。
更新プロセスは次の手順で行います。
  1. コンテナーイメージを同期する
  2. データをバックアップする
  3. インストールスクリプトを実行する
  4. Vantage をアンインストールする
  5. ABBYY Vantage を更新する

コンテナーイメージの同期

コンテナーイメージを同期するには、コンテナーイメージのダウンロードの手順に従ってください。

データをバックアップする

更新を実行した時点で稼働していたバージョンの Vantage を復元するには、データベース、Consul のバックアップ、および Kubernetes Secrets のコピーが必要です。これらのコンポーネントを正しくバックアップするには、次の手順に従ってください。
  1. データベースと Consul のバックアップを作成する前に、クラスターを停止する必要があります。クラスター内のすべてのノードをシャットダウンします。
  2. 次のバックアップを取得します。
    • Databases: データベースの一覧は次のとおりです: 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 など)にバックアップします。バックアップされた TGZ ファイルは、consul-backup という名前の PVC フォルダーから取得できます。
  3. クラスターを起動します。クラスター内のすべてのノードを起動します。
  4. Kubernetes Secrets のコピーをバックアップします。キーを取得するには、次のコマンドを実行します。
kubectl get secret -n abbyy-vantage secretstorage-encryptionkeys -o yaml
kubectl get secret -n abbyy-vantage tokenmanagement-encryptionkeys -o yaml
Kubernetes の Secret のバックアップを作成する前に、必ずクラスターが起動していることを確認してください。
バックアップは念のために作成します。アップグレードが正常に完了した場合、バックアップから復元を行う必要はありません。

インストールスクリプトの実行

ABBYY Vantage をアップデートする前に、インストール の手順を実行してください。 インストールスクリプトを実行するには:
  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 プライバシーポリシーの条項に同意するよう求めます。
  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. クラスター内の Pod が正常に動作していることを確認し、問題がある場合は再起動します。
  2. 想定どおりに動作していない Pod のログを解析します。
  3. Pod のログに基づいてトラブルシューティングを行います。
  4. 新しいバージョンの Vantage のインストール手順のいずれかの段階(例:Vantage ジョブの待機、Vantage デプロイの待機)でアップグレードが失敗した場合は、エラーの原因を特定して修正してから、インストール用の playbook を実行します。
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 の Secret 内のキー値を、前の手順でバックアップしておいた値で上書きします。 a. 次のコマンドを実行します。
    kubectl edit secrets -n abbyy-vantage secretstorage-encryptionkeys
    
    b. key-<guid>.xml の後に開くファイルで、現在の base64 文字列を、secretstorage-encryptionkeys Secret 用として以前バックアップしておいたキーに含まれる base64 文字列に置き換えます。 c. 変更を保存し、エディターを閉じます。 d. 次のコマンドを使用して、tokenmanagement-encryptionkeys Secret に対しても同じ操作を行います。
    kubectl edit secrets -n abbyy-vantage tokenmanagement-encryptionkeys
    
  2. キーを上書きしたら、secretstoragetokenmanagement の Pod を再起動します。
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 ホストアドレスが変更されており、システム内に未受諾の招待がある場合は、それらの招待を再送信する必要があります。