Complemento de Open Service Mesh (OSM) en Azure Kubernetes Service (AKS)

Open Service Mesh (OSM) es una malla de servicio nativa ligera, extensible y en la nube que le permite administrar de forma uniforme características de observación para entornos de microservicios muy dinámicos, así como protegerlas y disfrutar de ellas de inmediato.

OSM ejecuta un plano de control basado en Envoy en Kubernetes y se puede configurar con las API de SMI. OSM funciona insertando un proxy de Envoy como un contenedor sidecar con cada instancia de la aplicación. El proxy de Envoy contiene y ejecuta reglas en torno a las directivas de control de acceso, implementa la configuración de enrutamiento y captura las métricas. El plano de control configura continuamente los servidores proxy de Envoy para asegurarse de que las directivas y las reglas de enrutamiento estén actualizadas y que los servidores proxy sean correctos.

Microsoft inició el proyecto de OSM, pero ahora se rige por Cloud Native Computing Foundation (CNCF).

Nota:

Con la retirada de Open Service Mesh (OSM) de Cloud Native Computing Foundation (CNCF), se recomienda identificar las configuraciones de OSM y migrarlas a una configuración equivalente de Istio. Para obtener información sobre la migración de OSM a Istio, consulte Guía de migración para configuraciones de Open Service Mesh (OSM) a Istio.

Habilitación del complemento de OSM

OSM se puede agregar al clúster de Azure Kubernetes Service (AKS) habilitando el complemento de OSM mediante la CLI de Azure o una plantilla de Bicep. El complemento de OSM proporciona una instalación totalmente compatible de OSM que se integra con AKS.

Importante

Según la versión de Kubernetes que ejecuta el clúster, el complemento de OSM instalará una versión diferente de OSM.

Versión de Kubernetes Versión instalada de OSM
1.24.0 o superior 1.2.5
Entre 1.23.5 y 1.24.0 1.1.3
Anterior a 1.23.5 1.0.0

Es posible que las versiones anteriores de OSM no estén disponibles para su instalación o se admita activamente si la versión de AKS correspondiente ha alcanzado el final del ciclo de vida. Puede comprobar el calendario de versiones de Kubernetes de AKS para obtener información sobre las ventanas de compatibilidad con las versiones de AKS.

Características y funcionalidades

OSM proporciona las siguientes funciones y características:

  • Protección de la comunicación de servicio a servicio habilitando TLS mutuo (mTLS).
  • Incorporación de aplicaciones a la malla de OSM con la inserción automática del sidecar del proxy de Envoy.
  • Configuración de forma transparente del cambio de tráfico en las implementaciones.
  • Definición y ejecución de directivas de control de acceso detalladas de los servicios.
  • Supervisión y depuración de los servicios mediante la observabilidad y la información sobre las métricas de la aplicación.
  • Cifrado de comunicaciones entre los puntos de conexión de servicio implementados en el clúster.
  • Habilitación de la autorización del tráfico HTTP/HTTPS y TCP.
  • Configuración de controles de tráfico ponderado entre dos o más servicios para pruebas A/B o implementaciones de valor controlado.
  • Recopilación y visualización de KPI del tráfico de la aplicación.
  • Integración con la administración de certificados externos.
  • Se integra con soluciones de entrada existentes, como NGINX, Contour y el enrutamiento de aplicaciones.

Para obtener más información sobre la entrada y OSM, consulte Uso de la entrada para administrar el acceso externo a los servicios dentro del clúster e Integración de OSM con Contour para la entrada. Para obtener un ejemplo de cómo integrar OSM con controladores de entrada mediante la API networking.k8s.io/v1, consulte Entrada con el controlador de entrada Nginx de Kubernetes. Para obtener más información sobre el uso del enrutamiento de aplicaciones, que se integra automáticamente con OSM, consulte Enrutamiento de aplicaciones.

Limitaciones

El complemento AKS de OSM tiene las siguientes limitaciones:

  • Después de la instalación, el redireccionamiento de Iptables para la dirección IP del puerto y la exclusión del intervalo de puertos debe habilitarse mediante kubectl patch. Para más información, consulte redireccionamiento de Iptables.
  • Los pods que se incorporan a la malla que necesitan acceso a IMDS, Azure DNS o al servidor de API de Kubernetes deben tener sus direcciones IP en la lista global de intervalos IP de salida excluidos mediante exclusiones de intervalos IP de salida globales.
  • OSM no admite contenedores de Windows Server Core.

Pasos siguientes

Después de habilitar el complemento de OSM mediante la CLI de Azure o una plantilla de Bicep, puede: