Bereitstellen eines selbstgehosteten Gateways in Kubernetes mit YAML
GILT FÜR: Entwickler | Premium
In diesem Artikel werden die Schritte für die Bereitstellung der selbstgehosteten Gatewaykomponente von Azure API Management für einen Kubernetes-Cluster beschrieben.
Hinweis
Sie können auch das selbstgehostete Gateway in einem Kubernetes-Cluster mit Azure Arc-Unterstützung als Clustererweiterung bereitstellen.
Voraussetzungen
- Bearbeiten Sie den folgenden Schnellstart: Erstellen einer neuen Azure API Management-Dienstinstanz
- Erstellen Sie einen Kubernetes-Cluster oder greifen Sie auf einen vorhandenen zu.
Tipp
Cluster mit einem einzelnen Knoten eignen sich gut für Entwicklungs- und Evaluierungszwecke. Verwenden Sie für Produktionsworkloads einen für Kubernetes zertifizierten Cluster mit mehreren Knoten, entweder lokal oder in der Cloud.
- Stellen Sie eine selbstgehostete Gatewayressource in Ihrer API Management-Instanz bereit.
Bereitstellen in Kubernetes
Tipp
Mit den folgenden Schritte wird das selbstgehostete Gateway in Kubernetes bereitgestellt und die Authentifizierung bei der API Management-Instanz mithilfe eines Gatewayzugriffstokens (Authentifizierungsschlüssel) ermöglicht. Sie können das selbstgehostete Gateway auch in Kubernetes bereitstellen und die Authentifizierung bei der API Management-Instanz mithilfe von Azure AD aktivieren.
- Wählen Sie Gateways unter Bereitstellung und Infrastruktur aus.
- Wählen Sie die selbstgehostete Gatewayressource aus, die Sie bereitstellen möchten.
- Wählen Sie Bereitstellung aus.
- Im Textfeld Token wurde auf Grundlage der Standardwerte Ablauf und Geheimer Schlüssel automatisch ein Zugriffstoken für Sie generiert. Wählen Sie bei Bedarf Werte in einem oder beiden Steuerelementen aus, um ein neues Token zu generieren.
- Wählen Sie unter Bereitstellungsskripts die Registerkarte Kubernetes aus.
- Wählen Sie den Link zur Datei <gateway-name>.yml aus, und laden Sie die YAML-Datei herunter.
- Wählen Sie rechts unten im Textfeld Bereitstellen das Symbol Kopieren aus, um die
kubectl
-Befehle in der Zwischenablage zu speichern. - Wenn Sie Azure Kubernetes Service (AKS) verwenden, führen Sie
az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin
in einer neuen Terminalsitzung aus. - Führen Sie die Befehle aus, um die erforderlichen Kubernetes-Objekte im Standardnamespace zu erstellen, und starten Sie die selbstgehosteten Gatewaypods aus dem Containerimage, das aus der Microsoft-Artefaktregistrierung heruntergeladen wurde.
- Mit dem ersten Schritt wird ein Kubernetes-Geheimnis erstellt, welches das in Schritt 4 generierte Zugriffstoken enthält. Als Nächstes wird eine Kubernetes-Bereitstellung für das selbstgehostete Gateway erstellt, das eine ConfigMap mit der Konfiguration des Gateways verwendet.
Sicherstellen, dass das Gateway ausgeführt wird
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Bereitstellung erfolgreich war. Es kann einige Zeit dauern, bis alle Objekte erstellt sind und die Pods initialisiert wurden.
kubectl get deployments
Die Rückgabe sollte wie folgt lauten:
NAME READY UP-TO-DATE AVAILABLE AGE <gateway-name> 1/1 1 1 18s
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Dienste erfolgreich erstellt wurden. Die IP-Adressen und Ports Ihrer Dienste werden sich unterscheiden.
kubectl get services
Die Rückgabe sollte wie folgt lauten:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE <gateway-name>-live-traffic ClusterIP None <none> 4290/UDP,4291/UDP 9m1s <gateway-name>-instance-discovery LoadBalancer 10.99.236.168 <pending> 80:31620/TCP,443:30456/TCP 9m1s
Kehren Sie zurück zum Azure-Portal, und wählen Sie Übersicht aus.
Vergewissern Sie sich, dass in Status ein grünes Häkchen angezeigt wird, gefolgt von einer Knotenanzahl, die der Anzahl der in der YAML-Datei angegebenen Replikate entspricht. Dieser Status bedeutet, dass die bereitgestellten selbstgehosteten Gatewaypods erfolgreich mit dem API Management-Dienst kommunizieren und einen regelmäßigen „Takt“ (Heartbeat) aufweisen.
Tipp
- Führen Sie den Befehl
kubectl logs deployment/<gateway-name>
aus, um Protokolle von einem zufällig ausgewählten Pod anzuzeigen, falls es mehrere gibt. - Führen Sie
kubectl logs -h
aus, um eine vollständige Übersicht über alle Befehlsoptionen zu erhalten, wie z. B. Protokolle für einen bestimmten Pod oder Container.
Nächste Schritte
- Weitere Informationen zum selbstgehosteten Gateway finden Sie unter Selbstgehostetes Gateway – Übersicht.
- Hier erfahren Sie, wie Sie das selbstgehostete API Management-Gateway für Kubernetes-Cluster mit Azure Arc-Unterstützung bereitstellen.
- Erfahren Sie mehr über Anleitungen zum Ausführen des selbstgehosteten Gateways in Kubernetes in der Produktion.