Referenz: Self-hosted Gateway Azure Arc Konfigurationseinstellungen

Gilt für: Entwickler | Premium

Dieser Artikel bietet eine Referenz für die erforderlichen und optionalen Einstellungen zur Konfiguration der Azure Arc-Erweiterung für API-Management selbstgehosteten Gateway-Container.

Important

Das selbstgehostete API Management-Gateway in Azure Arc befindet sich derzeit in der Vorschau. Während der Vorschau ist die API Management-Gatewayerweiterung in den folgenden Regionen verfügbar:

  • Asien (Osten, Südosten)
  • Australien (Mitte, Mitte 2, Osten und Südosten)
  • Brasilien (Süden und Südosten)
  • Kanada (Mitte, Osten)
  • Europa (Norden, Westen)
  • Frankreich (Mitte und Süden)
  • Deutschland (Norden und Westen-Mitte)
  • Indien (Mitte, Süden, Westen, Jio, Mitte und Jio, Westen)
  • Japan (Osten und Westen)
  • Südkorea (Mitte und Süden)
  • Norwegen (Osten und Westen)
  • Südafrika (Norden und Westen)
  • Schweden (Mitte)
  • Schweiz (Norden und Westen)
  • Vereinigte Arabische Emirate (VAE – Mitte und Norden)
  • Vereinigtes Königreich (Süden)
  • USA (Mitte, Mitte EUAP, Osten, Osten 2, Osten 2 EUAP, Norden-Mitte, Süden-Mitte, Westen-Mitte, Westen, Westen 2, Westen 3)

Integration der Konfigurations-API

Das selbstgehostete Gateway verwendet die Konfigurations-API, um sich mit Azure API Management zu verbinden, um die neueste Konfiguration zu erhalten und Metriken zu senden, wenn aktiviert.

Hier ist ein Überblick über alle Konfigurationsoptionen:

Name Beschreibung Erforderlich Vorgabe
gateway.configuration.uri Konfigurationsendepunkt in Azure API Management für das selbstgehostete Gateway. Diesen Wert finden Sie im Azure-Portal unter Gateways>Deployment. Ja N/A
gateway.auth.token Authentifizierungsschlüssel zur Authentifizierung beim Azure API Management-Service. Dieser beginnt in der Regel mit GatewayKey. Ja N/A
gateway.configuration.backup.enabled Wenn aktiviert, speichert er eine Sicherungskopie der zuletzt heruntergeladenen Konfiguration auf einem Speichervolume. No false
gateway.configuration.backup.persistentVolumeClaim.accessMode Zugriffsmodus für den Persistent Volume Claim (PVC) Pod. No ReadWriteMany
gateway.configuration.backup.persistentVolumeClaim.size Größe des dauerhaften Volumenanspruchs (PVC) zur Erstellung. No 50Mi
gateway.configuration.backup.persistentVolumeClaim.storageClassName Der Name der Speicherklasse wird für den Persistent Volume Claim (PVC) verwendet. Wenn du keinen Wert (null) zuweist, verwendet die Plattform den Standardwert. Die angegebene Speicherklasse sollte den Zugriffsmodus unterstützen ReadWriteMany . Erfahren Sie mehr über die unterstützten Volumenanbieter und deren unterstützte Zugangsmodi. No null

Cross-Instanz-Entdeckung und Synchronisation

Name Beschreibung Erforderlich Vorgabe
service.instance.heartbeat.port UDP-Port, den Instanzen eines selbstgehosteten Gateway-Deployments verwenden, um Herzschläge an andere Instanzen zu senden. No 4291
service.instance.synchronization.port UDP-Port, den selbstgehostete Gateway-Instanzen zur Synchronisation der Rate-Limiting über mehrere Instanzen verwenden. No 4290

Metriken

Name Beschreibung Erforderlich Vorgabe
telemetry.metrics.cloud Hinweis darauf, ob das Emittieren von Metriken an Azure Monitor aktiviert werden soll. No true
telemetry.metrics.local Aktivieren Sie die Erfassung lokaler Metriken über StatsD. Wert ist eine der folgenden Optionen: none, statsd. No N/A
telemetry.metrics.localStatsd.endpoint StatsD-Endpunkt. Ja, wenn telemetry.metrics.local auf gesetzt statsdist; ansonsten nein. N/A
telemetry.metrics.localStatsd.sampling StatsD-Metriken zeigt die Stichprobenrate. Der Wert muss zwischen 0 und 1 liegen, zum Beispiel 0,5. No N/A
telemetry.metrics.localStatsd.tagFormat Taggingformat der Exportfunktion von StatsD. Value ist eine der folgenden Optionen: librato, dogStatsD, influxDB. No N/A
telemetry.metrics.opentelemetry.enabled Hinweis darauf, ob das Aussenden von Metriken an einen OpenTelemetrie-Sammler auf Kubernetes aktiviert werden soll. No false
telemetry.metrics.opentelemetry.collector.uri URI des OpenTelemetrie-Sammlers zum Senden von Metriken. Ja, wenn observability.opentelemetry.enabled auf gesetzt trueist; ansonsten nein. N/A

Logs

Name Beschreibung Erforderlich Vorgabe
telemetry.logs.std Aktiviere das Logging zu einem Standardstrom. Value ist eine der folgenden Optionen: none, text, json. No text
telemetry.logs.local Aktiviere lokale Protokollierung. Wert ist eine der folgenden Optionen: none, auto, , localsyslogrfc5424, journal,json No auto
telemetry.logs.localConfig.localsyslog.endpoint Endpunkt für lokale Syslogs Ja, wenn telemetry.logs.local auf gesetzt localsyslogist; ansonsten nein. N/A
telemetry.logs.localConfig.localsyslog.facility Spezifiziert den lokalen Syslog-Facility-Code, 7zum Beispiel . No N/A
telemetry.logs.localConfig.rfc5424.endpoint RFC5424 Endpunkt. Ja, wenn telemetry.logs.local auf gesetzt rfc5424ist; ansonsten nein. N/A
telemetry.logs.localConfig.rfc5424.facility Anlagencode gemäß rfc5424, zum Beispiel, 7 No N/A
telemetry.logs.localConfig.journal.endpoint Tagebuch-Endpunkt. Ja, wenn telemetry.logs.local auf gesetzt journalist; ansonsten nein. N/A

Routing von Datenverkehr

Name Beschreibung Erforderlich Vorgabe
service.type Art des Kubernetes-Dienstes, den man zum Öffnen des Gateways verwenden sollte. (Kubernetes-Diensttypen) No ClusterIP
service.http.port Port zur Nutzung zum Exposing von HTTP-Verkehr. No 8080
service.http.nodePort Port auf dem Knoten, um HTTP-Datenverkehr freizustellen. Diese Einstellung erfordert NodePort den Servicetyp. No N/A
service.https.port Port zur Nutzung zum Offenlegen von HTTPS-Verkehr. No 8081
service.https.nodePort Port am Knoten zur Nutzung für die Offenlegung von HTTPS-Verkehr. Diese Einstellung erfordert NodePort den Servicetyp. No N/A
service.annotations Anmerkungen, die dem Kubernetes-Service für das Gateway hinzugefügt werden sollen. No N/A
ingress.annotations Anmerkungen, die zum Kubernetes-Ingress für das Gateway hinzugefügt werden. (experimentelle Kubernetes-Ingress-Unterstützung) No N/A
ingress.enabled Hinweis darauf, ob Kubernetes Ingress verwendet werden soll oder nicht. (experimentelle Kubernetes-Ingress-Unterstützung) No false
ingress.tls TLS-Konfiguration für Kubernetes Ingress. (experimentelle Kubernetes-Ingress-Unterstützung) No N/A
ingress.hosts Konfiguration von Hosts für Kubernetes Ingress. (experimentelle Kubernetes-Ingress-Unterstützung) No N/A

Integrationen

Das selbstgehostete Gateway integriert sich mit verschiedenen anderen Technologien. Dieser Abschnitt bietet einen Überblick über die Konfigurationsoptionen, die Sie verwenden können.

Dapr

Name Beschreibung Erforderlich Vorgabe
dapr.enabled Gibt an, ob Dapr-Integration verwendet werden soll. No false
dapr.app.id Anwendungs-ID zur Verwendung für die Dapr-Integration. No None
dapr.config Definiert, welche Konfiguration CRD Dapr verwenden soll. No tracing
dapr.logging.level Das Niveau der Log-Umfangsreichweite des Dapr-Seitenwagens. No info
dapr.logging.useJsonOutput Zeigt an, ob das Logging im JSON-Format erfolgt. No true

Azure Monitor

Name Beschreibung Erforderlich Vorgabe
monitoring.customResourceId Resource ID des Azure Log Analytics Arbeitsbereichs, an den Logs gesendet werden kann. No N/A
monitoring.ingestionKey Eingabeschlüssel zur Authentifizierung mit dem Azure Log Analytics Arbeitsbereich, um Logs zu senden. No N/A
monitoring.workspaceId Arbeitsbereich-ID des Azure Log Analytics Arbeitsbereichs, an den Logs gesendet werden können. No N/A

Bild- und Arbeitslastplanung

Kubernetes ist eine leistungsstarke Orchestrierungsplattform, die viel Flexibilität bietet, was bereitgestellt werden sollte und wie es geplant werden soll.

Dieser Abschnitt gibt einen Überblick über die verfügbaren Konfigurationsoptionen, mit denen Sie das verwendete Bild beeinflussen können, wie es geplant und zur Selbstheilung konfiguriert wird.

Name Beschreibung Erforderlich Vorgabe
replicaCount Anzahl der Instanzen des selbst gehosteten Gateways, das ausgeführt werden soll. No 3
image.repository Image zum Laufen. No mcr.microsoft.com/azure-api-management/gateway
image.pullPolicy Richtlinie zum Ziehen von Container-Images. No IfNotPresent
image.tag Container-Image-Tag zu verwenden. No Die App-Version der Erweiterung wird verwendet
imagePullSecrets Kubernetes-Geheimnis zur Authentifizierung mit der Container-Registry beim Ziehen des Container-Images. No N/A
probes.readiness.httpGet.path URI-Pfad zur Verwendung für Bereitschaftsproben des Containers No /status-0123456789abcdef
probes.readiness.httpGet.port Hafen zur Nutzung für Liveness-Sonden des Containers No http
probes.liveness.httpGet.path URI-Pfad, der für Liveness-Sonden des Containers verwendet werden soll No /status-0123456789abcdef
probes.liveness.httpGet.port Hafen zur Nutzung für Liveness-Sonden des Containers No http
highAvailability.enabled Angeben, ob das Gateway im Cluster hochverfügbar geplant sein sollte. No false
highAvailability.disruption.maximumUnavailable Anzahl der Pods, die aufgrund freiwilliger Unterbrechungen nicht verfügbar sein dürfen. No 25%
highAvailability.podTopologySpread.whenUnsatisfiable Hinweis darauf, wie Pods über Knoten verteilt werden sollten, falls die Anforderungen nicht erfüllt werden können. Mehr erfahren Sie in den Kubernetes-Dokumenten No ScheduleAnyway
resources Fähigkeit, CPU-/Speicherressourcen zu definieren, die dem Gateway zugewiesen werden No N/A
nodeSelector Möglichkeit, Selektoren zu verwenden, um den Knoten zu identifizieren, auf dem das Gateway laufen soll. No N/A
affinity Affinität für pod scheduling (Kubernetes node affinity) No N/A
tolerations Toleranzen für Pod-Scheduling (Kubernetes-Verunreinigungen und Toleranzen) No N/A