AEM as a Cloud Service-Bereitstellung schlägt trotz ordnungsgemäßem Rollout mit KubernetesDeploymentTimeoutException fehl

In diesem Artikel wird beschrieben, wie in Adobe Experience Manager (AEM) as a Cloud Service ein Szenario behoben werden kann, in dem Produktionsbereitstellungen mit einem KubernetesDeploymentTimeoutException fehlschlagen, obwohl der Rollout erfolgreich abgeschlossen wurde. Das Problem hängt oft mit der fehlenden Konfiguration auf der Vorschauebene zusammen.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM) as a Cloud Service (alle Versionen)

Problem/Symptome

  • Die Produktionsbereitstellung über Cloud Manager schlägt während des Bereitstellungsschritts mit einem KubernetesDeploymentTimeoutException fehl.
  • Der Bereitstellungsschritt kann mehrere Stunden ausgeführt werden, bevor er fehlschlägt.
  • Die Cloud Manager-Benutzeroberfläche meldet die Bereitstellung als FEHLER.
  • Der zugrunde liegende Produktions-Rollout (z. B. aem-publish) erreicht einen gesunden und abgeschlossenen Status, wobei alle Replikate bereit sind, lange bevor die Zeitüberschreitung eintritt.
  • In den AEM-Anwendungsprotokollen werden nach einem ordnungsgemäßen Rollout keine Absturz-, Speichermangel- oder Herunterfahrfehler festgestellt.
  • Die Anwendung verarbeitet den Traffic weiterhin normal, während Cloud Manager im Wartezustand bleibt.
  • Vorschau-Pods werden möglicherweise ständig neu gestartet, wobei die Dispatcher-Container-Protokolle Fehler bei Konsistenzprüfungen anzeigen (z. B. keine Verbindung zum localhost-Port 8080 oder fehlende Umleitungskonfiguration).

Ursache

Dieses Problem tritt normalerweise auf, weil erforderliche Konfigurationsinhalte auf der Vorschauebene fehlen. Selbst wenn die Vorschauebene nicht für die Bereitstellung von Traffic verwendet wird, hängt ihre Dispatcher-Initialisierung von derselben Konfiguration wie die Veröffentlichungsebene ab. Fehlende Konfigurationen können zu Fehlern bei der Vorschau-Dispatcher-Initialisierung führen, wodurch die Pipeline für die Produktionsbereitstellung blockiert wird.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Vergewissern Sie sich mithilfe Ihrer Rollout-Tools für Kubernetes oder Argo, dass der Produktions-Rollout einen funktionierenden und abgeschlossenen Status erreicht hat. Bestätigen Sie, dass alle erwarteten Replikate bereit sind.

  2. Überprüfen Sie in Cloud Manager die Details zur Pipeline-Ausführung während des Bereitstellungsschritts auf Fehler. Beachten Sie, ob der Fehler ein KubernetesDeploymentTimeoutException ist.

  3. Stellen Sie sicher, dass alle erforderlichen Umleitungskonfigurationsinhalte auf der Vorschauebene veröffentlicht werden. Dazu gehören alle Konfigurationen oder Inhalte, die für die Dispatcher-Initialisierung erforderlich sind, auch wenn die Vorschauebene nicht zur Bereitstellung von Traffic verwendet wird.

    • Überprüfen Sie Ihren Bereitstellungsprozess, um sicherzustellen, dass dieselbe Umleitungs- und Dispatcher-Konfiguration wie für die Veröffentlichungsinstanz auch für die Vorschau verfügbar ist.
    • Wenn Sie Inhaltspakete oder Konfigurationsverwaltung verwenden, stellen Sie sicher, dass diese sowohl auf Veröffentlichungs- als auch auf Vorschauebene bereitgestellt werden.
  4. Überprüfen Sie den Zustand der Vorschau-Pods.

    • Verwenden Sie Ihre Kubernetes-Tools wie kubectl logs, um die Dispatcher-Container-Protokolle für Vorschau-Pods zu überprüfen.
    • Suchen Sie nach Systemdiagnosefehlern oder wiederholten Neustarts, die auf fehlende Konfigurationen hinweisen können.
  5. Nachdem Sie die erforderliche Konfiguration auf der Vorschauebene veröffentlicht haben, führen Sie die Produktionsbereitstellungs-Pipeline in Cloud Manager erneut aus.

  6. Stellen Sie sicher, dass die Bereitstellung erfolgreich abgeschlossen wurde und alle Pods, einschließlich der Vorschau-Pods, fehlerfrei sind.

recommendation-more-help
experience-cloud-kcs-help-kbarticles