Compartir a través de


Extensión de Dapr para Azure Kubernetes Service (AKS) y Kubernetes habilitado para 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 en tándem con sus aplicaciones y eliminan las complejidades comunes que puede encontrar al crear aplicaciones distribuidas, como:

  • Detección de servicios
  • Integración del agente de mensajes
  • 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. Obtenga información sobre el nivel de soporte técnico que ofrece Microsoft para cada API y componente de Dapr.

Características y funcionalidades

El uso de la extensión de Dapr para aprovisionar Dapr en el clúster de AKS o Kubernetes habilitado para 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 API de HTTP y gRPC que abstraen las opciones de tecnologías 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 conectables a través del recopilador de API de Open Telemetry.
  • Independiente del lenguaje, si bien también ofrece kits de desarrollo de software (SDK) específicos de lenguaje
  • Integración con Visual Studio Code mediante la extensión Dapr.
  • Más API para resolver los desafíos de las aplicaciones distribuidas

Actualmente se admite

La extensión Dapr es la única opción que admite Microsoft para Dapr en AKS.

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 de seguridad/Regresiones 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 mediante la extensión. Microsoft trabaja con la comunidad de código abierto para investigar problemas de alta prioridad. En función de la prioridad, la gravedad y el alcance del problema, Microsoft lo resuelve directamente en la extensión o trabaja con el proyecto de código abierto de Dapr para corregir el problema en una revisión o en una versión futura 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 investiga los nuevos problemas funcionales junto con el proyecto de código abierto de Dapr y colabora con ellos para resolverlos en una revisión o una versión futura de código abierto de Dapr. Actualmente, Microsoft no investiga los problemas funcionales de código abierto conocidos.

Versiones de Dapr

Microsoft proporciona soporte técnico, en la medida de lo posible, para la versión más reciente de Dapr y las dos versiones anteriores (N-2). La versión de revisión más reciente es la única versión admitida de cada versión secundaria. Actualmente, la extensión Dapr para AKS o Kubernetes habilitado para Arc admite las siguientes versiones de Dapr:

  • 1.14.x
  • 1.13.x
  • 1.12.x

Puede ejecutar comandos de la CLI de Azure para recuperar una lista de versiones disponibles en un clúster o en una ubicación.

Aprenda a ver y establecer como destino las versiones estables de Dapr más recientes disponibles para el clúster de AKS administrado.

Compatibilidad con el tiempo de ejecución

La compatibilidad con la extensión de Dapr varía en función de cómo administre el entorno de ejecución.

Autoadministrado

El entorno de ejecución autoadministrado requiere que la actualización manual permanezca en la ventana de soporte técnico. Para actualizar Dapr a través de la extensión, siga las instrucciones de la instancia de actualización de la extensión.

Una vez que una versión del entorno de ejecución de Dapr llegue al final del soporte técnico de Microsoft, las aplicaciones seguirán ejecutándose sin cambios. No obstante, Microsoft ya no proporcionará revisiones de seguridad ni soporte técnico relacionado al cliente para esa versión del entorno de ejecución. Si la aplicación tiene algún problema después de la fecha de finalización del soporte técnico para esa versión, se recomienda actualizar a una versión compatible para recibir las últimas revisiones de seguridad y características.

Actualización automática

La habilitación de la actualización automática debe considerarse con atención. Aunque la actualización automática mantiene la extensión Dapr actualizada a la versión secundaria más reciente, puede experimentar cambios importantes entre las actualizaciones. Microsoft no es responsable de ningún tiempo de inactividad debido a cambios importantes entre las actualizaciones automáticas.

Componentes y API

Puede usar todos los componentes y API de Dapr mediante la extensión Dapr, incluidos los que se encuentran en estado alfa y beta. Sin embargo, Microsoft solo proporciona soporte para un subconjunto de API y componentes, de acuerdo con las directivas de solución de problemas definidas.

API de Dapr estables

La extensión Dapr admite versiones estables de las API de Dapr (bloques de creación).

API de Dapr Estado Descripción
Invocación de servicio a servicio Stable Descubra los servicios y realice llamadas de servicio a servicio confiables y directas con autenticación y cifrado automáticos de mTLS.(#limitaciones)
Administración de estados Stable Proporciona funcionalidades de administración de estado para transacciones y operaciones CRUD.
Pub/sub Stable Permite que las aplicaciones de publicador y suscriptor se comuniquen entre ellas por medio de un agente de mensajes intermediario. También puede crear suscripciones declarativas a un tema mediante un archivo JSON de componente externo.
Enlaces Stable Desencadenan las aplicaciones en función de los eventos.
Actores Stable Los actores de Dapr son unidades de trabajo orientadas a mensajes, de un solo subproceso y diseñadas para escalar rápidamente. Por ejemplo, en situaciones de carga de trabajo en ráfaga intensivas.
Observabilidad Stable Envíe información de seguimiento a un back-end de Application Insights.
Secretos Stable Acceda a secretos desde el código de la aplicación o haga referencia a valores seguros en los componentes de Dapr.
Configuración Stable Recupere los elementos de configuración de la aplicación y suscríbase a ellos para la configuración admitida. de datos.

Componentes de nivel 1 frente a componentes de nivel 2

Se admite un subconjunto de componentes de Dapr. Dentro de ese subconjunto, los componentes de Dapr se dividen en dos categorías de soporte técnico: nivel 1 o nivel 2.

  • Componentes de nivel 1: componentes estables que reciben investigación inmediata en escenarios críticos (seguridad o regresión grave). De lo contrario, Microsoft colabora con código abierto para abordar el problema en una revisión o en la próxima versión normal.
  • Componentes de nivel 2: componentes que se investigan con una prioridad menor, ya que no tienen un estado estable o están con un proveedor externo.

Componentes de nivel 1

API Componente Tipo
Administración de estados Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publicación y suscripción Azure Service Bus Queues
Azure Service Bus Topics
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Enlace Colas de Azure Storage
Azure Service Bus Queues
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Administración de secretos Azure Key Vault secretstores.azure.keyvault

Componentes de nivel 2

API Componente Tipo
Administración de estados PostgreSQL
MySQL y MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publicación y suscripción Apache Kafka
Secuencias de Redis
pubsub.kafka
pubsub.redis
Enlace Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Configuración PostgreSQL
Redis
configuration.postgresql
configuration.redis

Nubes o regiones

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

Region 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 la solución se beneficia del tráfico que se divide en una malla de servicio, considere la posibilidad de usar 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 del almacén de secretos?

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 de RESTful que se puede:

  • Llamar mediante 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; Administrador de secretos de AWS; Secretos de Azure Key Vault; Azure Key Vault con identidades administradas en Kubernetes; Administrador de secretos de GCP; HashiCorp Vault. Almacén de secretos de Azure Key Vault.
Acceso a los secretos en el código de aplicación Llamada a la API de secretos de Dapr. Acceso al volumen montado o sincronización del contenido montado como un secreto de Kubernetes y establecimiento de una variable de entorno.
Rotación de secretos Las nuevas llamadas 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 obtener 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 administrada del clúster de Dapr 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 al uso de la extensión de 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.

Pasos siguientes