Extensão Dapr para o Serviço Kubernetes do Azure (AKS) e Kubernetes habilitado para Arc
O Distributed Application Runtime (Dapr) oferece APIs que ajudam a escrever e implementar microsserviços simples, portáteis, resilientes e seguros. As APIs do Dapr são executadas como um processo paralelo em conjunto com seus aplicativos e abstraem complexidades comuns que você pode encontrar ao criar aplicativos distribuídos, como:
- Deteção de serviço
- Integração com o agente de mensagens
- Encriptação
- Observabilidade
- Gestão de segredos
Dapr é gradualmente adotável. Você pode usar qualquer um dos blocos de construção da API conforme necessário. Conheça o nível de suporte que a Microsoft oferece para cada API e componente do Dapr.
Capacidades e funcionalidades
Usar a extensão Dapr para provisionar Dapr em seu cluster Kubernetes habilitado para AKS ou Arc elimina a sobrecarga de:
- Download de ferramentas Dapr
- Instalando e gerenciando manualmente o tempo de execução do Dapr em seu cluster AKS
Além disso, a extensão oferece suporte para todos os recursos de configuração nativos do Dapr por meio de argumentos de linha de comando simples.
O Dapr fornece o seguinte conjunto de recursos para ajudar no desenvolvimento de microsserviços no AKS:
- Fácil provisionamento de Dapr no AKS através de extensões de cluster
- Portabilidade habilitada por meio de APIs HTTP e gRPC que abstraem as opções de tecnologias subjacentes
- Chamadas de serviço a serviço confiáveis, seguras e resilientes por meio de APIs HTTP e gRPC
- Publique e assine mensagens com suporte para filtragem CloudEvent e semântica "pelo menos uma vez" para entrega de mensagens
- Observabilidade e monitoramento conectáveis por meio do coletor de API de Telemetria Aberta
- Independente da linguagem, ao mesmo tempo que oferece kits de desenvolvimento de software (SDKs) específicos da linguagem
- Integração com Visual Studio Code através da extensão Dapr
- Mais APIs para resolver desafios de aplicativos distribuídos
Atualmente suportado
A extensão Dapr é a única opção suportada pela Microsoft para Dapr no AKS.
Tratamento de problemas
A Microsoft categoriza os problemas levantados contra a extensão Dapr em duas partes:
- Operações de extensão
- Tempo de execução do Dapr (incluindo APIs e componentes)
A tabela a seguir detalha os níveis de prioridade de suporte para cada uma dessas categorias.
Description | Riscos de segurança/regressões | Questões funcionais | |
---|---|---|---|
Operações de extensão | Problemas encontrados durante as operações de extensão, como instalar/desinstalar ou atualizar a extensão Dapr. | A Microsoft prioriza a resolução imediata. | A Microsoft investiga e aborda conforme necessário. |
Tempo de execução do Dapr | Problemas encontrados ao usar o tempo de execução, APIs e componentes do Dapr por meio da extensão. | A Microsoft trabalha com a comunidade de código aberto para investigar problemas de alta prioridade. Dependendo da prioridade, gravidade e tamanho do problema, a Microsoft os resolve diretamente na extensão ou trabalha com o projeto de código aberto Dapr para resolver em um hotfix ou futura versão de código aberto do Dapr. Uma vez que as correções são lançadas no código aberto do Dapr, elas são disponibilizadas na extensão Dapr. | A Microsoft investiga novos problemas funcionais juntamente com o projeto de código aberto Dapr e colabora com eles para resolver em um hotfix ou futura versão de código aberto do Dapr. Problemas funcionais de código aberto conhecidos não serão investigados pela Microsoft no momento. |
Versões Dapr
A Microsoft fornece suporte de melhor esforço para a versão mais recente do Dapr e duas versões anteriores (N-2). A versão mais recente do patch é a única versão suportada de cada versão secundária. Atualmente, a extensão Dapr para AKS ou Kubernetes habilitado para Arc suporta as seguintes versões do Dapr:
- 1.14.x
- 1.13.x
- 1.12.x
Você pode executar comandos da CLI do Azure para recuperar uma lista de versões disponíveis em um cluster ou um local.
Suporte de tempo de execução
O suporte à extensão Dapr varia dependendo de como você gerencia o tempo de execução.
Autogerido
O tempo de execução autogerenciado requer atualização manual para permanecer na janela de suporte. Para atualizar o Dapr por meio da extensão, siga as instruções da instância da extensão Update.
Depois que uma versão de tempo de execução do Dapr atinge o fim do suporte da Microsoft, seus aplicativos continuam a ser executados inalterados. No entanto, a Microsoft não pode mais fornecer patches de segurança ou suporte ao cliente relacionado para essa versão de tempo de execução. Se o seu aplicativo encontrar problemas após a data de fim do suporte para essa versão, recomendamos atualizar para uma versão suportada para receber os patches e recursos de segurança mais recentes.
Atualização automática
Habilitar a atualização automática requer uma consideração cuidadosa. Embora a atualização automática mantenha sua extensão Dapr atualizada para a versão secundária mais recente, você pode enfrentar alterações significativas entre as atualizações. A Microsoft não é responsável por qualquer tempo de inatividade causado devido a alterações de quebra entre atualizações automáticas.
Componentes e APIs
Você pode usar todos os componentes e APIs do Dapr por meio da extensão Dapr, incluindo aqueles em status alfa e beta. No entanto, a Microsoft fornece suporte apenas a um subconjunto de APIs e componentes, seguindo as políticas de tratamento de problemas definidas.
APIs Dapr estáveis
A extensão Dapr suporta versões estáveis de APIs Dapr (blocos de construção).
Dapr API | Status | Description |
---|---|---|
Invocação de serviço a serviço | Estável | Descubra serviços e realize chamadas diretas e confiáveis de serviço a serviço com autenticação e criptografia automáticas de mTLS. (#limitations) |
Gestão de estados | Estável | Fornece recursos de gerenciamento de estado para transações e operações CRUD. |
Pub/sub | Estável | Permite que aplicativos de editor e assinante se intercomuniquem por meio de um agente de mensagens intermediário. Você também pode criar assinaturas declarativas para um tópico usando um arquivo JSON de componente externo. |
Ligações | Estável | Acione seus aplicativos com base em eventos. |
Intervenientes | Estável | Os atores do Dapr são unidades de trabalho orientadas por mensagens e de thread único, projetadas para escalar rapidamente. Por exemplo, em situações de carga de trabalho intensa. |
Observabilidade | Estável | Envie informações de rastreamento para um back-end do Application Insights. |
Segredos | Estável | Acesse segredos do código do aplicativo ou faça referência a valores seguros nos componentes do Dapr. |
Configuração | Estável | Recupere e assine itens de configuração do aplicativo para configuração suportada. lojas. |
Componentes Dapr
Componentes de nível 1 versus componentes de nível 2
Um subconjunto de componentes Dapr é suportado. Dentro desse subconjunto, os componentes do Dapr são divididos em duas categorias de suporte: Nível 1 ou Nível 2.
- Componentes de nível 1: componentes estáveis que recebem investigação imediata em cenários críticos (segurança ou regressão grave). Caso contrário, a Microsoft colabora com o código aberto para resolver em um hotfix ou na próxima versão regular.
- Componentes de nível 2: componentes que são investigados em uma prioridade menor, pois não estão em estado estável ou estão com um provedor de terceiros.
Componentes de nível 1
API | Componente | Type |
---|---|---|
Gestão de estados | Azure Cosmos DB Azure Blob Storage v1 Armazenamento de Tabelas do Azure Microsoft SQL Server |
state.azure.cosmosdb state.azure.blobstorage state.azure.tablestorage state.sqlserver |
Publicar e subscrever | Filas do Azure Service Bus Tópicos do Azure Service Bus Hubs de Eventos do Azure |
pubsub.azure.servicebus.queues pubsub.azure.servicebus.topics pubsub.azure.eventhubs |
Enlace | Filas de Armazenamento do Azure Filas do Azure Service Bus Armazenamento de Blobs do Azure Hubs de Eventos do Azure |
bindings.azure.storagequeues bindings.azure.servicebusqueues bindings.azure.blobstorage bindings.azure.eventhubs |
Gestão de segredos | Azure Key Vault | secretstores.azure.keyvault |
Componentes de nível 2
API | Componente | Type |
---|---|---|
Gestão de estados | PostgreSQL MySQL & MariaDB Redis |
state.postgresql state.mysql state.redis |
Publicar e subscrever | Apache Kafka Fluxos Redis |
pubsub.kafka pubsub.redis |
Enlace | Grelha de Eventos do Azure Azure Cosmos DB Apache Kafka PostgreSQL Redis Cron |
bindings.azure.eventgrid bindings.azure.cosmosdb bindings.kafka bindings.postgresql bindings.redis bindings.cron |
Configuração | PostgreSQL Redis |
configuration.postgresql configuration.redis |
Nuvens/regiões
A nuvem global do Azure é suportada com suporte AKS e Arc nas seguintes regiões:
País/Região | Suporte AKS | Suporte ao Arc for 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 |
✔️ | ✔️ |
Perguntas mais frequentes
Como as malhas Dapr e Service se comparam?
Embora o Dapr e as malhas de serviço ofereçam alguns recursos sobrepostos, uma malha de serviço é focada em preocupações de rede, enquanto o Dapr está focado em fornecer blocos de construção que facilitam a criação de aplicativos como microsserviços. O Dapr é centrado no desenvolvedor, enquanto as malhas de serviço são centradas na infraestrutura.
Alguns recursos comuns que o Dapr compartilha com malhas de serviço incluem:
- Comunicação segura de serviço a serviço com criptografia mTLS
- Coleta de métricas de serviço a serviço
- Rastreamento distribuído de serviço a serviço
- Resiliência através de novas tentativas
O Dapr fornece outros blocos de construção de nível de aplicativo para gerenciamento de estado, mensagens pub/sub, atores e muito mais. No entanto, o Dapr não fornece recursos para o comportamento do tráfego, como roteamento ou divisão de tráfego. Se sua solução se beneficiaria da divisão de tráfego que uma malha de serviço fornece, considere usar o Open Service Mesh.
Para obter mais informações sobre o Dapr e as malhas de serviço, e como elas podem ser usadas juntas, visite a documentação do Dapr.
Como a API de segredos do Dapr se compara ao driver CSI da Loja de Segredos?
Tanto a API de segredos Dapr quanto o driver CSI gerenciado do Secrets Store permitem a integração de segredos mantidos em um armazenamento externo, abstraindo a tecnologia de armazenamento secreto do código do aplicativo.
O driver CSI do Repositório de Segredos monta segredos mantidos no Cofre da Chave do Azure como um volume CSI para consumo por um aplicativo.
O Dapr expõe segredos por meio de uma API RESTful que pode ser:
- Chamado pelo código do aplicativo
- Configurado com armazenamentos secretos variados
A tabela a seguir lista os recursos de cada oferta:
API de segredos do Dapr | Driver CSI da Loja de Segredos | |
---|---|---|
Lojas de segredos suportadas | Variáveis de ambiente local (para Desenvolvimento); Arquivo local (para Desenvolvimento); Segredos do Kubernetes; Gerente de Segredos da AWS; Armazenamento secreto do Azure Key Vault; Azure Key Vault com identidades gerenciadas no Kubernetes; Gerente Secreto do GCP; Cofre HashiCorp | Armazenamento secreto do Azure Key Vault |
Acessando segredos no código do aplicativo | Chamar a API de segredos do Dapr | Acesse o volume montado ou sincronize o conteúdo montado como um segredo do Kubernetes e defina uma variável de ambiente |
Rotação secreta | Novas chamadas de API obtêm os segredos atualizados | Sonda segredos e atualiza a montagem em um intervalo configurável |
Registo e métricas | O sidecar Dapr gera logs, que podem ser configurados com coletores como o Azure Monitor, emite métricas via Prometheus e expõe um ponto de extremidade HTTP para verificações de integridade | Emite métricas do driver e do provedor do Azure Key Vault por meio do Prometheus |
Para obter mais informações sobre o gerenciamento secreto no Dapr, consulte a visão geral do gerenciamento de segredos.
Para obter mais informações sobre o driver CSI do Secrets Store e o provedor do Azure Key Vault, consulte a visão geral do driver CSI do Secrets Store.
Como a extensão de cluster Dapr gerenciado se compara à oferta de Dapr de código aberto?
A extensão de cluster Dapr gerenciado é o método mais fácil para provisionar Dapr em um cluster AKS. Com a extensão, você pode descarregar o gerenciamento da versão de tempo de execução do Dapr optando por atualizações automáticas. Além disso, a extensão instala o Dapr com padrões inteligentes (por exemplo, provisionando o plano de controle do Dapr no modo de alta disponibilidade).
Ao instalar o código aberto do Dapr via helm ou a CLI do Dapr, os desenvolvedores e mantenedores de cluster também são responsáveis pelas versões de tempo de execução e opções de configuração.
Por fim, a extensão Dapr é uma extensão do AKS, portanto, você pode esperar a mesma política de suporte que outros recursos do AKS.
Saiba mais sobre como migrar do código aberto Dapr para a extensão Dapr para AKS.
Como posso autenticar componentes do Dapr com o Microsoft Entra ID usando identidades gerenciadas?
- Saiba como os componentes do Dapr são autenticados com o Microsoft Entra ID.
- Saiba mais sobre como usar identidades gerenciadas com o AKS.
Como posso mudar para usar a extensão Dapr se já instalei o Dapr através de um método, como o Helm?
A orientação recomendada é desinstalar completamente o Dapr do cluster AKS e reinstalá-lo através da extensão do cluster. Você também pode verificar a instalação existente do Dapr e migrá-la para o AKS.
Se você instalar o Dapr através da extensão AKS, nossa recomendação é continuar usando a extensão para gerenciamento futuro do Dapr em vez da CLI do Dapr. A combinação das duas ferramentas pode causar conflitos e resultar em comportamentos indesejados.
Passos Seguintes
Azure Kubernetes Service