Solucionar erros de instalação da extensão Dapr
Este artigo discute algumas mensagens de erro comuns que você pode receber ao instalar ou atualizar a extensão Dapr (Distributed Application Runtime) para o AKS (Serviço de Kubernetes do Microsoft Azure) ou o Arc para Kubernetes.
Cenário 1: a instalação falha, mas não mostra uma mensagem de erro
Se a extensão gerar uma mensagem de erro ao criá-la ou atualizá-la, você poderá inspecionar onde a criação falhou executando o comando az k8s-extension list :
az k8s-extension list --resource-group <my-resource-group-name> \
--cluster-name <my-cluster-name> \
--cluster-type managedClusters
Se uma chave errada for usada nas definições de configuração, como global.ha=false
em vez de global.ha.enabled=false
, o status JSON a seguir será retornado. A mensagem de erro é capturada message
na propriedade.
"statuses": [
{
"code": "InstallationFailed",
"displayStatus": null,
"level": null,
"message": "Error: {failed to install chart from path [] for release [dapr-1]: err [template: dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml:1:17: executing \"dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml\" at <.Values.global.ha.enabled>: can't evaluate field enabled in type interface {}]} occurred while doing the operation : {Installing the extension} on the config",
"time": null
}
],
Aqui está outro exemplo de uma mensagem de erro JSON:
"statuses": [
{
"code": "InstallationFailed",
"displayStatus": null,
"level": null,
"message": "The extension operation failed with the following error: unable to add the configuration with configId {extension:microsoft-dapr} due to error: {error while adding the CRD configuration: error {failed to get the immutable configMap from the elevated namespace with err: configmaps 'extension-immutable-values' not found }}. (Code: ExtensionOperationFailed)",
"time": null
}
]
Solução 1: reinicie o cluster, registre o provedor de serviços ou exclua e reinstale o Dapr
Para corrigir esse problema, tente os seguintes métodos:
Registre o provedor de serviços KubernetesConfiguration.
Force a exclusão e reinstale a extensão Dapr.
Cenário 2: a versão do Dapr direcionada não existe
Ao tentar instalar a extensão do Dapr para direcionar uma versão específica, você recebe uma mensagem de erro informando que a versão do Dapr não existe:
(ExtensionOperationFailed) A operação de extensão falhou com o seguinte erro: Falha ao resolver a versão da extensão dos valores fornecidos.
Código: ExtensionOperationFailed
Mensagem: A operação de extensão falhou com o seguinte erro: Falha ao resolver a versão da extensão dos valores fornecidos.
Solução 2: Instalar novamente para uma versão do Dapr com suporte
Tente novamente instalar a extensão. Certifique-se de usar uma versão com suporte do Dapr.
Cenário 3: a versão do Dapr de destino existe, mas não na região especificada
Como algumas versões do Dapr não estão disponíveis em todas as regiões, você pode receber a seguinte mensagem de erro:
(ExtensionTypeRegistrationGetFailed) O tipo de extensão microsoft.dapr não está registrado na região <regionname>.
Código: ExtensionTypeRegistrationGetFailed
Mensagem: O tipo de extensão microsoft.dapr não está registrado na região <regionname>
Solução 3: Instalar em uma região diferente
Instale em uma região na qual haja suporte para sua versão do Dapr.
Cenário 4: o Dapr já está instalado
Você tenta instalar a extensão do Dapr para AKS ou Arc para Kubernetes, mas recebe uma mensagem de erro que indica que o dapr-system
namespace já existe. Essa mensagem de erro é semelhante ao seguinte texto:
(ExtensionOperationFailed) A operação de extensão falhou com o seguinte erro: Erro: {falha ao instalar o gráfico do caminho [] para a versão [dapr-ext]: err [os manifestos renderizados contêm um recurso que já existe. Não é possível continuar com a instalação: ServiceAccount "dapr-operator" no namespace "dapr-system" existe e não pode ser importado para a versão atual: metadados de propriedade inválidos; erro de validação de anotação: a chave "meta.helm.sh/release-name" deve ser igual a "dapr-ext": o valor atual é "dapr"]} ocorreu ao fazer a operação: {Instalando a extensão} na configuração
Solução 4: Desinstale o Dapr OSS primeiro
Desinstale o OSS do Dapr antes de instalar a extensão do Dapr. Para obter mais informações, consulte Migrar do OSS do Dapr para a extensão do Dapr para AKS.
Cenário 5: O pod do servidor de posicionamento está em um estado incorreto
Você encontra o seguinte erro:
0/4 nós estão disponíveis: 1 nó(s) não foi agendado(s), 3 nó(s) teve(m) conflito de afinidade de nó de volume. preempção: 0/4 nós estão disponíveis: 4 A preempção não é útil para agendamento.
Esse problema pode ocorrer quando o pod do servidor de posicionamento tenta usar o volume persistente criado em uma zona diferente do próprio pod do servidor de posicionamento.
Solução 5: instalar o Dapr em várias zonas de disponibilidade ou limitar o serviço de posicionamento a uma zona de disponibilidade específica
Para resolver esse problema, use um dos seguintes métodos:
Siga a abordagem recomendada em Instalar o Dapr em várias zonas de disponibilidade enquanto estiver no modo de alta disponibilidade.
Limite o serviço de posicionamento a uma zona de disponibilidade específica criando uma classe de armazenamento personalizada e usando-a para o serviço de posicionamento e, em seguida, execute o seguinte comando:
az k8s-extension create --cluster-type managedClusters --cluster-name <clustername> --resource-group <resourcegroup> --name <name> --extension-type Microsoft.Dapr --auto-upgrade-minor-version <minorversion> --version <version> --configuration-settings "dapr_placement.volumeclaims.storageClassName=zone-restricted"
Aqui está um exemplo de criação de uma classe de armazenamento personalizada:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: zone-restricted provisioner: disk.csi.azure.com reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer allowedTopologies: - matchLabelExpressions: - key: topology.kubernetes.io/zone values: - centralus-1 parameters: storageaccounttype: StandardSSD_LRS
Próximas etapas
Se você ainda estiver enfrentando problemas de instalação, explore o guia de solução de problemas do AKS e o guia de solução de problemas do Dapr OSS.
Aviso de isenção de responsabilidade para informações de terceiros
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.