Runtime Fabric のデプロイメント状況メッセージ

Runtime Manager は、Mule アプリケーションを初めてデプロイしたときや、Runtime Fabric にデプロイされている既存の Mule アプリケーションに変更を加えたときに、デプロイメント状況メッセージを表示します。

警告メッセージの状況状態

Mule アプリケーションをデプロイしたり、または Runtime Fabric にデプロイされている既存の Mule アプリケーションに変更を加えたりすると、Runtime Manager は少し待ってから、報告されたレプリカの状況を能動的にチェックし始めます。状況が STARTED または STOPPED 以外の場合は、警告メッセージが表示されます。 警告メッセージは、Mule アプリケーションやクラスターに何か問題があることを意味しているとは限りません。警告メッセージには一時的な障害と永続的な障害を通知するものがあるため、メッセージの意味を理解することが重要です。

警告メッセージは​「1 or more replicas in unexpected state: (1 つ以上のレプリカが想定外の状態にあります)」​で始まり、その後に具体的な説明が続きます。例:

1 or more replicas in unexpected state: [Kubernetes] Container "any point-monitoring" - PodInitializing

警告メッセージが表示されたままで、問題が自動的に解決しない場合は、IT 部門や開発者チームと協力して、デプロイメントとポッドの状態を確認してトラブルシューティングを実施してください。

永続的な警告メッセージと一時的な警告メッセージ

通常、永続な警告メッセージでは問題を修正するためのアクションが必要です。一方、一時的な警告メッセージはしばらくすると消えます。警告メッセージが適切な時間で消えない場合は、Kubernetes 管理者に連絡してください。

たとえば、ノードが動作を停止した場合、いくつかのポッドが一時的に保留される可能性があります。Kubernetes 管理者がそのノードを手動で再起動する必要があったり、再起動に時間がかかったりすることもあります。

Mule アプリケーションのデプロイ時にデータベースや JMS サーバーなどの外部連動関係が停止していると Mule アプリケーションが起動できないため、CrashLoopBackOff 警告が返されることがあります。この警告メッセージは、必要なサービスが起動すれば自動的に消えます。ただし、デプロイメントアーティファクトに何か問題がある場合には、この警告メッセージは表示されたままになります。

警告メッセージの説明

次の表で、さまざまな種類の警告メッセージの一部を説明しています。警告メッセージの完全なリストは、Kubernetes のドキュメントを参照してください。

警告の状況 種類 説明

PodInitializing

通常は一時的

Mule アプリケーションのポッドに含まれる一部のコンテナの準備ができていないため、ポッドの初期化が遅れています。通常は、ポッドが初期化されるまで待てば解決します。デプロイメントに本質的な問題がある場合は、別の警告に変わります。

Link

CrashLoopBackOff

通常は永続的

Mule アプリケーションのイメージに問題があり、アプリケーションがクラッシュします。

Link

スケジュール不可

通常は一時的

要求されたレプリカを実行できるノードがありません。理由は次のとおりです。

* メンテナンスのためにノードが停止している。
* ノードでデプロイメントに割り当てられるリソースが不足している。
* Runtime Manager の ​[Deployments Target (デプロイメント対象)]​ タブで ​[Enforce deploying replicas across nodes (ノード間でレプリカのデプロイを適用)]​ オプションが有効になっているが、必要なレプリカ数に対して利用可能なノードの数が不足している。

Link

ポッドの状況の詳細については、 Kubernetes 公式ドキュメントLeaving the Site​を参照してください。Kubernetes 管理者に連絡して、状態が深刻であるかどうかを確認し、必要であればトラブルシューティングの方法について助言を求めてください。

警告メッセージの例

次の例では、ポッドの準備はできていますが、初期化待ちであるため、警告メッセージが表示されています。

Runtime Manager UI の PodInitializing の警告状況

次の例の警告メッセージは、破損したアーティファクトがアップロードされ、デプロイ中に Mule アプリケーションがクラッシュしたため、Mule アプリケーションのイメージに問題があることを示しています。

Runtime Manager UI での CrashLoopBackOff の警告状況

Kubernetes 管理者は、コマンドラインインターフェースで次のコマンドを実行することで、エラーや警告の状況も取得できます。

kubectl get deployments,pods --namespace <ENVIRONMENT_NAMESPACE>

例:

➜  ~ kubectl get deployments,pods --namespace 788a26d2-a837-4336-aa7b-1f367cf70d7d
NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/omg-s1-now   0/1     1            0           20m

NAME                              READY   STATUS             RESTARTS        AGE
pod/omg-s1-now-78b7ffd454-h5x5n   1/2     CrashLoopBackOff   8 (2m57s ago)   20m
text

次の例では、3 つのノードが利用できないためにスケジュール不可であることを示す警告メッセージが表示されています。

Runtime Manager の UI でスケジュール不可の警告状況

Kubernetes 管理者は、コマンドラインインターフェースで次のコマンドを実行することで、エラーや警告の状況も取得できます。

kubectl get deployments,pods --namespace <ENVIRONMENT_NAMESPACE>

例:

NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/omg-s1-now   0/1     1            0           170m

NAME                              READY   STATUS    RESTARTS   AGE
pod/omg-s1-now-58dd54d9f-xt569    0/2     Pending   0          4s
pod/omg-s1-now-6c5c5d987c-fbmbl   0/2     Pending   0          50m
text

アプリケーション名前空間状況の状態

次の表は、アプリケーションと認証済みの名前空間に問題がある場合に表示される状況の一覧です。これらの状況の先頭には ​[Runtime Fabric]​ が付けられます。

状況と説明 種類

現在の環境 <env_id> には既存の名前空間 <app_namespace> があります。このデプロイを続行するには、必要な表示ラベルを使用してカスタム名前空間を作成してください。カスタム名前空間の作成の詳細については、ドキュメントを参照してください。

Permanent (永続的)

名前空間の選択に失敗しました。同じ rtf.mulesoft.com/envId=<env_id> および rtf.mulesoft.com/agentNamespace=<agent_namespace> アノテーションを持つ複数の名前空間 <namespaces name> が見つかりました。単一の名前空間は、指定された環境 ID と RTF 名前空間のペアでアノテーションできます。

Permanent (永続的)

環境 '%s' に対応するアプリケーション名前空間が見つかりません。正しいアプリケーション名前空間で ConfigMap を更新してください。認証済みの名前空間の 設定については、ドキュメントを参照してください。

Permanent (永続的)

アプリケーション名前空間 <app_namespace> に正しい表示ラベルが付けられていません。現在のエージェントデプロイメントの名前空間は、rtf.mulesoft.com/agentNamespace=<agent_namespace> で表示ラベルを付ける必要があります。

Permanent (永続的)

アプリケーション名前空間 <app_namespace> に正しい表示ラベルが付けられていません。現在のエージェントデプロイメントの名前空間は、適切な rtf.mulesoft.com/envId で表示ラベルを付ける必要があります (空白でした)。

Permanent (永続的)

名前空間の選択に失敗しました。同じ rtf.mulesoft.com/envId=<env_id> アノテーションを持つ複数の名前空間が見つかりました。単一の名前空間には、任意の環境 ID でアノテーションできます。

Permanent (永続的)