Azure Local 离线模式AKS Arc 管理(系列篇十三)

📅 2026/7/5 4:25:13
Azure Local 离线模式AKS Arc 管理(系列篇十三)
Azure Local 离线模式AKS Arc 管理Preview文档体例说明本节采用三栏组织——✅官方要求Official Requirement—— 微软 Learn 原文明确说明的事实技术分析Technical Analysis—— 根据 Azure Local / AKS Arc 架构推导出的技术原理企业最佳实践Best Practice—— 企业生产环境建议、风险控制、扩展性考量重要 Preview 风险声明本文描述的功能属于Microsoft Azure Previews使用前必须阅读 Supplemental Terms of Use for Microsoft Azure Previews——Preview 功能可能发生 API、CLI、资源模型及部署行为变化升级路径和兼容性可能调整应以每个版本 Release Notes 为准。本文三类内容边界声明标注为 ✅官方要求Official Requirement的内容均来源于 Microsoft Learn 或其他微软官方文档标注为 技术分析Technical Analysis的内容基于 Azure Local、Azure Arc 与 AKS Arc 的公开架构推导标注为 企业最佳实践Best Practice的内容属于工程实践建议并非微软官方强制要求1. 支持状态✅ 官方要求微软官方说明Support for disconnected operations begins with the Azure Local 2408 release.起点版本Azure Local 2408当前状态Preview因此使用前必须阅读 Supplemental Terms of Use for Microsoft Azure PreviewsPreview 功能在 GA 前可能发生API 调整CLI 参数变化功能限制更新升级路径变化回滚支持变更 技术分析2408 是 Disconnected Operations 的起始版本。这意味着Azure Local2408 开始支持本地控制平面的离线管理能力Local Control Plane for Disconnected OperationsAKS Arc 可以通过离线控制平面管理不再要求管理节点持续连接 Azure 公有云但这并不意味着 AKS Arc 全部功能均已支持当前 Preview仅开放部分能力与 connected 模式相比identity / network / GPU 等维度仍有显著缺口详见 §2 企业最佳实践Preview 期间必须执行措施说明❌不要将 Preview 部署到生产Preview 不承诺 SLA、不承诺升级路径✔建立独立测试环境验证升级兼容性、CLI / API 行为✔冻结生产集群升级等 GA 后再走正式 release train✔建立 Preview 退出策略GA 后如何平滑切到 GA 版本2. 当前 Preview 限制✅ 官方要求微软当前列出的限制如下项当前状态Azure Local 起始版本2408Kubernetes 版本1.33.4、1.33.5Windows Node Pool❌ 不支持Microsoft Entra ID❌ 不支持AD FS Active Directory✔ 支持GPU❌ 不支持Arc Gateway Outbound URL❌ 不支持创建 Logical NetworkCLI 支持Portal 不支持创建 SSH KeyCLI 支持Portal 不支持 技术分析(1) Kubernetes 版本——supported and validated 范围1.33.4 / 1.33.5 是当前受支持并经过验证supported and validated的 Kubernetes 版本表示的是Preview 当前验证范围并不意味着未来仅支持这两个 Patch随 Azure Local 后续版本发布支持的 Patch 版本可能扩展⚠️常见误读❌ 误读AKS Arc 只支持 1.33.4 / 1.33.5✔ 正确Preview 当前仅在 1.33.4 / 1.33.5 上验证其他 Patch 等待后续 release(2) Microsoft Entra ID——Preview 限制非长期架构限制Disconnected 模式下❌ 不支持通过 Microsoft Entra ID 完成 Kubernetes 身份认证✔ 只能依赖Active DirectoryAD FSActive Directory Federation Services进行身份验证。关键 nuance这是Preview 当前限制并非AKS Arc 长期架构限制未来 GA 阶段很可能恢复Entra 统一身份集成具体以官方 release notes 为准(3) GPU——AKS 层不开放底层能力可能有当前 Preview 限制❌ Kubernetes无法调度GPU Workload❌所有依赖 Kubernetes GPU Device Plugin 的工作负载目前均无法运行—— 例如AI 推理AI 训练CUDA HPCGPU 加速应用关键 nuanceAzure Local底层基础设施未来仍可能支持GPU 硬件当前 Preview仅AKS 层没有 expose GPU scheduling capability不能简单理解为 Azure Local 无 GPU 能力(4) Arc Gateway / Outbound URL——架构上不走该模式❌ disconnected 模式不依赖Arc Gateway outbound endpoint✔ disconnected 模式通过本地控制平面完成资源管理不依赖 Arc Gateway 对 Azure 公有云的持续连接这是该模式的架构选择而非参数配置限制(5) Portal 部分能力缺失——根因某些资源只能通过 Azure CLI 创建Logical Network、SSH Key 等❌ Portal 在 disconnected 模式下不支持这些 resource type根因当前 Portal尚未覆盖所有离线 Resource Provider因此部分资源只能通过 Azure CLI 调用本地 Resource Provider 创建这是当前 Preview 范围内 Resource Provider 的覆盖差异 企业最佳实践Kubernetes 版本管理不自行升级Kubernetes Patch不跨版本跳版本如 1.33.4 直接升 1.34.x等微软发布对应 Azure Local release 的支持版本再升Identity 设计最重要AD FS高可用部署≥2 节点Token Signing 证书生命周期管理Kerberos / LDAP fallback 设计时间同步强制一致NTP——否则 token failureWorkload 选型约束类型能否跑说明通用 Linux K8s workload✔推荐Windows container❌Windows node pool 不支持AI/ML GPU workload❌Preview 不支持传统 VM有状态—用 Azure Local VM不走 AKS3. Azure CLI 扩展版本✅ 官方要求微软要求安装指定 Azure CLI 扩展Extension要求版本customlocation0.1.4aksarc1.2.23stack-hci-vm1.11.1示例az extension add --name aksarc --version 1.2.23 az extension add --name stack-hci-vm --version 1.11.1 # 关键关闭 CLI instance discovery断网必需 az config set core.instance_discoveryfalse --only-show-errors 技术分析(1)stack-hci-vm版本 1.11.1 vs VM 页 1.3.0⚠️常见误读1.11.1 高于Azure Local VM 管理文档的 1.3.0 → VM 功能版本跃迁✔正确解读Azure CLI extension version不一定跨 feature parityAzure Local VM 管理文档版本 vs AKS Arc dependency version 是不同 release trainAKS Arc 可能 pin 一个较新的stack-hci-vmextension用于网络 / 计算资源 API 兼容性这是AKS Arc 的 dependency不等于VM 功能版本变化判断准则AKS Arc 部署以本文档AKS 文档指定的1.11.1为准VM 单独部署以Azure Local VM 管理文档指定的版本为准两边要分开看不要交叉推断(2)core.instance_discoveryfalse——断网环境的关键开关Azure CLI 默认会discovery ARM endpoints自动发现 ARM endpointlogin metadata refresh登录元数据刷新在断网环境中保持默认配置会导致DNS hangtimeout retrylogin latency exponential backoff命令长时间无响应✔关闭该配置的工程意义bypass AAD instance metadata discovery pipeline避免 CLI 尝试访问公共云身份元数据终结点减少离线环境中的超时和重试大幅提高 CLI 响应速度这是高质量的工程洞察——必须在所有 disconnected 操作的客户端上设置。 企业最佳实践Version Pinning版本锁定措施说明✔固定 Azure CLI Extension 版本禁止默认 update✔建立企业内部 Extension 仓库自维护 mirror✔升级前统一验证兼容性先测试集群再走生产✔不自动更新 CLI Extension关掉 auto-upgrade三方一致性原则操作前必查组件核对来源Azure Local releaseMicrosoft Release NotesOEM 驱动 / FirmwareOEM Driver Matrix / Firmware MatrixCLI extension versionaz extension list-available -o tableAppliance buildGet-Module -Name Az.Local -ListAvailable任意一项不匹配先把版本对齐再继续操作。优先级Microsoft Release Notes OEM 驱动/Firmware Matrix。因为兼容性最终由微软 release train 决定OEM 主要负责驱动层。4. 部署流程✅ 官方要求典型部署流程4.1 登录az login4.2 创建 Logical NetworkAKS 用az stack-hci-vm network lnet create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --name $lnetName --vm-switch-name $vmSwitchName --ip-allocation-method Static --address-prefixes $addressPrefixes --gateway $gateway --dns-servers $dnsServers --ip-pool-start $ipPoolStart --ip-pool-end $ipPoolEnd4.3 创建 AKS Arc Cluster参见原文Create an AKS cluster through CLI 技术分析Logical Network 是 AKS Arc 的网络基础。其负责Pod 网络Service 网络VM 网络接口IP 地址池管理Disconnected 模式下网络资源全部由本地控制平面管理Pod CIDR / Service CIDR 必须预先规划——后期修改成本极高 企业最佳实践部署前必须规划避免后期重建维度必须提前定IP Pool 容量至少预留 3 年增长空间DNSforwarder / split horizonGateway默认路由VLAN与现有网络规划对齐MTU跨 HCI 节点保持一致推荐 9000 jumboPod CIDR不能与下列任一重叠企业 LAN / VPN / ExpressRoute / SD-WAN / Service CIDRService CIDR同上⚠️关键原则logical network ≠ physical network。logical network 是 SDN 抽象必须在底层 physical network 之上设计。5. 部署前置条件✅ 官方要求部署前需完成准备工作链接Azure CLI指定版本disconnected-operations-cliAzure CLI Extension§3Azure Subscription—Identity Planningplan-identity.mdNetwork Planningplan-network.mdPKI Planningplan-pki.mdEligibility Criteriaplan-control-plane.mdSet Up 流程deploy-acquire.md 技术分析上述准备工作不仅影响部署是否成功还决定后续集群升级路径身份认证网络连通性特别是Identity / PKI / Network——一旦投入使用后期调整成本极高应在部署前完成设计评审。 企业最佳实践将以下内容纳入企业上线检查清单Deployment Readiness ChecklistIdentity 维度Identity 方案评审AD FS 高可用 / AD 集成PKI 生命周期规划证书轮换 / CRL 维护时间同步验证NTP 一致性 → token 验证前提Network 维度IP 地址容量规划DNS split horizon 设计MTU 一致性验证跨 HCI 节点Static IP pool exhaustion strategyOperations 维度CLI / Extension 版本锁定镜像仓库container image registry mirror同步验证Local container registry governance 策略离线 audit log export 方案Extension repo source 冻结Storage 维度AKS 比 VM 更依赖存储CSV 容量规划含增长预留Storage Path设计避免后期重建Image Volume容量container image 占空间Snapshot 空间预留升级/回滚都需要Container Image Lifecycle 维度disconnected 的核心难点Image mirror strategy—— 如何从公云镜像库同步到本地Image vulnerability scanning—— 离线场景下的镜像漏洞扫描Image retention—— 保留策略与清理Image signing—— 镜像签名校验防止内部篡改6. 架构级补充官方未明确说明6.1core.instance_discoveryfalse是否恢复默认 技术分析官方文档说明了离线环境需要关闭instance discovery但未明确说明何时恢复默认配置 企业最佳实践仅在离线环境中使用该设置如需重新连接公共 Azure应恢复默认并验证 CLI 登录流程建议建立脚本式切换# 进入 disconnected 模式 az config set core.instance_discoveryfalse --only-show-errors # 退出 disconnected 模式 az config set core.instance_discoverytrue --only-show-errors6.2 AKS Arc 是否消耗管理集群资源 技术分析官方未明确说明AKS Arc 是否额外占用管理集群资源。从 Azure Local 架构合理推断┌─────────────────────────────────────┐ │ Azure Local Management Cluster │ │ (HCI 底层物理基础设施) │ ├─────────────────────────────────────┤ │ Arc Control Plane │ │ ├─ Appliance VM │ │ ├─ Operations Module │ │ └─ Arc Resource Bridge │ ├─────────────────────────────────────┤ │ AKS Arc Workload Cluster │ │ ├─ Control Plane (Pods) │ │ ├─ Worker Nodes │ │ └─ Networking / Storage │ └─────────────────────────────────────┘✔真实架构管理控制组件运行于 Azure Local 管理平面AKS 工作负载共享底层物理计算资源CPU / Memory / Storage控制平面与业务工作负载通过逻辑隔离实现资源管理compute is shared, control plane is logically separated该推断符合 Azure Local 控制平面设计但目前官方文档尚未对此进行明确说明应视为架构分析而非官方结论。6.3 Preview 升级风险⚠️ Preview 期间可能出现风险说明Kubernetes 支持版本调整1.33.4/1.33.5 可能不再是 validatedCLI 参数变化升级 extension 后旧命令可能失效API 行为变化字段 / 响应格式可能调整升级路径变化支持的升级策略可能反复回滚可能需 cluster rebuild不是所有 upgrade 都能简单 rollback 企业最佳实践充分验证升级影响后再进入生产部署保留升级前的 snapshot / backup建立 Preview 退出策略GA 后如何平滑切到 GA 版本不要 auto-upgradePreview extension6.4 已知未覆盖 / Open Questions问题状态AKS Arc 是否能在 disconnected 模式下跨 cluster 故障转移未明示推测仅 cluster 内Windows node pool是否会在 GA 阶段恢复未明示GPU scheduling是否会在 GA 阶段恢复未明示Microsoft Entra ID 集成是否会在 GA 阶段恢复未明示官方尚未公布 GA 支持计划K8s 版本向后扩展范围1.30/31/32 LTS 是否支持未明示Container image registry 的官方推荐方案未明示企业可选自建 OCI 兼容 Registry如 Harbor / ACR mirror / Nexus 等AKS Arc 是否支持multi-cluster管理未明示Backup / DR在 disconnected 模式下如何实施未明示7. 企业级最佳实践总结 Preview 风险控制措施强制级别不在生产跑 Preview强制建立独立测试环境强制Version pinningCLI K8s extensions强制冻结 extension repo source强制Container image registry mirror 自建强制Offline audit log export强制Local container registry governance强制GA 前不升级到 preview 升级路径强制 Identity 设计AD FS高可用≥2 节点Token signing 证书生命周期管理Kerberos / LDAP fallback 设计NTP 时间同步强制一致≤5 秒漂移不能依赖 Entra IDPreview 限制 Networking 设计维度要求IP Pool预规划预留增长空间DNSSplit horizon如有 hybrid 需求MTUMTU 应保持整个网络路径一致是否使用 Jumbo Frame 应依据交换机、NIC 与存储网络规划统一确定Static IP exhaustion有预警机制Logical network不等于 physical networkGateway / VLAN与现有网络规划对齐 OperationsCLI Extension统一版本管理Local container registryharbor / 自建离线 audit log→ 本地 SIEMCluster snapshot / backup策略升级演练→ 在测试集群先行验证 升级策略不跨 version jump——按 release train 顺序Preview 不升级——等 GA回滚方案——必须先验证三方一致性——CLI / extension / Appliance 版本对齐8. 与相关文档的衔接本节与同目录其他文档的边界说明主题本文链接关联文档CLI 安装 / CA 配置§3manage-cli.mdLogical Network / SDN§4.2plan-network.mdLNET 创建完整语法§4.2manage-vm.md §3.5IdentityAD FS / AD§5 §7plan-identity.mdPKI§5 §7plan-pki.mdControl Plane 规格§5plan-control-plane.mdAcquire / Set Up§5deploy-acquire.mdAKS monitoring扩展—manage-monitoring.md9. 官方要求 vs 企业建议 对照表企业读者一眼就知道哪些是必须的、哪些是建议的——本页价值最高。维度官方要求企业建议非微软强制安装 CLI安装指定版本 CLI固定CLI 版本建立内部 mirror创建 Logical NetworkCLI 创建提前规划CIDR / IP pool安装 Extensionaksarc/customlocation/stack-hci-vm指定版本建立内部Extension Mirror禁止 auto-upgradeInstance Discovery断开时设为false脚本化切换退出 disconnected 时恢复身份认证AD FS AD双节点 HAAD FS 证书生命周期管理 NTP 强制一致PKI颁发必要证书自动轮换 CRL 维护Preview 部署不进入生产独立测试集群验证升级路径K8s 版本supported and validated 版本不跨版本跳版本等微软 release多集群文档未明示不假设与 connected 模式对齐GPUAKS 层不支持不让 AI/ML 团队把 disconnected 当 GPU 替代方案Windows node pool不支持改用 Azure Local VM 跑 Windows workloadContainer Registry文档未明示方案本地 Harbor/ACR mirror/Nexus 等任选其一外加扫描签名升级按 release train不在生产做 Preview 升级先在测试集群验证回滚Preview 期间不能保证建立 cluster snapshot / backup 优先Open Questions留给 GA不要替微软做未来承诺关注 release notes