关键认知 :先决条件涵盖 6 大领域------安全 / 环境就绪 / 系统 / 防火墙 / 物理网络 / 主机网络 ,外加一张部署信息收集清单。
一、Azure 端(云侧)要求
1. 订阅与权限
- 任意类型订阅即可(学生、Visual Studio、即用即付、EA、CSP)。
- 部署账户必须在订阅上具备:
- 用户访问管理员 + 参与者(用于 Arc 注册 + 资源创建)。
- 详见
deployment-arc-register-server-permissions。
2. 支持的 Azure 区域(azloc-2606)
| 公有云 | Azure 21CN |
|---|---|
| 美国东部、西欧、澳大利亚东部、东南亚、印度中部、加拿大中部、日本东部、美国中南部 | 中国专有 |
⚠️ 坑点:把实例注册到非上表区域 → Arc 注册会直接失败,且事后无法跨区域迁移。
3. Azure Key Vault
- 必须先存在一个 Key Vault,用于存放 本地管理员凭据、BitLocker 恢复密钥、加密密钥。
- 创建时必须启用"公共网络访问",否则 Azure Local 实例访问不到。
- 命名遵循 Azure Key Vault 命名规则(3--24 字符,字母数字,字母开头)。
4. Azure 存储帐户(仅双节点 + 云见证场景)
- 双节点群集必须有云见证 → 需要一个专用存储帐户(不能多个实例复用同一个)。
- 遵守 Azure 存储帐户命名规则(3--24 字符、小写字母数字、全局唯一)。
二、Active Directory 准备(部署前必须完成)
| 项 | 要求 |
|---|---|
| 域 | 已存在的 AD DS 林/域,提供 FQDN |
| 新建 OU | DN 路径中禁止 & " ' < > 这些特殊字符 |
| 部署 LCM 用户 | 新建、专属部署权限、14 字符以上 、含大小写+数字+特殊字符;用户名不能 为 admin,且在每个实例必须唯一 |
| 本地管理员 | 集群内所有机器同一凭据,同样 ≥14 字符、四类字符 |
⚠️ 坑点 :OU DN 含 & 是部署失败的最常见 AD 错误之一 ;admin 用户名会被显式拒绝。
三、网络先决条件(最复杂、最容易踩雷的部分)
1. 已验证的网络拓扑
| 拓扑 | 门户部署 | ARM 模板 |
|---|---|---|
| 1 节点,无存储交换机 | ✅ 默认 | ✅ |
| 1 节点,有存储交换机 | --- | ✅ |
| 2 节点,无存储交换机 | ✅ | ✅ |
| 2 节点,有存储交换机 | ✅ | ✅ |
| 3 节点,有存储交换机 | ✅ | ✅ |
| 3 节点,无存储交换机 | ❌ | ✅ |
| 4 节点,有存储交换机 | ✅ | ✅ |
| 4 节点,无存储交换机 | ❌ | ✅ |
| 5--16 节点,无交换机 | ❌ | ❌ |
| 5--16 节点,有存储交换机 | ✅ | ✅ |
⚠️ 坑点 :3 节点无交换机 拓扑在 Azure 门户里不被支持,只能用 ARM 模板;4 节点同理。生产环境请优先选带存储交换机的方案。
2. 网络 ATC 存储 VLAN
- 推荐用 Network ATC 默认 VLAN:存储子网 1 用 711 ,存储子网 2 用 712。
- 也可以自己指定两个唯一 VLAN ID。
3. 管理网络的 IPv4 子网
- 必须预留至少 6 个连续可用 IP(第一个会被故障转移群集占用)。
- DNS 服务器 IP 不能 落在
10.96.0.0/12或10.244.0.0/16(Kubernetes 保留)。 - DNS 部署后不可更改(节点 + ARB 都用这套 DNS)。
4. 已验证的网络交换机(部分关键厂商清单)
文档列出Azure Local在国内部署案例中常用交换机(必须用指定固件版本以上):
| 厂商 | 代表型号 / 系列 | 最低固件 |
|---|---|---|
| Cisco | Nexus 9300-EX / FX / FX2 / FX3 / GX / GX2 / H1 / 9332D-H2R | NX-OS 10.3(2)F+ / ACI 6.0.3e+ |
| Dell | S41xx / S52xx / S54xx / S5212F-5296F / S5448F / Z9432F / Z9664F | SmartFabric OS10.5.4+ 或 SONiC 4.5.0+ |
⚠️ 坑点:
- Microsoft 不认证交换机 ,不在清单上的型号可能有功能问题但得不到支持。
- "来宾 RDMA" 必须同时勾上"计算(标准)+ 存储"两列都打勾的型号。
5. 物理网络带宽
- 推荐节点间管理与业务网络最低为10GB,虽然可以更低,但这是建议值 ------VM 复制、补丁下载、遥测上传会消耗更高带宽。
- 推荐 RDMA 网络(iWARP / RoCE)走 25/100/400 GbE 交换机。
6. 出站防火墙(Azure 终结点)
- 必须开放:80/TCP + 443/TCP 出站。
- 禁止 HTTPS 检查(会断连 Arc 服务,Entra ID 租户限制 v1 也不兼容)。
- Azure Local 不支持 Arc 专用链接范围 :Arc FQDN 必须解析到公共 IP :
*.his.arc.azure.com*.guestconfiguration.azure.com*.dp.kubernetesconfiguration.azure.com
每个区域都有完整 endpoint 清单(Azure Local + Arc Server + ARB + AKS 四套叠加):
- 公有云:EastUS、WestEurope、AustraliaEast、SoutheastAsia、CanadaCentral、IndiaCentral、JapanEast、SouthCentralUS
- Azure中国:21CN Azure,但版本落后国际版,有些功能可能会缺失
- OEM 额外端口:Dell / Lenovo
7. 节点间内部端口(必须双向打开)
| 用途 | 端口 |
|---|---|
| ICMP | --- |
| SMB | 445/TCP;iWARP RDMA 还需 5445 |
| WinRM | 5985 (HTTP) / 5986 (HTTPS) |
| Azure Local 服务内部 | 30301/TCP |
| AD 相关 | 53, 88, 123, 135, 389, 445, 464, 636, 3268, 3269, 9389 等 |
| 故障转移群集 | 135, 137/UDP, 3343, RPC 动态端口(≥5000 以上 100 个端口) |
| Hyper-V | 80, 443, 445, 135, 2179, 6600, RPC 动态端口 |
⚠️ 坑点 :RPC 动态端口必须至少预留 100 个(高于 5000),不然群集创建会卡。
四、硬件先决条件
只支持 Azure Local Catalog 里的机型。部署需满足以下最低规格:
| 组件 | 最低要求 |
|---|---|
| 节点数 | 1--16;经过微软认证的Azure Local服务器 |
| CPU | 64 位 Intel Nehalem+ / AMD EPYC+,支持 SLAT;集群内 CPU 厂商必须一致 |
| 内存 | 每节点 ≥ 32 GB ECC(不满足走虚拟部署) |
| 网卡 | ≥ 2 块(Windows Server 目录内),或基于意图的专用网卡(存储 intent 需要 2 块独立适配器) |
| BIOS | Intel VT / AMD-V 必须开;TPM 2.0 + 安全启动必须开 |
| 启动盘 | ≥ 200 GB (内存 >768 GB 的实例建议 ≥ 400 GB) |
| 数据盘 | 每节点 ≥ 2 块,≥ 500 GB;所有节点磁盘型号/容量/性能/固件一致 |
| TPM | 2.0 硬件且已启用 |
| 安全启动 | 必须开启 |
| GPU | 可选,每节点 GPU 显存 ≤ 192 GB |
数据盘 / 闪存要求
| 场景 | 要求 |
|---|---|
| 单节点 | 单一类型驱动器,NVMe 或 SSD 性能一致 |
| 多节点(推荐) | 全闪存 + 单一类型(NVMe 或 SSD),性能一致 |
| 混合双层(HDD + 闪存) | HDD 仅作容量;闪存 ≥ 32 GB 做缓存;缓存/容量比 ≥ 15%;缓存耐久度 ≥ 3 DWPD 或 4 TBW/天;容量盘数量 = 缓存盘整数倍 |
| NVMe 驱动 | 必须用 Microsoft 自带的 stornvme.sys,不支持 Windows Server 改进版 |
| 闪存 | 必须含掉电保护 |
上限(每系统 / 每主机)
| 资源 | 上限 |
|---|---|
| 物理机数 | 16 |
| 逻辑处理器 / 主机 | 512 |
| RAM / 主机 | 24 TB |
| 虚拟处理器 / 主机 | 2,048 |
备注:随着Azure Local版本的更新,上限的部分参数可能也会随之发生变化。
BIOS / 固件 / 驱动(部署前必须就位)
- 强烈建议 :用 OEM 的 Solution Builder Extension (SBE) 包部署最新固件 + 驱动。
- 顶级解决方案:固件+驱动自动通过 Azure Update Manager 应用。
- 集成系统 / 已验证节点:需手动用 SBE 包更新。
- ⚠️ 23H2 起 :不再支持用 WAC 扩展装驱动和固件。
- BIOS 重置 / 安全启动 / TPM 重置后,必须联系 OEM 重新应用优化设置------错误配置会让 SR-IOV、BitLocker、安全核心失效,甚至部署直接失败。
五、驱动 / 固件 / SBE 兼容性确认
部署前需在每节点执行:
# 1) 列出网卡
Get-NetAdapter
# 2) 查看具体驱动版本(例:检查 Mellanox mlx5)
Get-NetAdapter -Name ethernet | Select-Object *driver*
# 3) 用 PnPUtil 安装驱动
pnputil /add-driver mlx5.inf /install
# 4) 验证
Get-NetAdapter -Name ethernet | Select-Object *driver*
要确认的字段:DriverFileName、DriverVersion、DriverDate、DriverDescription、DriverProvider。
⚠️ 坑点 :驱动 / 固件 / Azure Local 解决方案版本三者的兼容性矩阵必须按 OEM 文档核对,OEM 文档优先级 > 通用文档。通俗讲OEM合作伙伴的部署文档高于微软官方Azure Local部署文档,发生冲突时,以OEM合作伙伴的部署文档为依据。
六、安全功能(部署前需理解)
- Azure Local 强制启用:TPM 2.0 + 安全启动 + BitLocker + 凭据保护(Credential Guard)。
- 所有密钥、凭据存 Azure Key Vault。
- 不支持 HTTPS 检查(前面已强调)。
- ARC 资源桥设备 VM 会作为 Azure Local 一部分自动部署,提供与 Azure 的混合连接。
七、环境就绪检查(部署前最后一步)
部署前必须 运行 Environment Checker:
# 在每节点执行,验证:
# - 网络(DNS、子网、VLAN、RDMA)
# - 硬件(CPU、内存、磁盘、TPM)
# - 软件(OS 版本、驱动版本)
# - 出站连接(Azure endpoint 可达性)
输出文件示例路径:C:\ProgramData\AzureLocal\EnvironmentChecker\...
如果 Environment Checker 报错,不要继续部署------基本 100% 会失败。
八、部署信息收集清单
部署向导开始前,按下表把所有信息准备好:
| 项目 | 内容 / 示例 |
|---|---|
| 计算机名 | 每节点唯一(≤15 字符,符合 NetBIOS) |
| AD OU | DN 格式,不含 & " ' < > |
| AD 域 FQDN | corp.contoso.com |
| AD LCM 用户 | azlocal-deploy(不能用 admin,≥14 字符含四类字符) |
| 本地管理员 | azlocal-admin(同上规则) |
| 管理 IPv4 子网 | 10.0.0.0/24,至少 6 个连续可用 IP |
| 存储 VLAN ID | 711、712(默认)或自定义两个 |
| DNS 服务器 | 部署后不可改;不能落在 K8s 保留子网 |
| 自定义位置(可选) | eastus-customlocation |
| Azure 订阅 ID | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Azure 存储帐户 | 双节点 + 云见证时专用 |
| Azure Key Vault | 公共网络访问已启用 |
| 出站连接 | Environment Checker 通过 |
九、典型部署顺序回顾
- 选已验证网络拓扑
- 完成本文的先决条件
- 准备 AD
- 下载 OS(Azure Stack HCI OS ISO)
- 安装 OS(ISO 手动 或 简化机器配置)
- 设置订阅权限
- 注册到 Azure Arc(带/不带 Arc 网关)
- 通过门户或 ARM 模板部署系统