Freigeben über


Sidecars in Azure App Service

In Linux App Service-Apps (nur Code-Apps und benutzerdefinierte Container) ist ein Sidecar ein Hilfscontainer, der in derselben Umgebung wie Ihr Haupt-App-Container ausgeführt wird. Sidecars können unterstützende Dienste (z. B. Telemetrie, Zwischenspeicherung oder KI-Rückschluss) bereitstellen und als Teil Ihrer App Service-App verwaltet werden.

Gründe für die Verwendung von Sidecars in App Service?

Sidecars ermöglichen es Ihnen, neue Funktionen wie Überwachung, Zwischenspeicherung, KI oder benutzerdefinierte Logik hinzuzufügen, ohne den Hauptanwendungscode (in Nur-Code-Apps) oder Ihren Hauptcontainer (in benutzerdefinierten Containern) zu ändern. Dies hat unter anderem folgende Vorteile:

  • Trennung von Bedenken: Fügen Sie Dienste unabhängig von Ihrer Haupt-App hinzu oder aktualisieren Sie sie.
  • Dehnbarkeit: Integrieren Sie vorgefertigte oder benutzerdefinierte Erweiterungen (z. B. OpenTelemetry, Redis, Datadog, Phi-3/4 AI-Modelle).
  • Betriebsflexibilität: Verwalten, Aktualisieren oder Skalieren von Sidecars zusammen mit Ihrer App.
  • Migrationspfad: Wechseln von Docker Compose- oder Multicontainerlösungen zu einer verwalteten, skalierbaren Plattform (siehe Migrieren von Docker Compose-Apps zu Sidecars in Azure App Service).

Wie funktionieren Sidecars in App Service?

  • Containerrollen: Jede Sidecar-fähige App verfügt über einen Hauptcontainer (isMain: true) und bis zu neun Sidecar-Container (isMain: false). In der Containerkonfiguration isMain: true wird der Haupt-App-Container festgelegt. Alle anderen müssen isMain: false haben.
  • Vernetzung: Alle Container in der App verwenden denselben Netzwerknamespace und kommunizieren über localhost. Es ist keine Auflösung des Dienstnamens erforderlich. Daher verwenden Sie localhost:<port>. Jeder Container muss auf einem eindeutigen Port lauschen. Für externen HTTP-Datenverkehr werden nur Ports 80 und 8080 unterstützt. Verwenden Sie für die interne Kommunikation alle verfügbaren eindeutigen Ports.
  • Lebenszyklus: Sidecars starten, beenden und skalieren zusammen mit dem Haupt-App-Container. Wenn Ihre App hoch- oder herunterskaliert wird, folgen alle zugeordneten Sidecar-Container automatisch demselben Lebenszyklus.
  • Konfiguration: Sidecars können über das Azure-Portal, ARM-Vorlagen oder CLI konfiguriert werden. Sie geben das Containerimage, Umgebungsvariablen und andere Einstellungen für jeden Container an. App-Einstellungen werden für alle Container freigegeben. Sie können containerspezifische Umgebungsvariablen auch festlegen.
  • Volume mounts: Jeder Container kann über eigene Volume-Mounts verfügen.
  • Authentifizierung: Sidecars können Bilder aus öffentlichen oder privaten Registrierungen abrufen, einschließlich Azure Container Registry. Verwenden Sie verwaltete Identitäts- oder Administratoranmeldeinformationen für private Registrierungen.

Arten von Sidecars

  • Benutzerdefinierte Sidecars: Jedes Containerimage, das Sie bereitstellen, z. B. OpenTelemetry Collector, NGINX oder Ihr eigener Microservice.
  • Vorgefertigte Erweiterungen: Offiziell unterstützte Container für:
    • KI (Phi-3, Phi-4): Fügen Sie Ihrer App lokale SLM-Inferenz (Small Language Model) hinzu.
    • Redis: Fügen Sie einen lokalen Redis-Cache für schnellen Datenzugriff hinzu.
    • Datadog: Integrieren Sie Datadog-Überwachung und Beobachtbarkeit.
    • Und mehr, da Azure den Katalog erweitert.

Häufig gestellte Fragen

Kann ich Sidecars in meinen bestehenden Linux-Apps verwenden?

Informationen zu vorhandenen Nur-Linux-Code-Apps (in integrierten Containern) finden Sie im Lernprogramm: Konfigurieren eines Sidecar-Containers für eine Linux-App in Azure App Service.

Informationen zu vorhandenen benutzerdefinierten Container-Apps finden Sie unter Aktivieren der Sidecar-Unterstützung für benutzerdefinierte Linux-Container.

Wie kann ich Sidecars überwachen und Fehler beheben?

Verwenden Sie den Azure Monitor, die Log Analytics und den Bereich "Diagnose & Solve" im Azure-Portal. Protokolle aus allen Containern sind im App Service-Protokolldatenstrom verfügbar.

Gibt es Einschränkungen?

App Service Environment (ASE) und nationale Clouds werden möglicherweise noch nicht unterstützt. Überprüfen Sie die neueste Azure-Dokumentation auf Updates.

Weitere Ressourcen