プラットフォームの構成
インストールを計画する前に、このページを一度読んでください。このガイドの以降のページはすべて、このページの内容を前提としています。
インストールする 3 つのものと、用意する 4 つのもの
次の表に、インストールを構成する各要素と、それを提供する側を示します。
| 要素 | 内容 | 提供元 |
|---|---|---|
OpenLM Platform チャート(openlm-platform) | OpenLM のすべてのサービスと Web UI(約 100 個の小さなアプリケーション)をインストールする 1 つの Helm チャートです。それぞれが、オンとオフを切り替えられるコンポーネントです。 | OpenLM(公開 Helm リポジトリ) |
API ゲートウェイチャート(openlm-gateway) | Web UI からの /api/... 呼び出しを適切なサービスへルーティングします。独立した小さな Helm リリースとしてインストールします。 | OpenLM(チャートパッケージ) |
| お客様の values ファイル | インストール内容を記述する 1 つの YAML ファイルです。Web アドレス、オンにするコンポーネント、Pod の配置などを記述します。 | お客様(このガイドのテンプレートから作成) |
| SQL Server | 4 つのデータベース: 運用、レポート、ID、DSS。 | お客様 |
| MongoDB | ほとんどのサービスが使用するドキュメントストレージ。 | お客様 |
| Kafka | サービス間のイベントストリーム。 | お客様 |
| Redis | サービスと API ゲートウェイが共有するキャッシュ。 | お客様 |
OpenLM Platform は、自身の Pod 内にデータを保存しません。再起動後も保持する必要があるデータはすべて SQL Server、MongoDB、Kafka、Redis に格納されるため、データを失わずに OpenLM Platform を再インストールまたはアップグレードできます。
マネージドクラウドサービス(Amazon RDS、Azure SQL、Amazon MSK など)を使用することも、これら 4 つのサービスをクラスターの内部または外部でお客様自身が運用することもできます。OpenLM Platform に必要なのは、それぞれのアドレスと認証情報だけです。
リクエストの流れ
すべてのリクエストは、1 つの Web アドレスと Ingress コントローラーを経由して入ってきます。
Browser
│ https://openlm.example.com/…
▼
Load balancer / ingress controller ← TLS certificate for openlm.example.com
│
├── /identity … → identity service (sign-in)
├── /api/… → API gateway → services (data)
└── /<page>/ … → web UI for that page (screens)
│
▼
SQL Server · MongoDB · Kafka · Redis
この経路から、次の 2 つのルールが導かれます。
- すべてに 1 つの Web アドレスを使う: すべての画面、サインインページ、すべての API 呼び出しが同じホスト名を使用します。必要な DNS 名は 1 つで、その名前に対する証明書も 1 つです。
- サービスもその Web アドレスを呼び出す: 一部のサービスは、クラスター内部から自ら
https://<your address>/identityを呼び出してサインイントークンを検証します。そのため、このアドレスはクラスター内部からも、Pod が信頼する証明書で到達できる必要があります。設定方法は ネットワーク と TLS 証明書 で説明しています。
Kubernetes 内の配置
インストールでは、次の namespace を使用します。
| Namespace | 含まれるもの |
|---|---|
openlm | OpenLM のすべてのサービスと UI、API ゲートウェイ、お客様が作成するシークレット。 |
| 任意 | お客様の Ingress コントローラー。必要に応じて、お客様自身の MongoDB、Kafka、Redis。 |
openlm を使用してくださいOpenLM Platform は、openlm という名前の namespace にインストールしてください。チャートはこの名前を前提に作られています。別の名前を使うには追加の設定が必要なため、OpenLM と別の名前で合意している場合を除き、openlm で始めてください。
コンポーネント
チャート内の各サービスや UI は、それぞれにスイッチを持つコンポーネントです。例:
homepage:
enabled: true
すべてのコンポーネントは既定でオフです。お客様の values ファイルで、インストールするコンポーネントをオンにします。その一覧は values ファイルのステップ に記載されています。
クラスターに必要なもの
OpenLM Platform は、クラスターに次のものを必要とします。
- 約 100 個の小さな Pod を実行できる容量。サイズについては 要件 を参照してください。
- HTTPS トラフィックを受け入れる Ingress コントローラー(または OpenShift のルート)。
- いくつかの小さなボリューム用のストレージクラス。一部のデータ処理コンポーネントが作業領域として使用します。
- OpenLM のイメージレジストリ
public.ecr.aws/r3q3q2f4、またはそのミラーからのプルアクセス。
チャートは CRD もオペレーターもインストールしません。チャートが作成するものはすべて openlm namespace 内にあります。例外は 1 つだけです。オプションの admissionwebhook コンポーネントはクラスター全体のアドミッション Webhook を登録し、そのインストールには cluster-admin 権限が必要です。このガイドの標準コンポーネントセットでは、このコンポーネントはオフのままです。
ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。