你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

排查 Nexus DNS 问题

NNF (Nexus Network Fabric) 提供由 Azure VM(虚拟机)和 Azure 上运行的 Kubernetes 群集托管的 Nexus 资源之间的桥梁,并通过其域名访问 Azure 资源。 但是,NNF 中的 DNS(域名系统)错误可能意味着无法联系 Azure 资源,这会影响 Nexus 资源的部署或管理。

导致此错误的 DNS 代理是 Envoy DNS 代理通过基础结构或租户 Kubernetes 群集中的 Kubernetes 部署运行。 当客户部署其 NAKS(Nexus Azure Kubernetes 服务)群集或进行其他部署时,确定 DNS 代理的精确位置。

诊断

  • 远程 Nexus 资源的部署或管理失败,并出现“DeploymentFailed”。
  • Azure 门户显示没有为无法访问的 Azure 资源生成错误;没有错误,因为失败的操作根本不会到达 Azure 资源。

缓解步骤

为 NNF 工作负载代理触发 DNS 缓存刷新

  • 标识从初始配置和部署过程运行 DNS 代理的基础结构或租户 Kubernetes 群集
  • 登录到 Kubernetes 群集
    • 使用 Azure 门户中找到自己的群集
    • 在“概述”边栏选项卡中,单击“连接”命令(“刷新”和“删除”之间)
    • 按照生成的弹出窗口中的说明操作,说明如何连接到 Kubernetes 群集
  • 使用此命令标识 DNS 代理部署
    $ kubectl get deployments --all-namespaces=true | grep envoy
    
  • 使用以下命令重启部署,这会导致 DNS 缓存重置:
    kubectl rollout restart deployment <your-envoy-deployment-name> --namespace <namespace-where-envoy-pod-exists>
    

验证

刷新 DNS 缓存后,创建或管理操作将成功。