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.
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
- Complete el siguiente inicio rápido: Creación de una instancia de Azure API Management.
- Cree un clúster de Kubernetes u obtenga acceso a uno existente.
Sugerencia
Los clústeres de un solo nodo funcionan bien con fines de desarrollo y evaluación. Use clústeres de varios nodos certificados de Kubernetes en un entorno local o en la nube para cargas de trabajo de producción.
- Aprovisione un recurso de puerta de enlace autohospedada en la instancia de API Management.
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.
- Seleccione Puertas de enlace en Deployment and infrastructure (Implementación e infraestructura).
- Seleccione el recurso de puerta de enlace autohospedada que quiere implementar.
- Seleccione Implementación.
- 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.
- Seleccione la pestaña Kubernetes en Scripts de implementación.
- Seleccione el vínculo del archivo <nombre-puertadeenlace>.yml y descargue el archivo YAML.
- Seleccione el icono copiar situado en la esquina inferior derecha del cuadro de texto Implementar para guardar los comandos
kubectl
en el Portapapeles. - 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. - 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
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
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
Vuelva a Azure Portal y seleccione Información general.
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.
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
- Para obtener más información sobre la puerta de enlace autohospedada, consulte Introducción a la puerta de enlace autohospedada.
- Aprenda a implementar una puerta de enlace de API Management autohospedada en clústeres de Kubernetes habilitados para Azure Arc.
- Aprenda más sobre las instrucciones para ejecutar la puerta de enlace auto-hospedada en Kubernetes en producción.