Compartir a través de


Configuración de la extensión Dapr para el proyecto de Kubernetes habilitado para Arc y Azure Kubernetes Service (AKS)

Después de completar los requisitos previos para instalar la extensión Dapr, puede configurar la extensión Dapr para que le funcione mejor a usted y al proyecto con varias opciones de configuración, como:

  • Rotación de certificados a punto de expirar
  • Aprovisionamiento de Dapr con alta disponibilidad (HA) habilitado
  • Limitación de los nodos que usan la extensión Dapr.
  • Activación de actualizaciones automáticas de definición de recursos personalizados (CRD)
  • Configuración del espacio de nombres de la versión de Dapr.

La extensión le permite establecer opciones de configuración de Dapr mediante el --configuration-settings parámetro de la CLI de Azure o configurationSettings la propiedad en una plantilla de Bicep.

Importante

A partir del 30 de noviembre de 2025, Azure Kubernetes Service (AKS) ya no admite ni proporciona actualizaciones de seguridad para Azure Linux 2.0. La imagen de nodo de Linux 2.0 de Azure está congelada en la versión 202512.06.0. A partir del 31 de marzo de 2026, se quitarán las imágenes de nodo y no podrá escalar los grupos de nodos. Migre a una versión compatible de Azure Linux mediante la actualización de los grupos de nodos a una versión de Kubernetes compatible o la migración a osSku AzureLinux3. Para más información, consulte [Retirada] Grupos de nodos de Azure Linux 2.0 en AKS.

Actualizar valores de configuración

Importante

Algunas opciones de configuración no se pueden modificar después de la creación. Los ajustes de estas opciones requieren la eliminación y la nueva creación de la extensión, que se aplica a las siguientes configuraciones:

  • global.ha.*
  • dapr_placement.*

La alta disponibilidad está habilitada de manera predeterminada. Para deshabilitarla, es necesario eliminar la extensión y volver a crearla.

Para actualizar los valores de configuración de Dapr, vuelva a crear la extensión con el estado deseado. Por ejemplo, supongamos que hemos creado e instalado previamente la extensión con la siguiente configuración:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \  
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" 

Para actualizar el dapr_operator.replicaCount de dos a tres, use el siguiente comando:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"

Administrar certificados mTLS

La extensión Dapr admite el cifrado en tránsito de la comunicación entre instancias de Dapr mediante el plano de control del servicio Sentry de Dapr, que es una entidad de certificación central (CA). Con el servicio Sentry, puede cifrar la comunicación mediante certificados x.509 autofirmados o que facilite el usuario. Obtenga más información sobre cómo configurar certificados mTLS en la documentación de Dapr de código abierto.

Puede usar sus propios certificados o permitir que Dapr cree y conserve automáticamente los certificados raíz y de emisor autofirmados.

Importante

Si no configura expresamente los certificados, Dapr generará certificados autofirmados, que normalmente son válidos durante 1 año. Actualmente, no se recomienda usar certificados autofirmados generados por Dapr. Lo recomendado es generar certificados personalizados y actualizarlos manualmente.

Administrar certificados autofirmados generados por Dapr

Si no ha incluido ningún certificado personalizado, Dapr crea y conserva automáticamente los certificados autofirmados, válidos durante 1 año. La extensión Dapr instala el secreto de dapr-trust-bundle, que incluye información del certificado en el espacio de nombres dapr-system predeterminado.

Comprobación de la expiración de certificados autofirmados generados por Dapr actuales

Puede comprobar cuándo caduca el certificado raíz de Dapr del clúster de Kubernetes mediante la CLI de Dapr.

dapr mtls expiry

Resultado previsto:

Root certificate expires in 8759 hours. Expiry date: 2025-12-06 18:14:20 +0000 UTC

También puede encontrar la fecha de caducidad del certificado actual en los datos secretos dapr-trust-bundle de Kubernetes.

kubectl get secret dapr-trust-bundle -n dapr-system -o jsonpath='{.data.issuer\.crt}' | base64 -d | openssl x509 -noout -dates

Resultado previsto:

notBefore=Dec  6 17:59:20 2024 GMT
notAfter=Dec  6 18:14:20 2025 GMT

Generar un nuevo certificado autofirmado generado por Dapr

Administrar los propios certificados x.509 facilitados por el usuario

También puede usar su propios certificados personalizados.

Aprovisionamiento de Dapr con alta disponibilidad (HA) habilitada

Aprovisione Dapr con alta disponibilidad (HA) habilitada estableciendo el global.ha.enabled parámetro en true.

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"

Nota:

Si los valores de configuración son confidenciales y deben protegerse, como, por ejemplo, la información relacionada con certificados, pase el parámetro --configuration-protected-settings y el valor se protegerá para que no se lea.

Si no se pasa ninguna configuración, los valores predeterminados de la configuración de Dapr son los siguientes:

  ha:
    enabled: true
    replicaCount: 3
    disruption:
      minimumAvailable: ""
      maximumUnavailable: "25%"
  prometheus:
    enabled: true
    port: 9090
  mtls:
    enabled: true
    workloadCertTTL: 24h
    allowedClockSkew: 15m

Para obtener una lista de las opciones disponibles, consulte Configuración de Dapr.

Limitar la extensión a determinados nodos

En algunas configuraciones, es posible que solo quiera ejecutar Dapr en determinados nodos. Puede limitar la extensión pasando un nodeSelector en la configuración de la extensión. Si el elemento nodeSelector deseado contiene ., debe retirarlos del shell y la extensión. Por ejemplo, la siguiente configuración instala Dapr solo en nodos con topology.kubernetes.io/zone: "us-east-1c":

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.nodeSelector.kubernetes\.io/zone=us-east-1c"

Para administrar el sistema operativo y la arquitectura, use las versiones admitidas de global.daprControlPlaneOs y la configuración global.daprControlPlaneArch:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.daprControlPlaneOs=linux" \
--configuration-settings "global.daprControlPlaneArch=amd64"

Instalación de Dapr en varias zonas de disponibilidad mientras está en modo de alta disponibilidad

De forma predeterminada, el servicio de selección de ubicación usa una clase de almacenamiento de tipo standard_LRS. Se recomienda crear una clase de almacenamiento con redundancia de zona al instalar Dapr en modo de alta disponibilidad en varias zonas de disponibilidad. Por ejemplo, para crear una zrs clase de almacenamiento de tipo, agregue el storageaccounttype parámetro:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: custom-zone-redundant-storage
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
  storageaccounttype: Premium_ZRS

Al instalar Dapr, use la clase de almacenamiento que usó en el archivo YAML:

az k8s-extension create --cluster-type managedClusters  
--cluster-name XXX  
--resource-group XXX  
--name XXX  
--extension-type Microsoft.Dapr  
--auto-upgrade-minor-version XXX  
--version XXX  
--configuration-settings "dapr_placement.volumeclaims.storageClassName=custom-zone-redundant-storage"

Configuración del espacio de nombres de la versión de Dapr

Puede configurar el espacio de nombres de las versiones.

La extensión de Dapr se instala en el espacio de nombres dapr-system de forma predeterminada. Para invalidarlo, use --release-namespace. Para redefinir el espacio de nombres, incluya el --scope del clúster.

az k8s-extension create \
--cluster-type managedClusters \
--cluster-name dapr-aks \
--resource-group dapr-rg \
--name my-dapr-ext \
--extension-type microsoft.dapr \
--release-train stable \
--auto-upgrade false \
--version 1.9.2 \
--scope cluster \
--release-namespace dapr-custom

Obtenga información sobre cómo configurar el espacio de nombres de la versión de Dapr al migrar del código abierto de Dapr a la extensión de Dapr.

Visualización de las opciones de configuración actuales

Use el comando az k8s-extension show para mostrar los valores de configuración actuales de Dapr:

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

Configurar niveles de registro de monitorización de Dapr

Puede configurar las configuraciones del componente de supervisión de Dapr con la extensión del clúster AKS. Por ejemplo, para cambiar los niveles de registro de dapr_monitoring a "advertencia" (solo se notifica al recibir una advertencia o error), ajuste lo siguiente configuration-settings:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_monitoring.logLevel=warn"

Establecimiento del proxy de salida para la extensión de Dapr para Azure Arc local

Para usar un proxy de salida con la extensión Dapr para AKS, es necesario:

  1. Ajustar las variables de entorno de proxy mediante las anotaciones dapr.io/env:
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. Instalar el certificado de proxy en el sidecar.

Actualización de la versión de instalación de Dapr

Si está en una versión específica de Dapr y no tiene --auto-upgrade-minor-version disponible, puede usar el siguiente comando para actualizar Dapr o cambiarlo a una versión anterior:

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to

El comando anterior actualiza solo el plano de control de Dapr. Para actualizar los complementos de Dapr, reinicie las implementaciones de su aplicación:

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

Uso de imágenes basadas en Linux de Azure

En la versión 1.8.0 de Dapr puede usar imágenes de Linux de Azure con la extensión Dapr. Para usarlas, establezca la marca global.tag:

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner

Deshabilitación de las actualizaciones automáticas de CRD

En la versión 1.9.2 de Dapr, los CRD se actualizan automáticamente cuando se actualiza la extensión. Para deshabilitar esta configuración, puede establecer hooks.applyCrds en false.

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"

Nota:

Las CRD solo se aplican en caso de actualizaciones y se omiten cuando se cambia a una versión anterior.

Cumplimiento de los requisitos de red

La extensión Dapr necesita direcciones URL de salida en https://:443 para funcionar en AKS y Arc para Kubernetes:

  1. Dirección URL https://mcr.microsoft.com/daprio para extraer artefactos de Dapr.
  2. Las direcciones URL de salida necesarias para AKS o Arc para Kubernetes.

Pasos siguientes