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

Azure Stack Edge 2106 发行说明

适用于:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

以下发行说明明确了 2106 版 Azure Stack Edge 的重要未结问题和已解决问题。 这些发行说明适用于Azure Stack Edge Pro GPU、Azure Stack Edge Pro R 和 Azure Stack Edge Mini R 设备。 与特定模型相对应的功能和问题会在适当的位置进行调用。

发行说明会持续进行更新,并且会陆续将所发现的需要解决的重要问题添加到说明中。 在部署设备之前,请仔细查看本发行说明中包含的信息。

本文适用于 Azure Stack Edge 2106 版本,该版本映射到软件版本号 2.2.1636.3457。 如果你运行的软件版本至少是 Azure Stack Edge 2010 (2.1.1377.2170),则此软件可应用于你的设备。

新增功能

Azure Stack Edge 2106 版本中提供了以下新功能。

  • Windows 更新和安全修补程序 - 已将 Windows 和 6 月安全修补程序的最新累积更新 (LCU) 汇总到 Azure Stack Edge 的更新包中。

  • Azure 专用多接入边缘计算的 Bug 修复 - 针对 Azure 专用 MEC 部署修复了多个问题。

    • 与来宾 VM 运行状况监视相关的问题,例如链接不稳定、启动日志中的错误和重启。
    • 随时间推移的内存资源消耗。
    • Mellanox 驱动程序、固件和工具。
    • 用于调试与 VM 相关的问题和网络运行状况检查的工具。
    • 导致丢弃单根 I/O 虚拟化的问题 (SR-IOV) VM 出站数据包或来自 LAN/WAN VM NetAdapter 的流量的问题。
  • 日志收集改进 - 此版本包含与 Azure Stack Edge 更新方案相关的日志收集改进。

2106 版本中修复的问题

下表列出了以前版本的发行说明中记录的并在当前版本中修复的问题。

不是。 功能 问题
1 Azure 专用 MEC VM 网络适配器链接状态定期在启动时不稳定。
2. Azure 专用 MEC 在 Mellanox 网络接口上使用 VFtoPF DHCP 重定向标志时可能会导致丢弃数据包。
3. Azure 专用 MEC Mellanox 网络接口驱动程序、固件和工具需要升级到版本 2.60。
4. VM 通过设备的 PowerShell 接口进行连接时,可用于收集 VM 来宾日志的 cmdlet Get-VMInguestLogs 会失败。
5. Azure 专用 MEC 配置 Web 代理时,“Web 代理绕过”设置会导致 VM 预配失败。
6. Azure 专用 MEC 对于 2105 更新之前的 MEC/NFM 部署,你可能会遇到这一罕见问题,即来自 LAN/WAN VM NetAdapter 的流量会被丢弃。 在 2106 中,通过在 VM LAN/WAN 网络接口上将 enableIPForwarding 设置为 true 修复了此问题,而不考虑 VM 是在 2105 版本之前还是在 2105 版本之后创建的。
7. Azure 专用 MEC 组合使用 Mellanox 驱动程序、SR-IOV 虚函数 (VF) 和 vftopfDHCPRedirect 功能时,Mellanox 网络接口(设备上的端口 5 和端口 6)可能会丢弃单根 I/O 虚拟化 (SR-IOV) VM 的出站数据包。 在 2106 中,通过禁用 vftopfDHCPRedirect 功能修复了此问题。

2106 版本中的已知问题

下表提供了 2106 版本中已知问题的摘要。

不是。 功能 问题 解决方法/备注
1 预览功能 此版本中提供了以下所有功能的预览版:本地 Azure 资源管理器、VM、VM 的云管理、Kubernetes 云管理、已启用 Azure Arc 的 Kubernetes、用于 Azure Stack Edge Pro R 和 Azure Stack Edge Mini R 的 VPN、用于 Azure Stack Edge Pro GPU 的多进程服务 (MPS) 和多接入边缘计算 (MEC)。 将在以后的版本中正式推出这些功能。

以前版本中的已知问题

下表总结了以前发行版中遗留的已知问题。

不是。 功能 问题 解决方法/备注
1 Azure Stack Edge Pro + Azure SQL 创建 SQL 数据库需要管理员访问权限。 执行以下步骤,而不是 Create-the-sql-database 中的步骤 1-2。
  • 在设备的本地 UI 中,启用计算接口。 选择“计算”>“端口号”>“启用计算”>“应用”
  • SQL 命令实用工具中下载 sqlcmd 至你的客户端计算机。
  • 连接到计算接口 IP 地址(已启用的端口),在地址末尾添加“,1401”。
  • 最终命令将类似于:sqlcmd -S {Interface IP},1401 -U SA -P "Strong!Passw0rd"。
  • 完成此操作后,当前文档中的步骤 3-4 应相同。
2. 刷新 不支持对通过刷新还原的 blob 进行增量更改 对于 Blob 终结点,刷新后对 blob 进行部分更新可能导致更新无法上传到云中。 例如这样的一系列操作:
  • 在云中创建 blob。 或从设备删除之前上传的 blob。
  • 使用刷新功能,将 blob 从云中刷新到设备。
  • 使用 Azure SDK REST API 仅更新部分 blob。
这些操作可能导致 blob 已更新的部分不在云中更新。
规避方法:使用 robocopy 等工具,或者通过资源管理器或命令行进行常规文件复制,替换整个 blob。
3. 限制 在限制期间,如果不允许对设备执行新写入,NFS 客户端写入会失败并出现“权限被拒绝”错误。 错误如下所示:
hcsuser@ubuntu-vm:~/nfstest$ mkdir test
mkdir: 无法创建目录 "test": 权限被拒绝
4. Blob 存储引入 使用 AzCopy 版本 10 进行 Blob 存储引入时,请使用以下参数运行 AzCopy:Azcopy <other arguments> --cap-mbps 2000 如果没有为 AzCopy 提供这些限制,前者可能会将大量请求发送到设备,导致服务出现问题。
5. 分层存储帐户 使用分层存储帐户时,以下内容适用:
  • 仅支持块 blob。 页 blob 不受支持。
  • 不提供快照或复制 API 支持。
  • 不支持通过 distcp 引入 Hadoop 工作负载,因为它会大量使用复制操作。
6. NFS 共享连接 如果将多个进程复制到相同的共享,并且未使用 nolock 属性,则在复制过程中可能会出现错误。 必须将 nolock 属性传递给 mount 命令,才能将文件复制到 NFS 共享。 例如:C:\Users\aseuser mount -o anon \\10.1.1.211\mnt\vms Z:
7. Kubernetes 群集 在运行 kubernetes 群集的设备上应用更新时,Kubernetes 虚拟机将重启并重新引导。 在这种情况下,更新后只会自动还原使用指定副本部署的 pod。 如果在未指定副本集的情况下在复制控制器之外创建了单独的 pod,则在设备更新后,不会自动还原这些 pod。 需要还原这些 pod。
副本集会替换因任何原因(例如节点故障或中断性节点升级)而删除或终止的 pod。 由此,即使你的应用程序只需要一个 pod,仍建议使用副本集。
8. Kubernetes 群集 只有 Helm v3 或更高版本支持 Azure Stack Edge Pro 上的 Kubernetes。 有关详细信息,请参阅常见问题解答:删除 Tiller
9. 已启用 Azure Arc 的 Kubernetes 对于正式发布版,已启用 Azure Arc 的 Kubernetes 已从版本 0.1.18 更新为 0.2.9。 由于 Azure Stack Edge 设备上不支持已启用 Azure Arc 的 Kubernetes 更新,因此需要重新部署已启用 Azure Arc 的 Kubernetes。 执行以下步骤:
  1. 应用设备软件和 Kubernetes 更新
  2. 连接到设备的 PowerShell 界面
  3. 删除现有的 Azure Arc 代理。 键入:Remove-HcsKubernetesAzureArcAgent
  4. 将 Azure Arc 部署到新资源。 不要使用现有的 Azure Arc 资源。
10. 已启用 Azure Arc 的 Kubernetes 如果在 Azure Stack Edge Pro 设备上配置 Web 代理,则不支持 Azure Arc 部署。
11. Kubernetes 端口 31000 保留给 Kubernetes 仪表板。 端口 31001 保留给 Edge 容器注册表。 同样,在默认配置中,IP 地址 172.28.0.1 和 172.28.0.10 分别保留用于 Kubernetes 服务和核心 DNS 服务。 不要使用保留的 IP。
12. Kubernetes Kubernetes 当前不允许多协议 LoadBalancer 服务。 例如,需要同时侦听 TCP 和 UDP 的 DNS 服务。 若要使用 MetalLB 解决 Kubernetes 的这一限制,可在同一 pod 选择器上创建两个服务(一个用于 TCP,一个用于 UDP)。 这些服务使用相同的共享密钥和 spec.loadBalancerIP 来共享相同的 IP 地址。 如果服务数多于可用 IP 地址数,还可以共享 IP。
有关详细信息,请参阅 IP 地址共享
13. Kubernetes 群集 现有 Azure IoT Edge marketplace 模块可能需要修改才能在 Azure Stack Edge 设备上的 IoT Edge 中运行。 有关详细信息,请参阅修改市场中的 Azure IoT Edge 模块,以便在 Azure Stack Edge 设备上运行。
14. Kubernetes Azure Stack Edge 设备上的 Kubernetes 上的 Azure IoT Edge 不支持基于文件的绑定装载。 IoT Edge 使用转换层将 ContainerCreate 选项转换为 Kubernetes 构造。 创建到 hostpath 目录的 Binds 映射,使得基于文件的绑定安装不能绑定到 IoT Edge 容器中的路径。 尽可能映射父目录。
15. Kubernetes 如果你为 IoT Edge 自带证书,并在设备上配置了计算后将这些证书添加到 Azure Stack Edge 设备上,则不会提取新证书。 若要解决此问题,应在设备上配置计算之前上传证书。 如果已配置计算,请连接到设备的 PowerShell 界面并运行 IoT Edge 命令。 重新启动 iotedgededgehub pod。
16. Certificates 在某些情况下,本地 UI 中的证书状态可能需要几秒钟才能更新。 本地 UI 中的以下方案可能会受到影响。
  • “证书”页上的“状态”列。
  • “入门”页上的“安全性”磁贴。
  • “概览”页上的“配置”磁贴。
17. IoT Edge 通过 IoT Edge 部署的模块不能使用主机网络。
18. 计算 + Kubernetes 计算/Kubernetes 不支持 NTLM Web 代理。
19. Kubernetes + 更新 以前的软件版本(如 2008 版本)存在一个争用条件更新问题,该问题导致更新失败并出现 ClusterConnectionException。 使用较新版本应有助于避免此问题。 如果仍出现此问题,解决方法是重试升级,此方法应能奏效。
20 Internet Explorer 如果启用了增强的安全功能,你可能无法访问本地 web UI 页。 禁用增强的安全性,并重新启动浏览器。
21. Kubernetes 仪表板 不支持带 SSL 证书的 Kubernetes 仪表板的 Https 终结点
22. Kubernetes Kubernetes 在 .NET 应用程序使用的环境变量名称中不支持“:”。 这也是事件网格 IoT Edge 模块在 Azure Stack Edge 设备和其他应用程序上运行时所必需的。 有关详细信息,请参阅 ASP.NET 核心文档 将“:”替换为双下划线。 有关详细信息,请参阅 Kubernetes 问题
23. Azure Arc + Kubernetes 群集 默认情况下,从 Git 存储库中删除资源 yamls 时,不会从 Kubernetes 群集中删除相应的资源。 若要允许从 git 存储库删除资源时同时删除群集中的相应资源,请在 Arc OperatorParams 中设置 --sync-garbage-collection。 有关详细信息,请参阅删除配置
24. NFS 那些使用设备上的 NFS 共享装载来写入数据的应用程序应使用独占写入。 这可确保数据写入磁盘。
25. 计算配置 如果网络配置中的网关或交换机或路由器为网络上不存在的系统响应地址解析协议 (ARP) 请求,计算配置在网络配置中会失败。
26. 计算和 Kubernetes 如果先在设备上设置了 Kubernetes,它会声明获取所有可用 GPU。 因此在设置 Kubernetes 后就无法使用 GPU 创建 Azure 资源管理器 VM 了。 如果设备有 2 个 GPU,可以先创建 1 个使用 GPU 的 VM,然后再配置 Kubernetes。 在这种情况下,Kubernetes 将使用剩余的可用 1 GPU。
27. 自定义脚本 VM 扩展 在早期版本中创建的 Windows VM 存在一个已知问题,并且设备已更新为 2103。
如果在这些虚拟机上添加自定义脚本扩展,Windows VM 来宾代理(仅限版本 2.7.41491.901)会在更新中停滞,导致扩展部署超时。
若要解决此问题,请执行以下操作:
  • 使用远程桌面协议 (RDP) 连接到 Windows VM。
  • 确保 waappagent.exe 正在计算机上运行:Get-Process WaAppAgent
  • 如果 waappagent.exe 未在运行,请重启 rdagent 服务:Get-Service RdAgent | Restart-Service。 等待 5 分钟。
  • waappagent.exe 正在运行时,终止 WindowsAzureGuest.exe 进程。
  • 在终止该进程后,该进程会使用较新的版本再次开始运行。
  • 使用此命令来验证 Windows VM 来宾代理版本是否为 2.7.41491.971:Get-Process WindowsAzureGuestAgent | fl ProductVersion
  • 在 Windows VM 上设置自定义脚本扩展
    28. GPU VM 在此版本之前,更新流中未管理 GPU VM 生命周期。 因此,在更新到 2103 版本时,在更新过程中不会自动停止 GPU VM。 在更新设备之前,需要使用 stop-stayProvisioned 标志来手动停止 GPU VM。 有关详细信息,请参阅暂停或关闭 VM
    所有在更新前保持运行状态的 GPU VM 都会在更新后启动。 在这些情况下,VM 上运行的工作负载不会正常终止。 并且 VM 在更新后可能最终会处于异常状态。
    所有在更新前通过 stop-stayProvisioned 停止的 GPU VM 都会在更新后自动启动。
    如果通过 Azure 门户停止 GPU VM,则需要在设备更新后手动启动该 VM。
    如果运行使用 Kubernetes 的 GPU VM,请在即将更新前再停止这些 GPU VM。
    在 GPU VM 停止时,Kubernetes 将会接管原来由 VM 使用的 GPU。
    GPU VM 处于停止状态的时间越长,Kubernetes 将会接管 GPU 的可能性就越大。
    29. 多进程服务 (MPS) 在更新设备软件和 Kubernetes 群集时,不会为工作负载保留 MPS 设置。 重新启用 MPS 并重新部署曾经使用 MPS 的工作负载。

    后续步骤