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:
- La versión más reciente de Dapr y dos versiones anteriores (N-2)
- Actualización incremental de la versión secundaria (por ejemplo, 1.5 -> 1.6 -> 1.7)
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
- Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Instalar la versión más reciente de la CLI de Azure.
- Si aún no tiene uno, debe crear un clúster de AKS o conectar un clúster de Kubernetes habilitado para Arc.
- Asegúrese de tener un rol de administrador de RBAC de Azure Kubernetes Service.
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-version
se 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
- Obtenga más información sobre la configuración y las preferencias adicionales que puede establecer en la extensión de Dapr.
- Una vez que haya aprovisionado correctamente Dapr en el clúster de AKS, intente implementar una aplicación de ejemplo.
- Pruebe el flujo de trabajo de Dapr en la extensión de Dapr para AKS.