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 funcione mejor para usted y el proyecto con varias opciones de configuración, como:
- Rotación de certificados que expiran
- Aprovisionamiento de Dapr con alta disponibilidad (HA) habilitada
- Limitación de los nodos que usan la extensión Dapr.
- Establecimiento 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.
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 proporcionados por el usuario. Obtenga más información sobre cómo configurar certificados mTLS en la documentación de Dapr de código abierto.
Puede traer sus propios certificados, o permitir que Dapr cree y conserve automáticamente los certificados raíz y emisor autofirmados.
Importante
Si no configura explícitamente certificados, Dapr genera certificados autofirmados, que generalmente son válidos durante 1 año. Actualmente, no se recomienda usar certificados autofirmados generados por Dapr. El procedimiento recomendado es generar certificados personalizados y actualizarlos manualmente.
Si no ha proporcionado 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 contiene información de certificado en el espacio de nombres dapr-system
predeterminado.
Puede comprobar cuándo expira el certificado raíz de Dapr del clúster de Kubernetes mediante la CLI de Dapr.
dapr mtls expiry
Salida prevista:
Root certificate expires in 8759 hours. Expiry date: 2025-12-06 18:14:20 +0000 UTC
También puede encontrar la fecha de expiración del certificado actual en los datos secretos de Kubernetes dapr-trust-bundle
.
kubectl get secret dapr-trust-bundle -n dapr-system -o jsonpath='{.data.issuer\.crt}' | base64 -d | openssl x509 -noout -dates
Salida prevista:
notBefore=Dec 6 17:59:20 2024 GMT
notAfter=Dec 6 18:14:20 2025 GMT
- A través de la CLI de Dapr (recomendado)
Consulte la guía de actualización de certificados raíz y de emisor de Dapr mediante CLI. - A través
kubectl
de comandos Consulte la guía Actualización de certificados raíz o de emisor de Dapr mediante Kubectl.
También puede traer sus propios certificados personalizados.
- Generar certificados personalizados
Cree su propio certificado personalizado; por ejemplo, un certificado de Azure Key Vault. - Actualizar manualmente el certificado personalizado
Siga las instrucciones proporcionadas en la documentación de código abierto de Dapr para actualizar los certificados personalizados manualmente mediantekubectl
.
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.
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”
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"
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 volver a definir el espacio de nombres, incluya el clúster --scope
.
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
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
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 ha 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"
Para usar un proxy de salida con la extensión Dapr para AKS, es necesario:
- Establecer las variables de entorno de proxy mediante las anotaciones
dapr.io/env
:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- Instalar el certificado de proxy en sidecar.
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>
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
- Obtenga más información sobre el uso de imágenes basadas en Mariner con Dapr.
- Obtenga más información sobre la implementación de Linux de Azure en AKS.
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.
La extensión Dapr requiere direcciones URL de salida en https://:443
para funcionar en AKS y Arc para Kubernetes:
https://mcr.microsoft.com/daprio
Dirección URL para extraer artefactos de Dapr.- Las direcciones URL de salida necesarias para AKS o Arc para Kubernetes.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: