Compartilhar via


Extensão Dapr para o Serviço de Kubernetes do Azure (AKS) e Kubernetes com Arc habilitado

O Distributed Application Runtime (Dapr) oferece APIs que ajudam você a escrever e implementar microsserviços simples, portáteis, resilientes e protegidos. As APIs do Dapr são executadas como processos auxiliares junto com seus aplicativos e simplificam complexidades comuns encontradas ao desenvolver aplicativos distribuídos, tais como:

  • Descoberta de serviço
  • Integração do broker de mensagens
  • Criptografia
  • Observabilidade
  • Gerenciamento de segredos

O Dapr é adotável incrementalmente. Você pode usar qualquer um dos blocos de compilação de APIs, conforme necessário. Para saber mais sobre o nível de suporte que a Microsoft oferece para a extensão da Dapr, consulte Tratamento de problemas.

Funcionalidades e recursos

Usar a extensão Dapr para provisionar o Dapr em seu cluster Kubernetes habilitado para AKS ou Arc elimina a sobrecarga de:

  • Baixar ferramentas do Dapr
  • Instalar e gerenciar manualmente o runtime do Dapr em seu cluster do AKS

Você pode instalar, implantar e configurar a extensão Dapr em seu cluster usando a CLI do Azure ou um modelo Bicep.

Além disso, a extensão oferece suporte para todos os recursos de configuração do Dapr nativos por meio de argumentos de linha de comando simples.

O Dapr fornece o seguinte conjunto de recursos para ajudar no desenvolvimento de seu microsserviço no AKS:

  • Provisionamento fácil de Dapr no AKS por meio 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 para serviço confiáveis, seguras e resilientes por meio de APIs HTTP e gRPC
  • Simplificação de publicação e assinatura de mensagens com suporte para filtragem de CloudEvent e semântica pelo menos uma vez para entrega de mensagens
  • Observação e monitoramento conectável por meio do coletor de API de Telemetria Aberta
  • Independência de linguagem, oferecendo simultaneamente SDKs (kits de desenvolvimento de software) específicos para cada linguagem
  • Integração com o Visual Studio Code por meio da extensão do Dapr
  • Compilar APIs de bloco para resolver desafios de aplicativos distribuídos

Solução de problemas

A Microsoft categoriza os problemas relatados contra a extensão do Dapr em duas partes:

  • Operações de extensão
  • Runtime do Dapr (incluindo APIs e componentes)

A tabela a seguir divide os níveis de prioridade de suporte para cada uma dessas categorias.

Descrição Riscos/regressões de segurança Problemas funcionais
Operações de extensão Problemas encontrados durante operações de extensão, como instalar, desinstalar ou atualizar a extensão Dapr. A Microsoft prioriza a resolução imediata. Microsoft investiga e aborda conforme necessário.
Runtime do Dapr Problemas encontrados ao usar o runtime do Dapr, APIs e componentes por meio da extensão, como expiração de certificado e comportamento inesperado do componente. Trabalhe com o projeto de software livre Dapr para resolver por meio de um hotfix ou em uma futura versão de Dapr. Depois que as correções forem lançadas no software livre da Dapr, elas serão disponibilizadas na extensão Dapr. Os riscos e regressões de segurança de software livre conhecidos não serão investigados pela Microsoft no momento. Discutir problemas com o projeto de software livre da Dapr a ser resolvido em um hotfix ou futura versão de software livre do Dapr. Problemas funcionais conhecidos de software livre não serão investigados pela Microsoft no momento.

Nuvens/regiões

Há suporte para a nuvem global do Azure com suporte ao AKS e ao Arc nas seguintes regiões:

Região Suporte ao AKS Suporte do 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 ✔️ ✔️

Perguntas frequentes

Como as malhas de serviço e Dapr são comparadas?

Embora as malhas de serviço e Dapr ofereçam alguns recursos sobrepostos, uma malha de serviço concentra-se em questões de rede, enquanto o Dapr se concentra 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 em infraestrutura.

Alguns recursos comuns que Dapr compartilha com malhas de serviço incluem:

  • Proteger a comunicação de serviço a serviço com a criptografia de mTLS
  • Coleta de métricas entre serviços
  • Rastreamento distribuído de serviço a serviço
  • Resiliência por meio de novas tentativas

O Dapr fornece outros blocos de construção no nível do aplicativo para gerenciamento de estado, mensagens pub/sub, atores e muito mais. No entanto, o Dapr não fornece recursos para o comportamento de tráfego, como roteamento ou divisão de tráfego. Se sua solução se beneficiar da divisão de tráfego fornecida por uma malha de serviço, considere usar a Malha de Serviço Aberta.

Para obter mais informações sobre Dapr e malhas de serviço e como elas podem ser usadas em conjunto, visite a documentação do Dapr.

Como a API de segredos do Dapr se compara com o driver CSI de armazenamento de segredos?

Tanto a API de segredos do Dapr quanto o driver CSI do Repositório de Segredos gerenciado permitem a integração de segredos mantidos em um repositório externo, abstraindo a tecnologia do repositório de segredos no código do aplicativo.

O driver CSI do repositório de segredos monta os segredos guardados no Azure Key Vault 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 repositórios de segredos variados

A tabela a seguir lista os recursos de cada oferta:

API de segredos do Dapr Driver CSI do repositório de segredos
Repositórios de credenciais suportados Variáveis de ambiente local (para desenvolvimento); Arquivo local (para desenvolvimento); Segredos do Kubernetes; Gerenciador de Segredos da AWS; Repositório de segredos do Azure Key Vault; Azure Key Vault com identidades gerenciadas no Kubernetes; Gerenciador de Segredos do GCP; HashiCorp Vault Repositório de segredos 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 de segredos Novas chamadas à API obtêm os segredos atualizados Pesquisa segredos e atualiza a montagem em um intervalo configurável
Registro e métricas O Dapr sidecar gera logs, que podem ser configurados com coletores, como Azure Monitor, emite métricas via Prometheus e expõe um ponto de extremidade HTTP para verificações de integridade Emite as métricas do driver e do provedor de Azure Key Vault via Prometheus

Para saber mais sobre o gerenciamento de segredos no Dapr, confira a visão geral do gerenciamento de segredos.

Para obter mais informações sobre o driver do CSI do Repositório de Segredos e o provedor do Azure Key Vault, confira a visão geral do driver CSI do Repositório de Segredos.

Como a extensão gerenciada de cluster Dapr se compara à versão de Dapr de software livre?

A extensão gerenciada de cluster Dapr é o método mais fácil de provisionar o Dapr em um cluster AKS. Com a extensão, você é capaz de 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 Dapr no modo de alta disponibilidade).

Ao instalar o software livre do Dapr por meio do helm ou da CLI do Dapr, os desenvolvedores e mantenedores de cluster também são responsáveis pelas versões de runtime e opções de configuração.

Por fim, a extensão Dapr é uma extensão de AKS, portanto, você pode esperar a mesma política de suporte que outros recursos de AKS.

Saiba mais sobre como migrar de software livre do Dapr para a extensão Dapr para o AKS.

Como posso autenticar os componentes do Dapr com a ID do Microsoft Entra usando identidades gerenciadas?

Como posso mudar para usar a extensão Dapr se já instalei o Dapr por meio de um método, como o Helm?

A orientação recomendada é desinstalar completamente o Dapr do cluster AKS e reinstalá-lo por meio da extensão de cluster. Você também pode verificar a instalação do Dapr existente e migrá-la para o AKS.

Se você instalar o Dapr por meio da extensão do AKS, é recomendável continuar usando a extensão para o gerenciamento futuro do Dapr em vez da CLI do Dapr. A combinação das duas ferramentas pode causar conflitos e resultar em um comportamento indesejado.

Próxima etapa