Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Una manera de enrutar el tráfico de Protocolo de transferencia de hipertexto (HTTP) y seguro (HTTPS) a las aplicaciones que se ejecutan en un clúster de Azure Kubernetes Service (AKS) es usar el objeto de entrada de Kubernetes. Cuando se crea un objeto de entrada que usa las clases de entrada NGINX de enrutamiento de aplicaciones, el complemento crea, configura y administra uno o varios controladores de entrada en el clúster de AKS.
En este artículo se muestra cómo implementar y configurar un controlador de entrada básico en el clúster de AKS.
El complemento de enrutamiento de aplicaciones con NGINX ofrece lo siguiente:
Para ver otras configuraciones, consulta:
Con la retirada de Open Service Mesh (OSM) de Cloud Native Computing Foundation (CNCF), no se recomienda el uso del complemento de enrutamiento de aplicaciones con OSM.
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.ConfigMap
en el espacio de nombres app-routing-system
.load_module
, lua_package
, _by_lua
, location
, root
, proxy_pass
, serviceaccount
, {
, }
, '
.Para habilitar el enrutamiento de aplicaciones en un nuevo clúster, use el comando az aks create
y especifique la marca --enable-app-routing
.
az aks create \
--resource-group <ResourceGroupName> \
--name <ClusterName> \
--location <Location> \
--enable-app-routing \
--generate-ssh-keys
Para habilitar el enrutamiento de aplicaciones en un clúster existente, use el comando az aks approuting enable
.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Para conectarse al clúster de Kubernetes desde su equipo local, use kubectl, el cliente de la línea de comandos de Kubernetes. Puede realizar la instalación localmente mediante el comando az aks install-cli
. Si usa Azure Cloud Shell, kubectl
ya está instalado.
Para configurar kubectl
para conectarse a su clúster de Kubernetes, use el comando az aks get-credentials.
az aks get-credentials --resource-group <ResourceGroupName> --name <ClusterName>
El complemento de enrutamiento de aplicaciones usa anotaciones en objetos de entrada de Kubernetes para crear los recursos adecuados.
Cree el espacio de nombres de la aplicación llamado aks-store
para ejecutar los pods de ejemplo mediante el comando kubectl create namespace
.
kubectl create namespace aks-store
Implemente la aplicación de almacén de AKS mediante el siguiente archivo de manifiesto de YAML:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml -n aks-store
Este manifiesto creará las implementaciones y servicios necesarios para la aplicación de almacén de AKS.
El complemento de enrutamiento de aplicaciones web crea una clase de entrada en el clúster denominada webapprouting.kubernetes.azure.com. Al crear un objeto de entrada de esta clase, se activa el complemento.
Copie el siguiente manifiesto YAML en un nuevo archivo denominado ingress.yaml y guarde el archivo en el equipo local.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: store-front
namespace: aks-store
spec:
ingressClassName: webapprouting.kubernetes.azure.com
rules:
- http:
paths:
- backend:
service:
name: store-front
port:
number: 80
path: /
pathType: Prefix
Cree el recurso de entrada con el comando kubectl apply
.
kubectl apply -f ingress.yaml -n aks-store
En la siguiente salida de ejemplo se muestran los recursos creados:
ingress.networking.k8s.io/store-front created
Compruebe que la entrada administrada se ha creado con el comando kubectl get ingress
.
kubectl get ingress -n aks-store
En la siguiente salida de ejemplo se muestra la entrada administrada creada:
NAME CLASS HOSTS ADDRESS PORTS AGE
store-front webapprouting.kubernetes.azure.com * 51.8.10.109 80 110s
Puede comprobar que el almacén de AKS funciona apuntando el explorador a la dirección IP pública del controlador de entrada. Busque la dirección IP con kubectl:
kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
Para eliminar el espacio de nombres asociado, use el comando kubectl delete namespace
.
kubectl delete namespace aks-store
Para eliminar el complemento enrutamiento de aplicaciones del clúster, use el comando az aks approuting disable
.
az aks approuting disable --name <ClusterName> --resource-group <ResourceGroupName>
Nota
Para evitar posibles interrupciones del tráfico en el clúster cuando el complemento de enrutamiento de aplicaciones está deshabilitado, algunos recursos de Kubernetes, incluidos configMaps, secretos y la implementación que ejecuta el controlador, permanecerán en el clúster. Estos recursos se encuentran en el espacio de nombres app-routing-system. Puede quitar estos recursos si ya no los necesita eliminando el espacio de nombres con kubectl delete ns app-routing-system
.
En Configuraciones de entrada personalizadas se muestra cómo crear una configuración avanzada de entrada y cómo configurar un dominio personalizado mediante Azure DNS para administrar zonas DNS y configurar una entrada segura.
Para realizar la integración con un equilibrador de carga interno de Azure y configurar una zona DNS privada de Azure para habilitar la resolución DNS de los puntos de conexión privados para resolver dominios específicos, consulte Configuración del controlador de entrada NGINX interno para la zona DNS privada de Azure.
Obtenga información sobre la supervisión de las métricas del controlador de ingress-nginx incluidas con el complemento de enrutamiento de aplicaciones con Prometheus en Grafana (versión preliminar) como parte del análisis del rendimiento y el uso de la aplicación.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Ruta de aprendizaje
Arquitectura y operaciones de clúster de Azure Kubernetes Service (AKS) - Training
Arquitectura y operaciones de clúster de Azure Kubernetes Service (AKS)
Certificación
Microsoft Certified: Azure Network Engineer Associate - Certifications
Muestre el diseño, la implementación y el mantenimiento de la infraestructura de red de Azure, el tráfico de equilibrio de carga, el enrutamiento de red, etc.