Implementación de una puerta de enlace autohospedada de Azure API Management en Azure Kubernetes Service

SE APLICA A: Desarrollador | Premium

En este artículo se detallan los pasos para implementar un componente de puerta de enlace autohospedada de Azure API Management en Azure Kubernetes Service. Para implementar una puerta de enlace autohospedada en un clúster de Kubernetes, consulte el artículo de instrucciones para la implementación mediante un archivo YAML de implementación o con Helm.

Importante

El 1 de octubre de 2023 finaliza la compatibilidad con las imágenes de contenedor de la versión 0 y la versión 1 de la puerta de enlace autohospedada de Azure API Management, junto con su correspondiente Configuration API v1. Use nuestra guía de migración para usar la puerta de enlace autohospedada v2.0.0 o posterior con Configuration API v2. Obtenga más información en nuestra documentación de desuso

Nota

También puede implementar una puerta de enlace autohospedada en un clúster de Kubernetes habilitado para Azure Arc como una extensión de clúster.

Requisitos previos

Implementación de la puerta de enlace autohospedada en AKS

  1. Seleccione Puertas de enlace en Deployment and infrastructure (Implementación e infraestructura).

  2. Seleccione el recurso de puerta de enlace autohospedada que desea implementar.

  3. Seleccione Implementación.

  4. En el cuadro de texto Token se ha generado automáticamente un nuevo token con los valores predeterminados de Expiración y Clave secreta. Ajuste uno o ambos si lo desea y seleccione Generar para crear un nuevo token.

  5. Asegúrese de que Kubernetes esté seleccionado en Scripts de implementación.

  6. Seleccione el vínculo al archivo <gateway-name>.yml junto a Implementación para descargar el archivo.

  7. Ajuste config.service.endpoint, las asignaciones de puertos y el nombre del contenedor en el archivo .yml según sea necesario.

  8. En función de su escenario, puede que tenga que cambiar el tipo de servicio.

    • El valor predeterminado es LoadBalancer, que es el equilibrador de carga externo.
    • Puede usar el equilibrador de carga interno para restringir el acceso a la puerta de enlace autohospedada solo a usuarios internos.
    • En el ejemplo siguiente se usa NodePort.
  9. Seleccione el icono copiar situado en el extremo derecho del cuadro de texto Implementar para guardar el comando kubectl en el portapapeles.

  10. Pegue el comando en la ventana de terminal (o comando). El comando espera que el archivo de entorno descargado esté presente en el directorio actual.

    kubectl apply -f <gateway-name>.yaml
    
  11. Ejecute el comando. El comando indica al clúster de AKS que:

    • Ejecute el contenedor mediante la imagen de puerta de enlace autohospedada descargada de Microsoft Container Registry.
    • Configure el contenedor para exponer los puertos HTTP (8080) y HTTPS (443).
  12. Ejecute el siguiente comando para comprobar que el pod de puerta de enlace se está ejecutando. El nombre del pod será diferente.

    kubectl get pods
    NAME                                   READY     STATUS    RESTARTS   AGE
    contoso-apim-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  13. Ejecute el siguiente comando para comprobar que el servicio de puerta de enlace se está ejecutando. El nombre del servicio y las direcciones IP serán diferentes.

    kubectl get services
    NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    contosogateway   NodePort    10.110.230.87   <none>        80:32504/TCP,443:30043/TCP   1m
    
  14. Vuelva a Azure Portal y confirme que el nodo de puerta de enlace que ha implementado notifica que su estado es correcto.

Sugerencia

Use el comando kubectl logs <gateway-pod-name> para ver una instantánea del registro de la puerta de enlace autohospedada.

Pasos siguientes