正常なロールアウトにもかかわらず、AEM as a Cloud ServiceのデプロイメントがKubernetesDeploymentTimeoutExceptionで失敗する
ここでは、ロールアウトが正常に完了したにもかかわらず、実稼動デプロイメントがKubernetesDeploymentTimeoutExceptionで失敗するAdobe Experience Manager(AEM) as a Cloud Serviceのシナリオに対処する方法について説明します。 この問題は、多くの場合、プレビュー層で設定が欠落していることに関連しています。
説明 description
環境
Adobe Experience Manager(AEM)as a Cloud Service(すべてのバージョン)
問題/症状
- Cloud Manager経由の実稼動環境のデプロイメントは、デプロイメントステップ中に
KubernetesDeploymentTimeoutExceptionで失敗します。 - デプロイメントステップは、失敗する前に数時間実行される場合があります。
- Cloud Manager UIは、デプロイメントをERRORとしてレポートします。
- 基礎となる実稼動ロールアウト(
aem-publishなど)は、タイムアウトが発生する前にすべてのレプリカが準備ができた状態で、正常かつ完了した状態に達します。 - ロールアウトが正常になった後、AEM アプリケーションログにクラッシュ、メモリ不足、またはシャットダウンエラーは表示されません。
- Cloud Managerが待機状態である間、アプリケーションは引き続きトラフィックを正常に処理します。
- Dispatcher コンテナログにヘルスチェックの失敗が表示される(たとえば、localhost ポート 8080への接続に失敗したり、リダイレクト設定が欠落したりするなど)、プレビューポッドが常に再起動する場合があります。
原因
この問題は、通常、プレビュー層に必要な設定コンテンツが欠落していることが原因で発生します。 プレビュー層がトラフィックの配信に使用されていない場合でも、Dispatcherの初期化は、パブリッシュ層と同じ設定に依存します。 設定が見つからない場合、プレビューディスパッチャーの初期化エラーが発生し、実稼動デプロイメントパイプラインがブロックされる可能性があります。
解決策 resolution
問題を解決するには、次の手順に従います。
-
KubernetesまたはArgo Rollout ツールを使用して、実稼動ロールアウトが正常で完了した状態に達したことを確認します。 想定されるすべてのレプリカの準備ができていることを確認します。
-
Cloud Managerで、デプロイメントステップ中のエラーについて、パイプライン実行の詳細を確認します。 エラーが
KubernetesDeploymentTimeoutExceptionの場合に注意してください。 -
必要なすべてのリダイレクト設定コンテンツがプレビュー層に公開されていることを確認します。 これには、プレビュー層がトラフィックの提供に使用されていない場合でも、Dispatcherの初期化に必要な設定やコンテンツが含まれます。
- デプロイメントプロセスを確認して、パブリッシュに使用されるのと同じリダイレクトとDispatcher設定がプレビューでも使用できることを確認します。
- コンテンツパッケージまたは設定管理を使用する場合は、それらがパブリッシュ層とプレビュー層の両方にデプロイされていることを確認します。
-
プレビューポッドの正常性を確認します。
kubectl logsなどのKubernetes ツールを使用して、プレビューポッドのDispatcher コンテナログを確認します。- ヘルスチェックの失敗または再起動回数を確認します。これは、設定が欠落していることを示している可能性があります。
-
必要な設定をプレビュー層に公開した後、Cloud Managerで実稼動デプロイメントパイプラインを再実行します。
-
デプロイメントが正常に完了し、プレビューポッドを含むすべてのポッドが正常であることを確認します。