Human Plugin の日常的な運用方法 です。
更新
latest イメージを実行し、Unico がリリースを告知したときに更新してください。
- Docker Compose:
docker compose pull && docker compose up -d。 - Kubernetes:
kubectl -n human-plugin rollout restart deployment/human-plugin。imagePullPolicy: Alwaysを指定します。
新しいリリースは、トラフィックを受け付ける前の起動時に必要なテーブルを準備するため、データベースの手動作業は不要です。本番環境を更新する前にデータベースのバックアップを取り、更新後に /health/ready と実際の作成リクエストを確認してください。
認証情報のローテーション
アクセスキー。 Unico は、新しいキーを重複期間付きで発行します。.env または Secret の HUMAN_API_ACCESS_KEY を更新し、Human Plugin を再起動して (docker compose up -d --force-recreate、または kubectl -n human-plugin rollout restart deployment/human-plugin)、作成が成功することを確認してから、Unico に古いキーの失効を依頼してください。
レジストリの認証情報。 Unico は、古いトークンが有効なまま新しいトークンを発行します。新しいトークンで再度ログインし (または Kubernetes のプルシークレットを再作成し)、プルして動作を確認してから、Unico に古いトークンの失効を依頼してください。実行中のコンテナには影響しません。
データベースのパスワード。 PostgreSQL と POSTGRES_PASSWORD の両方で変更し、Human Plugin を再起動してください。
シャットダウン
SIGTERM を受け取ると、Human Plugin は接続の受け付けを停止し、処理中のリクエストを最大 55 秒間待機します。作成処理には最大 30 秒かかる場合があり、その後に結果を保存するためです。停止タイムアウトは 60 秒以上に設定してください。途中で打ち切られた作成処理は、その後の読み取り時に失敗として確定されます。
スケーリング
Human Plugin はリクエストの状態をメモリに保持しないため、複数のコンテナで 1 つのデータベースを共有できます。1 分あたり 1,500 トランザクションごとにレプリカを 1 つ追加し、PostgreSQL の max_connections を 25 × レプリカ数 + 10 に引き上げてください。ハードウェア要件を参照してください。
属性カタログ
Human Plugin は、起動時に属性カタログを 1 回ダウンロードします。新しいバージョンのカタログは、コンテナの次回の再起動時に反映されます。コンテナを 1 つずつ再起動すると、サービスを継続して利用できます。
バックアップ
お客様のデータベースには、data.ndocs の算出元となるインテリジェンスが保存されています。お客様のツールでバックアップを取り、リストアをテストしてください。データベースを失うとインテリジェンスも失われ、再構築はできません。