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

O Dapr simplifica a criação de aplicativos resilientes, sem estado e com monitoração de estado que são executados na nuvem e na borda e abraçam a diversidade de linguagens e estruturas de desenvolvedores. Com a arquitetura sidecar do Dapr, você pode manter sua plataforma de código agnóstica enquanto enfrenta desafios relacionados à criação de microsserviços, como:

  • Ligar para outros serviços de forma fiável e segura
  • Criação de aplicativos orientados a eventos com pub/sub
  • Criação de aplicativos que são portáteis em vários serviços de nuvem e hosts (por exemplo, Kubernetes versus uma VM)

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 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.

Nota

Se você planeja instalar o Dapr em um ambiente de produção do Kubernetes, consulte a página de documentação de diretrizes do Dapr para uso de produção.

Como funciona

A extensão Dapr usa a CLI do Azure para provisionar o plano de controle Dapr em seu cluster Kubernetes habilitado para AKS ou Arc, criando os seguintes serviços Dapr:

Serviço Dapr Descrição
dapr-operator Gerencia atualizações de componentes e pontos de extremidade de serviços Kubernetes para Dapr (lojas estaduais, pubs/subs, etc.)
dapr-sidecar-injector Injeta o Dapr em pods de implantação anotados e adiciona as variáveis DAPR_HTTP_PORT de ambiente e DAPR_GRPC_PORT permite que os aplicativos definidos pelo usuário se comuniquem facilmente com o Dapr sem codificar valores de porta Dapr.
dapr-placement Usado apenas para atores. Cria tabelas de mapeamento que mapeiam instâncias de ator para pods.
dapr-sentry Gerencia mTLS entre serviços e atua como uma autoridade de certificação. Para obter mais informações, leia a visão geral de segurança.

Depois que o Dapr estiver instalado em seu cluster, você poderá começar a desenvolver usando as APIs de bloco de construção do Dapr adicionando algumas anotações às suas implantações . Para obter uma visão geral mais detalhada das APIs de bloco de construção e como usá-las melhor, consulte a visão geral dos blocos de construção do Dapr.

Aviso

Se você instalar o Dapr através da extensão AKS ou do Kubernetes habilitado para Arc, 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.

Atualmente suportado

Versões Dapr

O suporte à extensão Dapr varia dependendo de como você gerencia o tempo de execução.

Auto-gerido
Para tempo de execução autogerenciado, a extensão Dapr suporta:

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.

Atualização automática
Ativar a atualização automática mantém sua extensão Dapr atualizada para a versão secundária mais recente. Você pode enfrentar alterações significativas entre as atualizações.

Componentes

Azure + componentes de código aberto são suportados. Os componentes alfa e beta são suportados através do melhor esforço.

Nuvens/regiões

A nuvem global do Azure é suportada com suporte Arc nas seguintes regiões:

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 ✔️ ✔️

Pré-requisitos

Configurar a extensão da CLI do Azure para extensões de cluster

Instale a k8s-extension extensão da CLI do Azure executando os seguintes comandos:

az extension add --name k8s-extension

Se a extensão já estiver instalada, você pode atualizá-la para a k8s-extension versão mais recente usando o seguinte comando:

az extension update --name k8s-extension

Registar o prestador de KubernetesConfiguration serviços

Se você não tiver usado extensões de cluster anteriormente, talvez seja necessário registrar o provedor de serviços com sua assinatura. Você pode verificar o status do registro do provedor usando o comando [az provider list][az-provider-list], conforme mostrado no exemplo a seguir:

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

O provedor Microsoft.KubernetesConfiguration deve relatar como Registered, conforme mostrado na saída de exemplo a seguir:

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

Se o provedor mostrar como NotRegistered, registre o provedor usando o registro do provedor az, conforme mostrado no exemplo a seguir:

az provider register --namespace Microsoft.KubernetesConfiguration

Crie a extensão e instale o Dapr em seu cluster Kubernetes habilitado para AKS ou Arc

Ao instalar a extensão Dapr, use o valor do sinalizador que corresponde ao seu tipo de cluster:

  • Aglomerado AKS: --cluster-type managedClusters.
  • Cluster Kubernetes habilitado para Arc: --cluster-type connectedClusters.

Nota

Se você estiver usando o Dapr OSS em seu cluster AKS e quiser instalar a extensão Dapr para AKS, leia mais sobre como migrar com êxito para a extensão Dapr.

Crie a extensão Dapr, que instala o Dapr em seu cluster Kubernetes habilitado para AKS ou Arc.

Por exemplo, instale a versão mais recente do Dapr através da extensão Dapr no seu cluster 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

Direcionando uma versão específica do Dapr

Nota

O Dapr é suportado com uma janela contínua, incluindo apenas as versões atual e anterior. É da sua responsabilidade operacional manter-se atualizado com estas versões suportadas. Se você tiver uma versão mais antiga do Dapr, talvez seja necessário fazer atualizações intermediárias para chegar a uma versão suportada.

O mesmo argumento de linha de comando é usado para instalar uma versão específica do Dapr ou reverter para uma versão anterior. Defina --auto-upgrade-minor-version para e --version para false a versão do Dapr que você deseja instalar. Se o version parâmetro for omitido, a extensão instalará a versão mais recente do Dapr. Por exemplo, para usar o 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

Configurando atualizações automáticas para o plano de controle Dapr

Aviso

Você pode habilitar atualizações automáticas para o plano de controle Dapr somente em ambientes de desenvolvimento ou teste. A atualização automática não é adequada para ambientes de produção.

Se você instalar o Dapr sem especificar uma versão, será automaticamente habilitado, --auto-upgrade-minor-versionconfigurando o plano de controle do Dapr para atualizar automaticamente sua versão secundária em novas versões. Você pode desabilitar a atualização automática especificando o parâmetro e definindo o --auto-upgrade-minor-version valor como false. O versionamento do Dapr está no MAJOR.MINOR.PATCH formato, o 1.12.0 que significa 1.11.0 que é uma atualização de versão secundária.

--auto-upgrade-minor-version true

Escolher um comboio de libertação

Ao configurar a extensão, você pode optar por instalar o Dapr a partir de um arquivo .--release-train Especifique um dos dois valores do trem de liberação:

Valor Descrição
stable Predefinição.
dev Lançamentos antecipados, podem conter recursos experimentais. Não é adequado para produção.

Por exemplo:

--release-train stable

Solução de problemas de erros de extensão

Se a extensão não conseguir criar ou atualizar, tente sugestões e soluções no guia de solução de problemas da extensão Dapr.

Solução de problemas do Dapr

Solucione erros do Dapr por meio do guia comum de problemas e soluções do Dapr.

Excluir a extensão

Se você precisar excluir a extensão e remover o Dapr do seu cluster AKS, você pode usar o seguinte comando:

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

Passos Seguintes