Implementación de una puerta de enlace autohospedada en Kubernetes con YAML

SE APLICA A: Desarrollador | Premium

En este artículo se describen los pasos para implementar un componente de puerta de enlace autohospedada de Azure API Management en un clúster de Kubernetes.

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 en Kubernetes

Sugerencia

En los pasos siguientes se implementa la puerta de enlace autohospedada en Kubernetes y se habilita la autenticación en la instancia de API Management mediante un token de acceso de puerta de enlace (clave de autenticación). También puede implementar la puerta de enlace autohospedada en Kubernetes y habilitar la autenticación en la instancia de API Management mediante Microsoft Entra ID.

  1. Seleccione Puertas de enlace en Deployment and infrastructure (Implementación e infraestructura).
  2. Seleccione el recurso de puerta de enlace autohospedada que quiere implementar.
  3. Seleccione Implementación.
  4. Se ha generado automáticamente un token de acceso en el cuadro de texto Token según los valores predeterminados de Expiración y Clave secreta. Si es necesario, elija valores en uno o ambos controles para generar un nuevo token.
  5. Seleccione la pestaña Kubernetes en Scripts de implementación.
  6. Seleccione el vínculo del archivo <nombre-puertadeenlace>.yml y descargue el archivo YAML.
  7. Seleccione el icono copiar situado en la esquina inferior derecha del cuadro de texto Implementar para guardar los comandos kubectl en el Portapapeles.
  8. Al usar Azure Kubernetes Service (AKS), ejecute az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin en una sesión de terminal nueva.
  9. Ejecute los comandos para crear los objetos de Kubernetes necesarios en el espacio de nombres predeterminado e inicie los pods de la puerta de enlace autohospedada desde la imagen de contenedor descargada del Registro de artefacto de Microsoft.
    • El primer paso crea un secreto de Kubernetes que contiene el token de acceso generado en el paso 4. Después, crea una implementación de Kubernetes para la puerta de enlace autohospedada que usa un elemento ConfigMap con la configuración de la puerta de enlace.

Confirme que la puerta de enlace se está ejecutando

  1. Ejecute el siguiente comando para comprobar si la implementación se realizó correctamente. La creación de todos los objetos y la inicialización de los pods pueden tardar un poco.

    kubectl get deployments
    

    Debe devolver

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  2. Ejecute el siguiente comando para comprobar si los servicios se crearon correctamente. Las direcciones IP y los puertos del servicio serán diferentes.

    kubectl get services
    

    Debe devolver

    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
    
  3. Vuelva a Azure Portal y seleccione Información general.

  4. Confirme que Estado muestra una marca de verificación verde seguida de un recuento de nodos que coincide con el número de réplicas especificado en el archivo YAML. Este estado significa que los pods de puerta de enlace autohospedados implementados se comunican correctamente con el servicio de API Management y tienen un "latido" normal. Captura de pantalla que muestra el estado de la puerta de enlace autohospedada en el portal.

Sugerencia

  • Ejecute el comando kubectl logs deployment/<gateway-name> para ver los registros de un pod seleccionado aleatoriamente si hay más de uno.
  • Ejecute kubectl logs -h para un conjunto completo de opciones de comando; por ejemplo, para ver los registros de un pod o contenedor específico.

Pasos siguientes