Zelf-hostende gateway implementeren in Kubernetes met Helm

VAN TOEPASSING OP: Ontwikkelaar | Premium

Helm is een opensource-pakketprogramma waarmee u de levenscyclus van Kubernetes-toepassingen kunt installeren en beheren. Hiermee kunt u Kubernetes-grafieken beheren. Dit zijn pakketten van vooraf geconfigureerde Kubernetes-resources.

Dit artikel bevat de stappen voor het implementeren van een zelf-hostend gatewayonderdeel van Azure API Management in een Kubernetes-cluster met behulp van Helm.

Belangrijk

Ondersteuning voor zelf-hostende gatewayversie 0 en versie 1 van Azure API Management eindigt op 1 oktober 2023, samen met de bijbehorende Configuratie-API v1. Gebruik onze migratiehandleiding voor het gebruik van zelf-hostende gateway v2.0.0 of hoger met configuration-API v2. Meer informatie vindt u in onze documentatie over afschaffing

Notitie

U kunt ook zelf-hostende gateway implementeren in een Kubernetes-cluster met Azure Arc als clusterextensie.

Vereisten

  • Maak een Kubernetes-cluster of heb toegang tot een bestaand cluster.

    Tip

    Clusters met één knooppunt werken goed voor ontwikkelings- en evaluatiedoeleinden. Gebruik on-premises kubernetes-gecertificeerde clusters met meerdere knooppunten of in de cloud voor productieworkloads.

De Helm-opslagplaats toevoegen

  1. Voeg Azure API Management toe als een nieuwe Helm-opslagplaats.

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. Werk de opslagplaats bij om de meest recente Helm-grafieken op te halen.

    helm repo update
    
  3. Controleer uw Helm-configuratie door alle beschikbare grafieken weer te nemen.

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

De zelf-hostende gateway implementeren in Kubernetes

  1. Selecteer Gateways onder Implementatie en infrastructuur.

  2. Selecteer de zelf-hostende gatewayresource die u wilt implementeren.

  3. Selecteer Implementatie.

  4. Er is automatisch een nieuw token in het tekstvak Token gegenereerd met behulp van de standaardwaarden voor vervaldatum en geheime sleutel . Pas een van beide aan of beide indien gewenst en selecteer Genereren om een nieuw token te maken.

  5. Noteer uw token en configuratie-URL

  6. De zelf-hostende gateway installeren met behulp van de Helm-grafiek

    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. Voer de opdracht uit. Met de opdracht wordt uw Kubernetes-cluster geïnstrueerd om het volgende te doen:

    • Download de installatiekopie van de zelf-hostende gateway vanuit Microsoft Container Registry en voer deze uit als een container.
    • Configureer de container om HTTP-poorten (8080) en HTTPS (8081) beschikbaar te maken.

    Belangrijk

    De gateway maakt standaard gebruik van een ClusterIP-service en wordt alleen in het cluster weergegeven. U kunt dit wijzigen door het type Kubernetes-service op te geven tijdens de installatie.

    U kunt deze bijvoorbeeld beschikbaar maken via een load balancer door deze toe te voegen --set service.type=LoadBalancer

  8. Voer de volgende opdracht uit om te controleren of de gatewaypod wordt uitgevoerd. De podnaam is anders.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. Voer de volgende opdracht uit om te controleren of de gatewayservice wordt uitgevoerd. Uw servicenaam en IP-adressen verschillen.

    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. Ga terug naar Azure Portal en controleer of het gatewayknooppunt dat u hebt geïmplementeerd, de status In orde rapporteert.

Tip

Gebruik kubectl logs <gateway-pod-name> de opdracht om een momentopname van zelf-hostend gatewaylogboek weer te geven.

Volgende stappen