---
title: "ステップ 6: OpenLM Platform をインストールする"
description: OpenLM Platform の Helm リリース openlm-platform をインストールし、すべての Pod が実行状態になるまで進行状況を確認します。
product: OpenLM Platform
---

`openlm-platform` Helm リリースをインストールし、すべての Pod が実行状態になるまで Pod を監視します。最初に、[インストールワークシート](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/before-you-start/worksheet) から作成したファイル `openlm-install.env` から変数を読み込みます。

```bash
source ./openlm-install.env
```

## 6.1 リリースをインストールする

Helm でリリースをインストールします。

```bash
helm upgrade --install openlm-platform openlm/openlm-platform \
  --version "$OPENLM_VERSION" -n "$NS" -f openlm-values.yaml --timeout 60m
```

:::note[OpenShift]
OpenShift では、2 つ目の values ファイルを追加します: `-f openlm-values.yaml -f openlm-values-openshift.yaml`。コマンドが完了したら、[ルートの手順](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/openshift#ルート) に従ってください。
:::

このコマンドは、チャートの **トピックセットアップジョブ** が完了した時点で戻ります。このジョブは OpenLM Platform の Kafka トピックを 1 つずつ作成または確認し、10～30 分かかるため、しばらくの間コマンドが止まっているように見えます。これは想定どおりの動作です。Ctrl+C を押さないでください。このジョブは、トピックに変更がない場合でも **アップグレードのたびに** 再実行されます。常に `--timeout 60m` を指定し、アップグレードの作業時間にこの時間を含めてください。

:::note[プレリリースバージョン]
`1.0.0-rc.4` のようなバージョンはプレリリースです。`helm search repo openlm` では `--devel` を追加した場合にのみ表示されますが、`--version` を指定すれば、示したとおりにインストールできます。
:::

## 6.2 進行状況を確認する

進行状況を確認するには、別のターミナルで Pod を監視します。

```bash
kubectl -n openlm get pods -w
```

Pod は次の段階を順に進みます。

1. **Pod が作成されて起動します**（最初の数分間）。イメージのダウンロード中は、多くの Pod が `ContainerCreating` になります。
2. **`openlm-identity` は準備完了までに最も時間がかかります**。初回起動ではデータベースのテーブルを作成するため、最大 15 分かかります。その間、ほかのサービスはこれを待つあいだに何度か再起動することがあります。これは想定どおりの動作です。
3. **`openlm-usersandgroupsservice`** も初回起動に時間がかかります。そのまま待ちます。
4. **トピックセットアップジョブ**（`kafkainitpod`）が実行され、`Completed` になります。

## 6.3 インストールの完了を確認する

次のコマンドが **何も出力せず**、`Running` のすべての Pod ですべてのコンテナーが準備完了（`1/1`）になっていれば、インストールは完了です。

```bash
kubectl -n "$NS" get pods --no-headers | grep -vE "Running|Completed"
```

すべてのイメージを初めてプルするクラスターでは、20〜40 分を見込んでください。

## 準備完了にならない Pod を修正する

Pod がエラーまたは待機状態のままの場合は、次の表でその状態を探します。

| Pod の状態 | 最も可能性の高い原因 | 確認先 |
|---|---|---|
| `Pending` が 5 分以上続く | 条件に合うノードがない: 容量不足、またはノード配置が有効なのにノードにラベルが付いていない | `kubectl -n $NS describe pod <pod>` の最後の数行。[ノード配置](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/node-placement) |
| `ImagePullBackOff` | ノードが `public.ecr.aws` に到達できない、またはミラーにイメージがない | [ネットワーク: レジストリ](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/networking#レジストリミラー) |
| `CreateContainerConfigError` | シークレットが不足している | ステップ 3 をもう一度実行します |
| 多くの Pod で `CrashLoopBackOff` | データサービスに到達できない、または資格情報が誤っている | `kubectl -n $NS logs <pod> --previous` |
| ログに `IdentityUnavailable` または `SSL` を含む `CrashLoopBackOff` | Pod が `https://$DOMAIN/identity` に到達できない、または信頼していない | [サインインと identity](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/identity-and-sign-in) |
| `helm` が `timed out waiting for the condition` で停止する | 通常は Kafka が遅いか到達できないため、トピックセットアップジョブが時間内に完了しなかった | `kubectl -n $NS logs job/kafka-init-pod` を確認してから、同じ `helm upgrade --install` を `--timeout 60m` を付けてもう一度実行します。処理は続行され、作成済みのトピックはそのまま残ります |

そのほかの問題と対処方法については、[トラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/reference/troubleshooting) を参照してください。

:::tip[確認]
リリースの状態を確認します。

```bash
helm -n "$NS" status openlm-platform | grep STATUS
```

出力に `STATUS: deployed` と表示され、[6.3](#63-インストールの完了を確認する) の Pod の確認で何も出力されないことを確認します。
:::
