Compartir a través de


Extensión de Dapr para Azure Kubernetes Service (AKS) y Kubernetes habilitado con Arc

Distributed Apps Runtime (Dapr) ofrece API que le ayudan a escribir e implementar microservicios sencillos, portables, resistentes y protegidos. Las API de Dapr se ejecutan como un proceso sidecar junto con las aplicaciones y abstraen las complejidades comunes que podría encontrar al compilar aplicaciones distribuidas, como:

  • Detección de servicios
  • Integración del intermediario de mensajería
  • Cifrado
  • Observabilidad
  • Administración de secretos

Dapr se puede adoptar de forma incremental. Puede usar cualquiera de los bloques de creación de la API según sea necesario. Para obtener información sobre el nivel de soporte técnico de las ofertas de Microsoft para la extensión Dapr, consulte Control de problemas.

Características y funcionalidades

El uso de la extensión Dapr para aprovisionar Dapr en el clúster de Kubernetes habilitado para AKS o Arc elimina la sobrecarga de:

  • Descarga de herramientas de Dapr
  • Instalación y administración manual del entorno de ejecución de Dapr en el clúster de AKS

Puede instalar, implementar y configurar la extensión Dapr en el clúster mediante la CLI de Azure o una plantilla de Bicep.

Además, la extensión ofrece compatibilidad con todas las funcionalidades de configuración nativas de Dapr a través de argumentos de línea de comandos sencillos.

Dapr proporciona el siguiente conjunto de funcionalidades para ayudarle con el desarrollo de microservicios en AKS:

  • Aprovisionamiento sencillo de Dapr en AKS a través de extensiones de clúster
  • Portabilidad habilitada a través de las APIs HTTP y gRPC que abstraen las opciones tecnológicas subyacentes.
  • Llamadas de servicio a servicio confiables, seguras y resistentes a través de las API de HTTP y gRPC.
  • Publicación y suscripción a la mensajería que facilita la compatibilidad con el filtrado de CloudEvent y la semántica al menos una vez para la entrega de mensajes
  • Observabilidad y supervisión modulares a través del recopilador de API de OpenTelemetry.
  • Independencia del lenguaje, al tiempo que ofrece kits de desarrollo de software específicos del lenguaje (SDK)
  • Integración con Visual Studio Code mediante la extensión Dapr.
  • API de componentes base para resolver desafíos de aplicaciones distribuidas

Solución de problemas

Microsoft clasifica los problemas que se producen en la extensión Dapr en dos categorías:

  • Operaciones de extensión
  • Entorno de ejecución de Dapr (incluidas las API y los componentes)

En la tabla siguiente se desglosan los niveles de prioridad de soporte para cada una de estas categorías.

Descripción Riesgos y regresiones de seguridad Problemas funcionales
Operaciones de extensión Problemas detectados durante las operaciones de extensión, como instalar, desinstalar o actualizar la extensión Dapr. Microsoft prioriza la resolución inmediata. Microsoft investiga y aborda el problema según sea necesario.
Entorno de ejecución de Dapr Problemas detectados al usar el entorno de ejecución, las API y los componentes de Dapr a través de la extensión, como la expiración del certificado y el comportamiento inesperado de los componentes. Trabaje con el proyecto de código abierto de Dapr para resolverlo en una revisión o una futura versión de código abierto de Dapr. Una vez que las correcciones se publiquen en el código abierto de Dapr, estarán disponibles en la extensión Dapr. Microsoft no investigará los riesgos y regresiones de seguridad conocidos de código abierto en este momento. Analice los problemas con el proyecto de código abierto de Dapr para resolverlo en una revisión o una futura versión de código abierto de Dapr. Microsoft no investigará los problemas funcionales conocidos de código abierto en este momento.

Nubes o regiones

La nube de Global Azure es compatible con AKS y Arc en las siguientes regiones:

Región Compatibilidad con AKS Compatibilidad con Arc para Kubernetes
australiaeast ✔️ ✔️
australiasoutheast ✔️
brazilsouth ✔️
canadacentral ✔️ ✔️
canadaeast ✔️ ✔️
centralindia ✔️ ✔️
centralus ✔️ ✔️
eastasia ✔️ ✔️
eastus ✔️ ✔️
eastus2 ✔️ ✔️
eastus2euap ✔️
francecentral ✔️ ✔️
francesouth ✔️
germanywestcentral ✔️ ✔️
japaneast ✔️ ✔️
japanwest ✔️
koreacentral ✔️ ✔️
koreasouth ✔️
northcentralus ✔️ ✔️
northeurope ✔️ ✔️
norwayeast ✔️
southafricanorth ✔️
southcentralus ✔️ ✔️
southeastasia ✔️ ✔️
southindia ✔️
swedencentral ✔️ ✔️
switzerlandnorth ✔️ ✔️
uaenorth ✔️
uksouth ✔️ ✔️
ukwest ✔️
westcentralus ✔️ ✔️
westeurope ✔️ ✔️
westus ✔️ ✔️
westus2 ✔️ ✔️
westus3 ✔️ ✔️

Preguntas más frecuentes

¿Cómo se comparan las mallas de servicio y de Dapr?

Aunque Dapr y las mallas de servicio ofrecen algunas funcionalidades superpuestas, una malla de servicio se centra en los problemas de red, mientras que Dapr se centra en proporcionar bloques de creación que facilitan la creación de aplicaciones como microservicios. Dapr está centrado en el desarrollador, mientras que las mallas de servicio están centradas en la infraestructura.

Algunas funcionalidades comunes que Dapr comparte con las mallas de servicio incluyen:

  • Protección de la comunicación entre servicios con el cifrado mTLS
  • Recopilación de métricas de servicio a servicio
  • Seguimiento distribuido de servicio a servicio
  • Resistencia a través de reintentos

Dapr proporciona otros bloques de creación de nivel de aplicación para la administración de estados, mensajería de tipo pub/sub, actores, etc. Sin embargo, Dapr no proporciona funcionalidades para el comportamiento del tráfico, como el enrutamiento o la división de este. Si su solución podría beneficiarse de la división del tráfico que proporciona una malla de servicios, considere utilizar Open Service Mesh.

Para obtener más información sobre Dapr y las mallas de servicio, y cómo se pueden usar juntas, consulte la documentación de Dapr.

¿Cómo se compara la API de secretos de Dapr con el controlador CSI de Secrets Store?

Tanto la API de secretos de Dapr como el controlador CSI del almacén de secretos administrado permiten la integración de secretos contenidos en un almacén externo, abstrayendo así la tecnología de almacén de secretos del código de la aplicación.

El controlador CSI del almacén de secretos monta los secretos que se mantienen en Azure Key Vault como un volumen CSI para el consumo por parte de una aplicación.

Dapr expone secretos por medio de una API RESTful que pueden ser:

  • Llamado por el código de aplicación
  • Configurar con almacenes secretos variados

En la tabla siguiente se enumeran las funcionalidades de cada oferta:

API de secretos de Dapr Controlador CSI del almacén de secretos
Almacenes de secretos admitidos Variables de entorno local (para desarrollo); Archivo local (para desarrollo); Secretos de Kubernetes; AWS Secrets Manager; Almacén de secretos de Azure Key Vault; Azure Key Vault con identidades administradas en Kubernetes; GCP Secret Manager; HashiCorp Vault Almacén de secretos de Azure Key Vault.
Acceso a los secretos en el código de aplicación Llama a la API de secretos de Dapr. Acceder al volumen montado o sincronizar el contenido montado como un secreto de Kubernetes y establecer una variable de entorno.
Rotación de secretos Las nuevas llamadas a la API obtienen los secretos actualizados. Sondea los secretos y actualiza el montaje en un intervalo configurable.
Registro y métricas El sidecar de Dapr genera registros, que se pueden configurar con recopiladores como Azure Monitor, emite métricas a través de Prometheus y expone un punto de conexión HTTP para las comprobaciones de estado. Emite métricas de controlador y de proveedor de Azure Key Vault a través de Prometheus.

Para más información sobre la administración de secretos en Dapr, consulte la introducción a la administración de secretos.

Para obtener más información sobre el controlador CSI del almacén de secretos y el proveedor de Azure Key Vault, consulte la introducción al controlador CSI del almacén de secretos.

¿Cómo se compara la extensión de clúster dapr administrada con la oferta de Dapr de código abierto?

La extensión administrada del clúster de Dapr es el método más sencillo para aprovisionar Dapr en un clúster de AKS. Con la extensión, puede descargar la administración de la versión en tiempo de ejecución de Dapr si opta por las actualizaciones automáticas. Además, la extensión instala Dapr con valores predeterminados inteligentes (por ejemplo, para aprovisionar el plano de control de Dapr en modo de alta disponibilidad).

Al instalar código abierto de Dapr mediante Helm o la CLI de Dapr, los desarrolladores y los responsables de mantenimiento de los clústeres también son responsables de las versiones del entorno de ejecución y las opciones de configuración.

Por último, la extensión de Dapr es una extensión de AKS, por lo que puede esperar la misma directiva de compatibilidad que otras características de AKS.

Obtenga más información sobre la migración desde el código abierto de Dapr a la extensión Dapr para AKS.

¿Cómo puedo autenticar componentes de Dapr con Microsoft Entra ID mediante identidades administradas?

¿Cómo puedo cambiar a usar la extensión Dapr si ya he instalado Dapr a través de un método, como Helm?

La recomendación es desinstalar por completo Dapr del clúster de AKS y volver a instalarlo a través de la extensión de clúster. También puede comprobar la instalación de Dapr existente y migrarla a AKS.

Si instala Dapr a través de la extensión de AKS, nuestra recomendación es seguir usando la extensión para la administración futura de Dapr en lugar de la CLI de Dapr. La combinación de las dos herramientas puede provocar conflictos y generar un comportamiento no deseado.

Paso siguiente