---
title: トラブルシューティング
description: Kubernetes で OpenLM Platform をインストールして実行するときに多い問題の症状、原因、対処方法です。
product: OpenLM Platform
---

問題を解決するには、このページで症状を探し、原因を確認して、対処方法を適用します。該当するものがない場合は、[診断情報を収集](#診断情報を収集する) して OpenLM サポートにお問い合わせください。

## Pod

次の症状は、Pod のステータス、イベント、ログに表示されます。

| 症状 | 原因 | 対処方法 |
|---|---|---|
| `Pending` と `didn't match Pod's node affinity` | ノード配置が有効だが、`openlm.com/role` ラベルの付いたノードがない | ノードにラベルを付けるか、`global.affinity.enabled: false` と `global.taints.enabled: false` を設定します。[ノード配置](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/node-placement) |
| `Pending` と `Too many pods` | ノードの Pod 数の上限に達している | EKS: ノードを追加するか、プレフィックス委任を使用します。K3s: `max-pods=250`。[EKS](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/eks)、[K3s](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/k3s) |
| `Pending` と `Insufficient cpu` / `memory` | 容量が不足している | ノードを追加します。[要件](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/before-you-start/requirements) |
| PVC が `Pending`、Pod が `Pending` | ストレージクラスが誤っている、または別のクラスターのプロビジョナーアノテーションが残っている | `STORAGE_CLASS` を確認し、values ファイルを生成し直して（[ステップ 4](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/install/step-4-values)）、PVC を削除し、インストールを再実行します |
| `ImagePullBackOff` | `public.ecr.aws` への経路がない、またはミラーにイメージがない | [レジストリミラー](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/networking#レジストリミラー) |
| `CreateContainerConfigError` | シークレットが不足している | `create-openlm-secrets.sh` を再実行します（[ステップ 3](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/install/step-3-secrets)） |
| `CrashLoopBackOff`、ログに `too many open files` / `inotify` | ノードのファイル監視の上限が低すぎる | [ノード設定](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/index#すべてのノードに適用するノード設定) |
| `CrashLoopBackOff`、ログに `Login failed for user` または `FormatException` | SQL の資格情報が誤っている | `SQL_USER` / `SQL_PASSWORD` を確認し、シークレットのスクリプトを再実行して、再起動します |
| `CrashLoopBackOff`、ログに Redis または `abortConnect` が含まれる | Redis に到達できない、パスワードが誤っている、または TLS の設定が一致しない | `REDIS_*`、特に `REDIS_TLS` を確認します |
| `CrashLoopBackOff`、ログに Kafka の `bootstrap` または `broker` が含まれる | Kafka に到達できない、または Pod から到達できないアドレスを通知している | [ステップ 2.3](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/install/step-2-data-services#23-kafka) |
| `OOMKilled` | データ量に対してメモリー制限が低すぎる | `<component>.resources.limits.memory` を引き上げます |
| OpenShift: `FailedCreate ... security context constraint` | コンポーネントがプロジェクトの範囲外のユーザー ID を設定している | [OpenShift の values](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/openshift#values-の設定) |

## サインインと画面

次の症状は、ブラウザーまたはサービスのログに表示されます。

| 症状 | 原因 | 対処方法 |
|---|---|---|
| ホームページは表示されるが、どの画面もデータを読み込めない | サービスが `https://DOMAIN/identity` に到達できない、または信頼していない | [ネットワーク](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/networking#クラスター内からプラットフォームのアドレスに到達する)、[TLS](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/tls-certificates) |
| サービスのログに `IdentityUnavailable`（503）が表示される | 同上 | 同上。その後 `kubectl -n openlm rollout restart deployment` を実行します |
| ブラウザーが画面とサインインページの間をループする | 発行者の設定がブラウザーのアドレスと一致しない、またはどこかで `http://` が使われている | [サインインと ID](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/concepts/identity-and-sign-in) |
| `/api/licensemanager/bff/user` が `401` ではなく `404` を返す | ID サービスの停止中にサービスが起動し、セキュリティなしで実行されている | ID サービスが正常になったら、サービスを 1 回再起動します |
| 内部の HTTPS でエラーが出るが、ブラウザーは正常 | プライベート CA を使用しており、証明書ファイルにルート証明書が含まれていない | ファイルの末尾にルート証明書を追加し、`openlm-lb-cert` を作成し直します |
| OpenShift: サインインが `409` を返す | ID サービスのルートがまだパスを書き換えている | [OpenShift のルート](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/openshift#ルート)、ステップ 2 |
| OpenShift: ページの代わりにホームページが表示される | そのページにルートがない | [OpenShift のルート](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/openshift#ルート)、ステップ 1 |

## インストールとアップグレード

次の症状は、OpenLM Platform のインストール、アップグレード、ライセンス登録の際に表示されます。

| 症状 | 原因 | 対処方法 |
|---|---|---|
| `helm` が `timed out waiting for the condition` で停止する | トピック設定ジョブが `--timeout` より長くかかった | 同じコマンドを再実行します。処理は続きから再開します。`--timeout 60m` を使用してください。 |
| 設定を変更したが、何も変わらない | 構成の内容だけが変わった場合、Helm は Pod を再起動しない | `kubectl -n openlm rollout restart deployment` |
| `rendered manifests contain a resource that already exists` | チャートが現在使用している名前と同じ名前のオブジェクトが手動で作成されている（OpenShift のルートなど） | 手動で作成したオブジェクトを削除し、インストールを再実行します |
| ライセンスのアップロード直後に、製品が「not licensed」と表示される | ライセンスのアップロード前に製品が有効化された | 約 12 時間待つか、OpenLM サポートにお問い合わせください |
| サービスが `Running` だが Ready にならず、失敗したバックグラウンドジョブが多数ある | 失敗したジョブが 10 件を超えると、ジョブのヘルスチェックが失敗する | [診断情報](#診断情報を収集する) を添えて OpenLM サポートにお問い合わせください |

## 診断情報を収集する

OpenLM サポート向けの診断情報を収集するには、次のスクリプトを実行します。スクリプトは `.tgz` バンドルを作成します。

```bash
NS=openlm; OUT=openlm-diag-$(date +%Y%m%d-%H%M); mkdir -p $OUT
helm -n $NS list -a                                  > $OUT/helm-list.txt
helm -n $NS history openlm-platform                  > $OUT/helm-history.txt
kubectl -n $NS get pods -o wide                      > $OUT/pods.txt
kubectl -n $NS get events --sort-by=.lastTimestamp   > $OUT/events.txt
for p in $(kubectl -n $NS get pods --no-headers | grep -vE "Running|Completed" | awk '{print $1}'); do
  kubectl -n $NS describe pod $p        > $OUT/describe-$p.txt
  kubectl -n $NS logs $p --all-containers --tail=300 > $OUT/log-$p.txt 2>&1
  kubectl -n $NS logs $p --all-containers --previous --tail=300 > $OUT/log-$p-previous.txt 2>&1
done
tar czf $OUT.tgz $OUT && echo "send $OUT.tgz to OpenLM support"
```

バンドルには Pod 名、イベント、ログが含まれますが、シークレットの内容は含まれません。共有したくない情報がログに含まれていないか、送信する前に内容を確認してください。
