Solucionar problemas do IoT Edge em seu dispositivo de GPU do Azure Stack Edge Pro

APLICA-SE A:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro R Azure Stack Edge Mini RYes for Mini R SKU

Este artigo descreve como solucionar erros relacionados à computação em um dispositivo GPU do Azure Stack Edge Pro examinando as respostas de tempo de execução para o agente do IoT Edge e os erros para o serviço IoT Edge instalado no seu dispositivo.

Revise as respostas do tempo de execução do IoT Edge

Use as respostas de tempo de execução do agente IoT Edge para solucionar erros relacionados à computação. Aqui está uma lista de respostas possíveis:

  • 200 - Aceito
  • 400 - A configuração de implantação está malformada ou é inválida.
  • 417 - O dispositivo não tem um conjunto de configurações de implantação.
  • 412 - A versão do esquema na configuração de implantação é inválida.
  • 406 - O dispositivo IoT Edge está offline ou não está enviando relatórios de status.
  • 500 - Ocorreu um erro no tempo de execução do IoT Edge.

Para obter mais informações, consulte IoT Edge Agent.

Solucionar erros do serviço IoT Edge

Os erros a seguir estão relacionados ao serviço IoT Edge em seu dispositivo de GPU Azure Stack Edge Pro.

Os módulos de computação têm status Desconhecido e não podem ser usados

Descrição do erro

Todos os módulos no dispositivo mostram o status Desconhecido e não podem ser usados. O status Desconhecido persiste por meio de uma reinicialização.

Solução sugerida

Exclua o serviço IoT Edge e reimplante o(s) módulo(s). Para obter mais informações, consulte Remover o serviço IoT Edge.

Os módulos são mostrados como em execução, mas não estão funcionando

Descrição do erro

O status de tempo de execução do módulo mostra como em execução, mas você não vê os resultados esperados.

Essa condição pode ser causada por uma configuração de rota de módulo que não está funcionando ou edgehub pode não estar roteando mensagens conforme o esperado. Você pode verificar os edgehub registros. Se você vir erros como falha ao se conectar ao serviço Hub IoT, o motivo mais comum são os problemas de conectividade. Os problemas de conectividade podem ocorrer porque a porta AMPQ que o serviço Hub IoT está usando como porta padrão para comunicação está bloqueada ou o servidor proxy da Web está bloqueando essas mensagens.

Solução sugerida

Siga estes passos:

  1. Para resolver o erro, vá para o recurso do Hub IoT para seu dispositivo e selecione seu dispositivo de Borda.
  2. Vá para Definir configurações de tempo de execução dos módulos>.
  3. Adicione a Upstream protocol variável de ambiente e atribua-lhe um valor de AMQPWS. As mensagens configuradas neste caso são enviadas através de WebSockets através da porta 443.

Os módulos são mostrados como em execução, mas não têm um IP atribuído

Descrição do erro

O status de tempo de execução do módulo mostra como em execução, mas o aplicativo em contêiner não tem um endereço IP atribuído.

Essa condição acontece porque o intervalo de IPs fornecido para IPs de serviço externo do Kubernetes não é suficiente. Estenda esse intervalo para garantir que cada contêiner ou VM implantado seja coberto.

Solução sugerida

Na interface do usuário da Web local do seu dispositivo, execute as seguintes etapas:

  1. Vá para a página Computação . Selecione a porta para a qual você habilitou a rede de computação.
  2. Insira um intervalo estático e contíguo de IPs para IPs de serviço externo do Kubernetes. Você precisa de um IP para edgehub o serviço. Além disso, você precisa de um IP para cada módulo do IoT Edge e para cada VM que implantará.
  3. Selecione Aplicar. O intervalo de IP alterado deve entrar em vigor imediatamente.

Para obter mais informações, consulte Alterar IPs de serviço externo para contêineres.

Configurar IPs estáticos para módulos IoT Edge

Descrição do problema

O Kubernetes atribui IPs dinâmicos a cada módulo do IoT Edge no dispositivo GPU do Azure Stack Edge Pro. É necessário um método para configurar IPs estáticos para os módulos.

Solução sugerida

Você pode especificar endereços IP fixos para seus módulos do IoT Edge por meio da seção experimental do K8s, conforme descrito abaixo:

{
  "k8s-experimental": {
    "serviceOptions" : {
      "loadBalancerIP" : "100.23.201.78",
      "type" : "LoadBalancer"
    }
  }
}

Expor o serviço Kubernetes como serviço IP de cluster para comunicação interna

Descrição do problema

Por padrão, o tipo de serviço IoT é balanceador de carga e o serviço é atribuído externamente voltado para endereços IP. Se um aplicativo precisar de pods do Kubernetes dentro do cluster do Kubernetes para acessar outros pods no cluster, talvez seja necessário configurar o serviço como um serviço IP de cluster em vez de um serviço de balanceador de carga. Para obter mais informações, consulte Rede Kubernetes em seu dispositivo GPU Azure Stack Edge Pro.

Solução sugerida

Você pode usar as opções de criação através da seção experimental K8s. A opção de serviço a seguir deve funcionar com ligações de porta.

{
"k8s-experimental": {
  "serviceOptions" : {
    "type" : "ClusterIP"
    }
  }
}

Não é possível criar ou atualizar a função IoT

Descrição do problema

Ao configurar o dispositivo IoT durante a instalação, você pode ver o seguinte erro:

(Código de status Http: 400) Não foi possível criar ou atualizar a função IoT em <YourDeviceName>. Ocorreu um erro com o código de erro {NO_PARAM}. Para obter mais informações, consulte os detalhes do código de erro (https://aka.ms/dbe-error-codes). Se o erro persistir, contacte o Suporte da Microsoft.

Solução sugerida

Se o firewall do datacenter estiver restringindo ou filtrando o tráfego com base em IPs de origem ou endereços MAC, verifique se os IPs de computação (IPs de nó do Kubernetes) e os endereços MAC estão na lista de permissões. Os endereços MAC podem ser especificados executando o Set-HcsMacAddressPool cmdlet na interface do PowerShell do dispositivo.

Próximos passos