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:
- A última versão do Dapr e duas versões anteriores (N-2)
- Atualizando a versão secundária incrementalmente (por exemplo, 1.5 - 1.6 ->> 1.7)
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
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Instale a versão mais recente da CLI do Azure.
- Se você ainda não tiver um, precisará criar um cluster AKS ou conectar um cluster Kubernetes habilitado para Arc.
- Verifique se você tem uma função de administrador RBAC do Serviço Kubernetes do Azure
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-version
configurando 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
- Saiba mais sobre configurações e preferências extras que você pode definir na extensão Dapr.
- Depois de provisionar com êxito o Dapr em seu cluster AKS, tente implantar um aplicativo de exemplo.
- Experimente o Dapr Workflow na sua extensão Dapr para AKS