Solucionar problemas do IoT Edge em seu dispositivo de GPU do Azure Stack Edge Pro
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
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 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:
- Para resolver o erro, vá para o recurso do Hub IoT para seu dispositivo e selecione seu dispositivo de Borda.
- Vá para Definir configurações de tempo de execução dos módulos>.
- Adicione a
Upstream protocol
variável de ambiente e atribua-lhe um valor deAMQPWS
. 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:
- Vá para a página Computação . Selecione a porta para a qual você habilitou a rede de computação.
- 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á. - 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 K8s-experimental. 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.