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

Azure Stack Edge 2203 发行说明

适用于: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

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

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

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

新增功能

2203 版本提供了以下功能和增强功能:

  • Kubernetes 版本更新 - 此版本包含从 1.20.9 到 1.21.7 的 Kubernetes 版本更新。
  • VM 改进功能 - 此版本中添加了新的 VM 大小 F12_HPN。

2203 版本中的已知问题

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

不是。 功能 问题 解决方法/备注
1 预览功能 对于此版本,预览版中提供了以下功能:
- 群集和多接入边缘计算 (MEC)(仅适用于 Azure Stack Edge Pro GPU 设备)。
- VPN(仅适用于 Azure Stack Edge Pro R 和 Azure Stack Edge Mini R)。
- 本地 Azure 资源管理器、VM、VM 的云管理、Kubernetes 云管理和多进程服务 (MPS)(用于 Azure Stack Edge Pro GPU、Azure Stack Edge Pro R 和 Azure Stack Edge Mini R)。
将在以后的版本中正式推出这些功能。
2. HPN VM 对于此版本,Standard_F12_HPN 只能支持一个网络接口,且不可用于多接入边缘计算 (MEC) 部署。
3. 设备容量 如果从旧版本更新到此版本,则设备容量不会显示在 Azure 门户中。 如果在 Azure 门户中预配 VM,则会更新并显示容量指标。 若要在 Azure 门户中同步指标,请创建一个 VM,然后将其删除。

以前版本中的已知问题

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

不是。 功能 问题 解决方法/备注
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 进行部分更新可能导致更新无法上传到云中。 例如这样的一系列操作:
1. 在云中创建 blob。 或从设备删除之前上传的 blob。
2. 使用刷新功能,将 blob 从云中刷新到设备。
3. 使用 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. Kubernetes 端口 31000 保留给 Kubernetes 仪表板。 端口 31001 保留给 Edge 容器注册表。 同样,在默认配置中,IP 地址 172.28.0.1 和 172.28.0.10 分别保留用于 Kubernetes 服务和核心 DNS 服务。 不要使用保留的 IP。
10. Kubernetes Kubernetes 当前不允许多协议 LoadBalancer 服务。 例如,需要同时侦听 TCP 和 UDP 的 DNS 服务。 若要使用 MetalLB 解决 Kubernetes 的这一限制,可在同一 pod 选择器上创建两个服务(一个用于 TCP,一个用于 UDP)。 这些服务使用相同的共享密钥和 spec.loadBalancerIP 来共享相同的 IP 地址。 如果服务数多于可用 IP 地址数,还可以共享 IP。
有关详细信息,请参阅 IP 地址共享
11. Kubernetes 群集 现有 Azure IoT Edge marketplace 模块可能需要修改才能在 Azure Stack Edge 设备上的 IoT Edge 中运行。 有关详细信息,请参阅在 Azure Stack Edge Pro GPU 设备上运行 Azure Stack Edge Pro FPGA 设备中的现有 IoT Edge 模块
12. Kubernetes Azure Stack Edge 设备上的 Kubernetes 上的 Azure IoT Edge 不支持基于文件的绑定装载。 IoT Edge 使用转换层将 ContainerCreate 选项转换为 Kubernetes 构造。 创建到 hostpath 目录的 Binds 映射,使得基于文件的绑定安装不能绑定到 IoT Edge 容器中的路径。 尽可能映射父目录。
13. Kubernetes 如果你为 IoT Edge 自带证书,并在设备上配置了计算后将这些证书添加到 Azure Stack Edge 设备上,则不会提取新证书。 若要解决此问题,应在设备上配置计算之前上传证书。 如果已配置计算,请连接到设备的 PowerShell 界面并运行 IoT Edge 命令。 重新启动 iotedgededgehub pod。
14. 证书 在某些情况下,本地 UI 中的证书状态可能需要几秒钟才能更新。 本地 UI 中的以下方案可能会受到影响。
- “证书”页上的“状态”列。
- “入门”页上的“安全性”磁贴。
- “概览”页上的“配置”磁贴。
15. Certificates 即使上传新的签名链证书,与签名链证书相关的警报也不会从门户中删除。
16. Web 代理 不支持基于 NTLM 身份验证的 Web 代理。
17. Internet Explorer 如果启用了增强的安全功能,你可能无法访问本地 web UI 页。 禁用增强的安全性,并重新启动浏览器。
18. Kubernetes Kubernetes 在 .NET 应用程序使用的环境变量名称中不支持“:”。 这也是事件网格 IoT Edge 模块在 Azure Stack Edge 设备和其他应用程序上运行时所必需的。 有关详细信息,请参阅 ASP.NET 核心文档 将“:”替换为双下划线。 有关详细信息,请参阅 Kubernetes 问题
19. Azure Arc + Kubernetes 群集 默认情况下,从 Git 存储库中删除资源 yamls 时,不会从 Kubernetes 群集中删除相应的资源。 若要允许从 git 存储库删除资源时同时删除群集中的相应资源,请在 Arc OperatorParams 中设置 --sync-garbage-collection。 有关详细信息,请参阅删除配置
20. NFS 那些使用设备上的 NFS 共享装载来写入数据的应用程序应使用独占写入。 这可确保数据写入磁盘。
21. 计算配置 如果网络配置中的网关或交换机或路由器为网络上不存在的系统响应地址解析协议 (ARP) 请求,计算配置在网络配置中会失败。
22. 计算和 Kubernetes 如果先在设备上设置了 Kubernetes,它会声明获取所有可用 GPU。 因此在设置 Kubernetes 后就无法使用 GPU 创建 Azure 资源管理器 VM 了。 如果设备有 2 个 GPU,可以先创建 1 个使用 GPU 的 VM,然后再配置 Kubernetes。 在这种情况下,Kubernetes 将使用剩余可用的一个 GPU。
23. 自定义脚本 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 上设置自定义脚本扩展
24. 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 的可能性就越大。
25. 多进程服务 (MPS) 在更新设备软件和 Kubernetes 群集时,不会为工作负载保留 MPS 设置。 重新启用 MPS 并重新部署曾经使用 MPS 的工作负载。
26. WLAN 在此版本中,Wi-Fi 在 Azure Stack Edge Pro 2 上不起作用。 未来的版本中可能提供此功能。

后续步骤