デプロイ
単一の仮想マシンに OpenLM Platform をインストールするには、クリーンな RHEL 系 OS でスクリプトを 1 つ実行します。スクリプトは、K3s のインストール、データベースのプロビジョニング、スキーマの初期化、Kafka トピックの作成、OpenLM Platform サービスのデプロイをすべて自動的に行います。
開始する前に、要件 の内容をすべて完了します。
スクリプトが行うこと
インストーラーは Ansible playbook を実行し、次の処理を行います。
- 前提条件(OS ファミリー、RAM、CPU)を検証します。
firewalldをインストールして構成し、Kubernetes API ポート(6443)を開放します。- 軽量な Kubernetes 環境として K3s をインストールし、Traefik を Ingress コントローラーとして構成します。
- クラスタの名前空間を作成し、TLS 証明書を Kubernetes Secret として保存するとともに、同じ証明書を全サービスがマウントするクラスタ内トラストバンドルに読み込みます。
- インフラサービス(Redis、Kafka、MongoDB、運用データベース、レポーティングデータベース)をデプロイします。
- 運用データベースのスキーマを初期化します。レポーティングスキーマは、レポーティングデータベースが同梱の PostgreSQL である場合に初期化します。
- OpenLM Platform が必要とする Kafka トピックを作成します。
- OpenLM API ゲートウェイと OpenLM Platform サービスをデプロイします。
手順 6 でレポートスキーマのスクリプトが適用されるのは、同梱の PostgreSQL に対してのみです。レポーティング用に外部 SQL Server を構成した場合は、スキーマをお客様側で作成する必要があります。構成リファレンス を参照してください。
インストールには 20〜40 分かかります。その大半は初回のコンテナイメージ取得に費やされます。
デプロイ手順
VM に OpenLM Platform をインストールするには、次のセクションを順に実行します。
デプロイパッケージをダウンロードする
OpenLM からリリースアーカイブを直接ダウンロードします: Platform as VM デプロイパッケージ。ファイル名は platform-as-vm-<date>-<commit>.zip のパターンに従い、<date> はビルド日、<commit> はソースのリビジョンを表します。
このリンクは特定のビルドを指しており、「latest」というエイリアスは存在しません。デプロイ前に、インストール対象が最新リリースであることと、そのリリースノートを OpenLM に確認してください。アップグレードは新しいバンドルを取得してインストーラーを再実行する方式のため、どのビルドをデプロイしたかを記録しておいてください。
ワークステーション上で、次のコマンドを実行して展開します。
unzip platform-as-vm-*.zip
展開すると、インストーラースクリプト、Helm チャート、Ansible playbook、データベーススキーマを含む platform-as-vm/ ディレクトリが生成されます。
(任意)アーカイブの SHA-256 チェックサムを表示し、インストール前に OpenLM に確認できるようにします。
sha256sum platform-as-vm-*.zip
デプロイパッケージを転送する
展開した platform-as-vm/ ディレクトリを対象 VM にコピーします。
scp -r platform-as-vm/ <user>@<vm-ip>:~/
TLS 証明書を配置する
VM に SSH 接続し、config.yaml で設定するパスに証明書と鍵を配置します。既定の配置場所は次のとおりです。
sudo mkdir -p /etc/openlm/certs
sudo cp tls.crt /etc/openlm/certs/tls.crt
sudo cp tls.key /etc/openlm/certs/tls.key
sudo chmod 600 /etc/openlm/certs/tls.key
ファイルは任意の場所に保存できます。config.yaml の対応するパスを更新します。
設定ファイルを編集する
~/platform-as-vm/config.yaml を開き、必須の 3 フィールドを設定します。
openlm_system_domain: "openlm.yourcompany.com" # Your OpenLM FQDN
tls_cert_path: "/etc/openlm/certs/tls.crt" # Path to the TLS certificate
tls_key_path: "/etc/openlm/certs/tls.key" # Path to the TLS private key
それ以外のフィールドは、単一 VM デプロイで動作する既定値が設定されています。外部 SQL Server、外部 Kafka、エアギャップ環境などの応用パターンについては、構成リファレンス を参照してください。
パスワードファイルを編集する
~/platform-as-vm/passwords.yaml を開き、同梱の 3 つのデータベース用に強力なパスワードを設定します。
postgres_password: "<postgres-password>"
mariadb_root_password: "<mariadb-password>"
mongodb_root_password: "<mongodb-password>"
各プレースホルダーを、そのデータベース用の強力で互いに異なるパスワードに置き換えます。
これらのパスワードは、データベース初期化時に設定されます。初回インストール後に passwords.yaml で変更しても、稼働中のデータベースは更新されません。一度きりの設定値として扱い、以後はそれぞれのデータベース独自のコマンドでローテーションしてください。
インストーラーを実行する
デプロイディレクトリの中から、次のコマンドを実行します。
cd ~/platform-as-vm
chmod +x entrypoint.sh
./entrypoint.sh
スクリプトは sudo パスワードを 2 回要求します。
- 実行直後。OS パッケージの更新と Python のインストールを行うときです。
- Ansible playbook の起動時。
BECOME password:という別のプロンプトが表示されます。パッケージ、pip、Helm のインストールが終わった後になるため、数分後になることがあります。
playbook が動き出すまでは端末の前を離れないでください。2 回目のプロンプト以降は、追加の入力なしで一連の処理を最後まで実行します。
途中でインストーラーが失敗した場合は、原因を修正してから ./entrypoint.sh をもう一度実行してください。playbook は安全に再実行できます。各手順を再確認し、すでに完了している作業はスキップするため、最初からやり直しにはなりません。中断位置を保存して再開する仕組みではないため、序盤の手順は毎回(短時間で)再評価されます。
デプロイの検証
デプロイが成功したことを確認するには、Pod と Helm リリースを確認し、OpenLM Platform を開いてサインインします。
Pod を確認する
次のコマンドを実行します。
kubectl get pods -A
各 namespace に次のように表示されます。
kube-system: すべての Pod が Running(CoreDNS、Traefik、metrics-server、local-path-provisioner)。openlm-infrastructure: すべての Pod が Running(Redis、Kafka、MongoDB、MariaDB、PostgreSQL)。openlm: 約 100 個の Pod があり、ほとんどが Running。一部はインストーラー終了後も数分間InitやContainerCreatingの状態にとどまることがあります。サービスがイメージを取得し、依存サービスを待っている間は正常な挙動です。
15 分経過しても CrashLoopBackOff から抜けない Pod がある場合は、トラブルシューティング を参照してください。
Helm リリースを確認する
次のコマンドを実行します。
helm list -A
コマンドは 7 つのリリースを一覧表示し、それぞれに STATUS: deployed と表示されます。
| Namespace | リリース |
|---|---|
openlm-infrastructure | redis、mariadb、mongodb、postgres、kafka |
openlm | openlm-gateway、openlm-platform |
リリース数がこれより少ない場合、または deployed 以外の状態のリリースがある場合は、いずれかの手順が失敗しています。トラブルシューティング を参照してください。
OpenLM Platform を開く
ブラウザで https://<your-domain>/ を開きます。OpenLM Platform のサインインページが表示されます。
ブラウザに TLS 警告が表示される場合、証明書は自己署名であるか、ブラウザが信頼していない CA が発行したものです。そのような構成では想定どおりの挙動です。
初回サインイン
サインインページが表示されればデプロイは成功していますが、この時点ではまだサインインできません。インストーラーは OpenLM Platform にユーザーやロールを作成せず、管理者の既定パスワードも設定しません。認証はすべて OpenLM Identity Service が担います。
サインインページから実際に使える OpenLM Platform にするには、次の手順を実行します。
- デプロイ用の初期管理者アカウントの資格情報について OpenLM にお問い合わせください。
- 組織に合わせて Identity Service を構成します。
- OpenLM Platform の管理 UI から、自組織のユーザーとロールを作成します。
Active Directory、LDAP、SSO プロバイダーと連携するには、OpenLM Identity Service の構成ガイド を参照してください。
Power BI をレポーティングデータベースに接続する(任意)
Power BI などの BI ツールをレポーティングデータベースに接続するには、次の設定を使用します。
| 設定項目 | 値 |
|---|---|
| Server | <vm-ip-or-fqdn>:30432 |
| Database | openlm_reporting_db |
| Username | postgres |
| Password | passwords.yaml で設定した postgres_password |
Power BI Desktop では、データの取得、PostgreSQL データベース の順に選択し、サーバーとデータベース名を入力したうえで認証情報を指定します。
次のステップ
続けるには、次のページを使用します。
- 運用: ヘルスチェック、ログ、バックアップ、アップグレード。
- 構成リファレンス: 外部 SQL Server、外部 Kafka などのパターン。
- トラブルシューティング: よくある問題と対処法。
ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。