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

Dapr simplifica la creación de aplicaciones resistentes, sin estado y con estado que se ejecutan en la nube y en el perímetro, y abarca la diversidad de lenguajes y marcos de desarrollador. Con la arquitectura de tipo sidecar de Dapr, puede mantener la plataforma de código independiente a la vez que aborda los desafíos relacionados con la creación de microservicios, como:

  • Que llaman a otros servicios de forma confiable y segura
  • Que crean aplicaciones controladas por eventos con pub-sub
  • Que crean aplicaciones portátiles en varios servicios en la nube y hosts (por ejemplo, Kubernetes frente a una máquina virtual)

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 manuales del entorno de ejecución en el clúster de AKS

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.

Nota

Si tiene previsto instalar Dapr en un entorno de producción de Kubernetes, consulte la página de documentación Directrices de Dapr para el uso de producción.

Cómo funciona

La extensión de Dapr usa la CLI de Azure para aprovisionar el plano de control de Dapr en el clúster de AKS o Kubernetes habilitado para Arc, de modo que se crean los siguientes servicios de Dapr:

Servicio de Dapr Descripción
dapr-operator Administra las actualizaciones de componentes y los puntos de conexión de servicio de Kubernetes para Dapr (almacenes de estado, pub/subs, etc.).
dapr-sidecar-injector Inserta Dapr en pods de implementación anotados y agrega las variables de entorno DAPR_HTTP_PORT y DAPR_GRPC_PORT para permitir que las aplicaciones definidas por el usuario se comuniquen fácilmente con Dapr sin codificar de forma rígida los valores de puerto de Dapr.
dapr-placement Se usa solo para actores. Crea tablas de asignación que asignan instancias de actor a pods.
dapr-sentry Administra mTLS entre servicios y actúa como entidad de certificación. Para obtener más información, lea la Introducción a la seguridad.

Una vez instalado Dapr en el clúster, puede empezar a desarrollar con las API del bloque de creación de Dapr agregando algunas anotaciones a las implementaciones. Para obtener información general más detallada de las API de bloques de compilación y la mejor forma de usarlas, consulte la Introducción a los bloques de compilación de Dapr.

Advertencia

Si instala Dapr a través de la extensión de AKS o Kubernetes habilitado para Arc, 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.

Actualmente se admite

Versiones de Dapr

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

Autoadministrado
Para el entorno de ejecución autoadministrado, la extensión de Dapr admite:

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.

Actualización automática
Al habilitar la actualización automática, la extensión Dapr se actualiza a la versión secundaria más reciente. Es posible que experimente cambios importantes entre las actualizaciones.

Componentes

Se admiten los componentes de Azure + código abierto. Los componentes alfa y beta se admiten a través del mejor esfuerzo.

Nubes o regiones

La nube de Global Azure es compatible con 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 ✔️ ✔️

Prerrequisitos

Configuración de la extensión de la CLI de Azure para las extensiones de clúster

Instale la extensión k8s-extension de la CLI de Azure mediante la ejecución de los siguientes comandos:

az extension add --name k8s-extension

Si la extensión k8s-extension ya está instalada, puede actualizarla a su versión más reciente con el siguiente comando:

az extension update --name k8s-extension

Registro del proveedor de servicios KubernetesConfiguration

Si todavía no ha usado extensiones de clúster, es posible que tenga que registrar el proveedor de servicios en su suscripción. Puede consultar el estado de registro del proveedor mediante el comando [az provider list][az-provider-list], tal y como se muestra en el siguiente ejemplo:

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

El proveedor Microsoft.KubernetesConfiguration debería indicar Registered, tal y como se muestra en el siguiente ejemplo de salida:

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

Si el proveedor se muestra como NotRegistered, registre el proveedor con el comando az provider register tal como se muestra en el siguiente ejemplo:

az provider register --namespace Microsoft.KubernetesConfiguration

Creación de la extensión e instalación de Dapr en el clúster de AKS o Kubernetes habilitado para Arc

Al instalar la extensión de Dapr, use el valor de marca que corresponde al tipo de clúster:

  • Clúster de AKS: --cluster-type managedClusters.
  • Clúster de Kubernetes habilitado para Arc: --cluster-type connectedClusters.

Nota

Si usa Dapr OSS en el clúster de AKS y desea instalar la extensión de Dapr para AKS, obtenga más información sobre cómo migrar correctamente a la extensión de Dapr.

Cree la extensión de Dapr, que instala Dapr en el clúster de AKS o Kubernetes habilitado para Arc.

Por ejemplo, instale la versión más reciente de Dapr a través de la extensión Dapr en el clúster de AKS:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false

Obtención como destino una versión específica de Dapr

Nota

Dapr se admite con una ventana gradual, que incluye solo las versiones actuales y anteriores. Es su responsabilidad operativa mantenerse actualizado a estas versiones admitidas. Si tiene una versión más antigua de Dapr, es posible que deba realizar actualizaciones intermedias para llegar a una versión admitida.

Para instalar una versión específica de Dapr o revertir a una versión anterior, se usa el mismo argumento de línea de comandos. Establezca --auto-upgrade-minor-version en false y --version en la versión de Dapr que quiere instalar. Si se omite el parámetro version, la extensión instala la versión más reciente de Dapr. Por ejemplo, para usar Dapr X.X.X:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version X.X.X

Configuración de actualizaciones automáticas en el plano de control de Dapr

Advertencia

Puede habilitar las actualizaciones automáticas en el plano de control de Dapr solo en entornos de desarrollo o pruebas. La actualización automática no es adecuada para entornos de producción.

Si instala Dapr sin especificar una versión, --auto-upgrade-minor-versionse habilita automáticamente, configurando el plano de control de Dapr para actualizar automáticamente su versión secundaria en nuevas versiones. Puede deshabilitar la actualización automática especificando el parámetro --auto-upgrade-minor-version y estableciendo el valor en false. El control de versiones de Dapr tiene el formato MAJOR.MINOR.PATCH, lo que significa que 1.11.0 a 1.12.0 es una actualización de versión secundaria.

--auto-upgrade-minor-version true

Elección de una serie de versiones

Al configurar la extensión, puede elegir instalar Dapr desde un --release-train específico. Especifique uno de los dos valores de entrenamiento de versión:

Value Descripción
stable Predeterminada.
dev Las versiones preliminares pueden contener características experimentales. No son adecuadas para producción.

Por ejemplo:

--release-train stable

Solución de errores de la extensión

Si la extensión no puede crear o actualizar, pruebe sugerencias y soluciones en la guía de solución de problemas de la extensión de Dapr.

Solución de problemas de Dapr

Solucione los errores de Dapr a través de la guía de incidencias y soluciones comunes de Dapr.

Eliminación de la extensión

Si necesita eliminar la extensión y quitar Dapr del clúster de AKS, puede usar el siguiente comando:

az k8s-extension delete --resource-group myResourceGroup --cluster-name myAKSCluster --cluster-type managedClusters --name dapr

Pasos siguientes