コンテナデプロイ
このページは、FactVerse を顧客管理のコンテナ環境で稼働させるプライベートデプロイプロジェクト向けです。対象範囲は Kubernetes、OpenShift、Docker Compose 検証、オフラインイメージ配送、レジストリ、入口、ストレージ、シークレット、バックアップ、アップグレード、引き渡しです。
公開サービスの実行方式や Web サイトのデプロイ詳細は、このセクションの対象外です。
前提条件
先にデプロイモデルを確認します。実装前に、顧客とプロジェクトチームはランタイム基盤、ネットワークゾーン、ドメイン、TLS 所有者、レジストリアクセス、ストレージクラス、ID プロバイダー、バックアップ先、監視基盤、ソースシステム、変更承認プロセスを合意します。
コンテナトポロジー
ランタイム選択肢
| 選択肢 | 主な用途 | 補足 |
|---|---|---|
| Kubernetes | 顧客管理クラスターでの本番デプロイ。 | 標準コンテナ基盤、ingress controller、storage class、監視、バックアップ手順がある場合に推奨します。 |
| OpenShift | OpenShift を標準基盤とする組織での本番デプロイ。 | 顧客の project、route、SCC、レジストリ、operator ポリシーに従います。 |
| Docker Compose | ラボ検証、パイロット検証、単一ノード受け入れ、トラブルシューティング。 | 設定やトレーニングフローの検証に使います。本番利用には顧客承認とリソース計画が必要です。 |
| オフライン配送 | クラスターが外部レジストリから pull できない制限ネットワーク。 | 顧客承認済みの転送経路で、イメージアーカイブ、チェックサム、マニフェスト、アップグレードパッケージを配送します。 |
入力
| 入力 | 確認内容 |
|---|---|
| ランタイム基盤 | Kubernetes バージョン、OpenShift バージョン、Docker Engine バージョン、ノードアーキテクチャ、namespace または project、リソースクォータ。 |
| レジストリ | 顧客レジストリ URL、イメージ import 方法、pull secret 所有者、tag ポリシー、スキャンポリシー、オフライン転送手順。 |
| ネットワーク | ドメイン、DNS 所有者、ingress または route 種別、TLS 証明書所有者、プロキシ、ファイアウォール、ソースシステムアクセス経路。 |
| ストレージ | StorageClass、永続ボリューム容量、オブジェクトストレージまたはファイルストレージパス、バックアップ計画、復旧所有者。 |
| データサービス | 顧客データベース、キャッシュ、メッセージキュー、検索サービス、またはプロジェクトで利用する管理データサービス。 |
| シークレット | データベース資格情報、サービス key、IdP metadata、コネクター資格情報、暗号化 key、ローテーション所有者。 |
| ID | パスワードポリシー、エンタープライズ SSO、グループマッピング、テナント管理者、サービスアカウント、コールバック URL。 |
| 運用 | 監視所有者、ログ基盤、アラート経路、バックアップ所有者、保守ウィンドウ、アップグレード承認者、サポート所有者。 |
具体的なイメージ名、chart 名、ポート、環境変数は、各リリースの配送パッケージで提供されます。
配送パッケージ
配送パッケージには、顧客のランタイムとセキュリティプロセスで必要なものを含めます。
- コンテナイメージまたはレジストリ pull 手順;
- Helm chart、Kustomize overlay、Kubernetes manifest、OpenShift template、Docker Compose ファイル;
- values テンプレートと環境設定チェックリスト;
- namespace または project のセットアップ手順;
- シークレットと証明書チェックリスト;
- 初期化ジョブと移行ジョブの手順;
- release notes、互換性メモ、チェックサム、必要に応じた SBOM または脆弱性スキャン証跡;
- 制限ネットワーク向けのオフラインバンドル構造と import 手順;
- 検証チェックリストと引き渡し runbook。
実装手順
- 顧客ランタイム基盤、namespace または project、リソースクォータ、storage class、入口種別、レジストリパス、変更ウィンドウを確認します。
- 必要なイメージを顧客レジストリへ import または pull します。
- namespace または OpenShift project を作成し、クォータ、ネットワークポリシー、service account 設定を適用します。
- データベース、ストレージ、ID、コネクター、license、製品設定用の secret と config map を作成します。
- 永続ボリューム、オブジェクトストレージ、データサービス endpoint、バックアップ先を設定します。
- ingress、route、DNS、TLS 証明書、プロキシ、SSO コールバック URL を設定します。
- 承認済みパッケージから FactVerse サービス、コネクタージョブ、移行ジョブ、初期化タスクをデプロイします。
- データベース移行とテナント初期化ジョブを実行します。
- pod、service、ingress、ログ、health endpoint、ストレージマウントを検証します。
- テナント管理者、ユーザーグループ、ロール、サービスアカウント、初期製品モジュールを作成します。
- 承認済みネットワークと代表的なデバイスからクライアントアクセスを検証します。
- サンプルレコードでソースシステム連携を検証してから定期同期を有効にします。
- デプロイ一覧、設定ベースライン、バックアップ手順、復旧テスト計画、アップグレード手順、サポート経路を記録します。
期待結果
期待される成果は、顧客管理の FactVerse コンテナ環境です。承認済みのランタイム所有、イメージ配送経路、入口と TLS 設定、ストレージとバックアップ手順、ID 連携、製品モジュール、ソースシステム検証、監視経路、アップグレード手順を含みます。
コンテナ運用
| 領域 | 実践 |
|---|---|
| スケーリング | requests、limits、replica 数、autoscaling ポリシー、容量レビュー周期を定義します。 |
| アップグレード | バージョン付きイメージ tag、release notes、移行ジョブ、検証手順、ロールバック条件を使います。 |
| ロールバック | 顧客の変更プロセスに従い、前バージョンのイメージセット、設定ベースライン、データベース復旧点を保持します。 |
| ログ | アプリケーションログ、入口ログ、コネクターログ、ジョブログを顧客ログ基盤へ送ります。 |
| メトリクス | pod health、restart count、CPU、memory、storage、queue backlog、sync failures、API error rate を監視します。 |
| 証明書 | TLS、IdP、コネクター証明書の有効期限を追跡し、ローテーションウィンドウを計画します。 |
| シークレット | 顧客承認済みの仕組みに保存し、ローテーション所有者を定義します。 |
| バックアップ | 復旧目標に合わせて、永続データ、設定、文書、オブジェクトストレージ、データベース状態をバックアップします。 |
検証チェックリスト
- クラスターまたはランタイムバージョンが今回の配送パッケージ要件を満たしている。
- イメージ import、image pull、脆弱性スキャン要件が完了している。
- namespace、リソースクォータ、ネットワークポリシー、storage class が設定されている。
- ingress、DNS、TLS、プロキシ、SSO コールバック URL が検証済み。
- secret と config map が顧客承認済みプロセスで作成されている。
- データベース移行と初期化ジョブが完了している。
- 管理者がログインし、対象テナントへアクセスできる。
- 対象範囲の製品モジュールが有効化されている。
- ソースシステム連携がサンプルデータ検証に合格している。
- バックアップと復旧責任が記録されている。
- 監視、ログ、アラート経路、サポート連絡先、保守ウィンドウが記録されている。
トラブルシューティング
| 症状 | 確認項目 |
|---|---|
| イメージ pull が失敗する | レジストリ経路、pull secret、image tag、オフライン import、証明書信頼、スキャンゲート。 |
| pod が繰り返し再起動する | リソース制限、不足している secret、データベース経路、ストレージ権限、起動依存、移行状態。 |
| 入口は開くがログインできない | SSO metadata、コールバック URL、テナント割当、cookie domain、TLS 証明書、時刻同期。 |
| クライアントアプリが別環境に接続する | 環境 URL、private server code、プロキシ、キャッシュ設定、リリースチャネル。 |
| 連携ジョブがソースシステムに到達できない | ファイアウォール、DNS、プロキシ、サービス資格情報、ソースシステム許可リスト、サンプル payload。 |
| アップグレードが進まない | バックアップポイント、移行 precheck、イメージ互換性、設定差分、ロールバック所有者。 |