アプリが再始動した理由
アプリは実行中ですが、アプリ・インスタンスが再始動されていることが分かります。
アプリケーションの再始動が行われると、 Code Engine によってアプリの新規インスタンスが自動的に開始されます。 新規アプリ・インスタンスに Ready のマークが付けられると、 Code Engine はそのインスタンスにトラフィックをルーティングします。
アプリが再始動された場合は、以下のいずれかのケースが該当するかどうかを判別します。
-
例外が発生し、アプリケーション・ソース・コードで処理されません。
-
Code Engine システム・メモリー構成がリソースに対して制約されます。 例えば、インスタンスごとのメモリー設定が低すぎるため、メモリー不足エラーが原因でインスタンスが再始動します。 あるいは、エフェメラル・ストレージの上限に達した。
-
Code Engine は完全に管理された IBM Cloud 環境、アプリケーション、およびその他の Code Engine ワークロードは、例えば別の物理的な場所に再配置される可能性があります。 環境の管理された性質を考慮すると、これらのタイプの変更はいつでも発生する可能性があります。 デプロイされたアプリケーションで作業している場合、このタイプのアクションによってアプリケーションが再始動する可能性があります。
保守時に、実行中のアプリケーション・インスタンスが 再配置されます。これは、実行中のインスタンスが削除され、新しいインスタンスが作成されることを意味します。 この場合、再始動カウントは 0 にリセットされます。 アプリ・インスタンスの経過時間は、このシナリオの良い指標です。
以下のいずれかの解決策を試してください。
-
例外が発生した場合は、以下のアクションを実行します。
- 何が起こっているかを判別するのに役立つメッセージがないか確認してください。 Code Engineのロギングをセットアップした場合、ログ・ファイルにメッセージが含まれていることがあります。 ロギングについて詳しくは、ログの表示を参照してください。
- アプリケーション・ソース・コードを更新し、更新されたコンテナー・イメージをビルドした後、 アプリケーションを更新 して、アプリの新しいリビジョンを作成します。
- アプリケーション・インスタンスの詳細ビューを使用すると、アプリケーションのトラブルシューティングに役立ちます。 Code Engine コンソールを使用して、アプリ・インスタンスの詳細を表示します。 アプリ・インスタンスに関する詳細の取得 を参照してください。
-
アプリケーションのメモリー・リソースが制約されている場合は、以下のアクションを実行します。
- Code Engine の制限に注意してください。 Code Engine の制限と割り当て量を参照してください。 必要に応じて、 アプリケーションを更新 して、アプリケーションのメモリー設定を変更します。
- アプリのリソース設定を確認し、必要に応じて変更します。 アプリをデプロイするためのオプション を参照してください。
- アプリケーション・インスタンスの詳細ビューを使用すると、アプリケーションのトラブルシューティングに役立ちます。 Code Engine コンソールを使用して、アプリ・インスタンスの詳細を表示します。 アプリ・インスタンスに関する詳細の取得 を参照してください。
-
一般に、管理対象 Code Engine 環境で特定のアプリケーション・インスタンスを中断せずに実行することはできません。 これらのタイプのシステム・アップグレード中のアプリのダウン時間を回避するために、アプリが 12 要素アプリの方法 に従っていることを確認できます。 アプリが実行を停止した理由 を参照してください。