Bereitstellen eines selbstgehosteten Gateways in Kubernetes mit Helm

GILT FÜR: Entwickler | Premium

Helm ist ein Open Source-Verpackungstool, das Ihnen dabei hilft, Kubernetes-Anwendungen zu installieren und ihren Lebenszyklus zu verwalten. Damit können Sie Kubernetes-Diagramme verwalten, bei denen es sich um Pakete vorkonfigurierter Kubernetes-Ressourcen handelt.

Dieser Artikel enthält die Schritte zum Bereitstellen einer selbstgehosteten Gatewaykomponente von Azure API Management in einem Kubernetes-Cluster mithilfe von Helm.

Wichtig

Support für die Version 0 und Version 1 der Containerimages des selbstgehosteten Gateways von Azure API Management endet am 1. Oktober 2023, zusammen mit der zugehörigen Konfigurations-API v1. Verwenden Sie unser Migrationshandbuch, um das selbstgehostete Gateway v2.0.0 oder höher mit der Konfigurations-API v2 zu verwenden. Weitere Informationen finden Sie in unserer Dokumentation zur Einstellung veralteter Versionen.

Hinweis

Sie können auch das selbstgehostete Gateway in einem Kubernetes-Cluster mit Azure Arc-Unterstützung als Clustererweiterung bereitstellen.

Voraussetzungen

  • 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.

Fügen Sie das Helm-Repository hinzu

  1. Fügen Sie Azure API Management als ein neues Helm-Repository hinzu.

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. Aktualisieren Sie das Repository, um die neuesten Helm-Diagramme abzurufen.

    helm repo update
    
  3. Überprüfen Sie Ihre Helm-Konfiguration, indem Sie alle verfügbaren Diagramme auflisten.

    $ helm search repo azure-apim-gateway
    NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
    azure-apim-gateway/azure-api-management-gateway 1.0.0           2.0.0           A Helm chart to deploy an Azure API Management ...
    

Stellen Sie das selbstgehostete Gateway in Kubernetes bereit

  1. Wählen Sie Gateways unter Bereitstellung und Infrastruktur aus.

  2. Wählen Sie die selbstgehostete Gatewayressource aus, die Sie bereitstellen möchten.

  3. Wählen Sie Bereitstellung aus.

  4. Im Textfeld Token wurde automatisch ein neues Token mit den Standardwerten Ablauf und Geheimer Schlüssel generiert. Passen Sie einen Wert oder beide Werte an, und wählen Sie Generieren aus, um ein neues Token zu erstellen.

  5. Notieren Sie sich Ihr Token und Ihre Konfigurations-URL

  6. Installieren Sie das selbstgehostete Gateway mithilfe des Helm-Diagramms

    helm install azure-api-management-gateway \
                 --set gateway.configuration.uri='<your configuration url>' \
                 --set gateway.auth.key='<your token>' \
                 azure-apim-gateway/azure-api-management-gateway
    
  7. Führen Sie den Befehl aus. Mit dem Befehl wird ihr Kubernetes-Cluster angewiesen, Folgendes auszuführen:

    • Herunterladen des Image des selbstgehosteten Gateways aus der Microsoft Container Registry und Ausführen als Container.
    • Konfigurieren des Containers, sodass die Ports HTTP (8080) und HTTPS (8081) verfügbar sind.

    Wichtig

    Standardmäßig verwendet das Gateway einen ClusterIP-Dienst und wird nur innerhalb des Clusters verfügbar gemacht. Sie können dies ändern, indem Sie den Typ des Kubernetes-Dienstes während der Installation angeben.

    Sie können es beispielsweise über einen Lastenausgleich verfügbar machen, indem Sie --set service.type=LoadBalancer hinzufügen

  8. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Gatewaypod ausgeführt wird. Ihr Podname lautet anders.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Gatewaydienst ausgeführt wird. Ihr Dienstname und die IP-Adressen lauten anders.

    kubectl get services
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)               AGE
    azure-api-management-gateway   ClusterIP   10.0.229.55     <none>        8080/TCP,8081/TCP     1m
    
  10. Kehren Sie zurück zum Azure-Portal, und vergewissern Sie sich, dass der bereitgestellte Gatewayknoten einen fehlerfreien Status meldet.

Tipp

Verwenden Sie den Befehl kubectl logs <gateway-pod-name>, um eine Momentaufnahme des Protokolls des selbstgehosteten Gateways anzuzeigen.

Nächste Schritte