支持由 Azure Arc 启用的 AKS 的支持策略
适用于:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS
本文提供有关 Arc 启用的 AKS 的技术支持策略和限制的详细信息。本文还介绍了群集节点管理、控制平面组件、第三方开源组件以及安全或修补程序管理。
服务更新和版本
- Microsoft为每个 Kubernetes 次要版本提供 1 年的支持窗口,从初始发布日期开始。 在此期间,AKS Arc 会发布后续次要版本或修补程序版本,以确保持续支持。
- 对已弃用的次要版本进行操作的 Kubernetes 群集必须更新为受支持的版本才能获得支持。
- 弃用次要版本后,此版本上运行的任何群集将继续正常运行。 你仍然可以执行纵向扩展或缩减等操作,但 AKS Arc 在群集操作期间显示警告。
- 弃用次要版本后,会将其从Microsoft服务器中删除。 此时,使用此版本的 Kubernetes 群集无法更新 Kubernetes 或 OS 版本,并且必须升级到最新版本。 在某些情况下,如果系统未处于正常状态,则此升级也可能意味着完全重新部署。
有关发布信息,请参阅 AKS Arc 发行说明。 有关预览版中的功能的信息,请参阅 AKS Arc 预览功能。
AKS Arc 中的托管功能
作为 AKS Arc 用户,自定义和部署选项有限。 但是,无需担心或直接管理 Kubernetes 群集控制平面和安装。 基本基础结构即服务(IaaS)云组件(如计算或网络组件)允许访问低级别控件和自定义选项。
相比之下,AKS Arc 提供了一个交钥匙 Kubernetes 部署,可提供群集所需的常见配置和功能集。 使用 AKS Arc,可以获得部分托管的控制平面。 该控制平面包含执行操作并向最终用户提供 Kubernetes 群集所需的所有组件和服务。 Microsoft维护所有 Kubernetes 组件。
Microsoft通过管理群集和关联的虚拟机基础映像维护以下组件:
kubelet
或 Kubernetes API 服务器。etcd
或兼容的键值存储,提供服务质量(QoS)、可伸缩性和运行时。- DNS 服务(例如
kube-dns
,或 CoreDNS)。 - Kubernetes 代理或网络。
- 命名空间中
kube-system
运行的任何其他加载项或系统组件。
AKS Arc 不是平台即服务(PaaS)解决方案。 某些组件(如工作负荷群集、控制平面和工作器节点)共同负责。 用户必须帮助维护 Kubernetes 群集。 例如,需要用户输入才能将操作系统(OS)安全修补程序或更新应用到较新的 Kubernetes 版本。
服务在 Microsoft和 AKS 团队提供用于部署工作负荷群集的管理群集、控制平面和代理节点的工具方面进行管理 。 无法更改这些托管组件。 Microsoft 限制了自定义,以确保一致且可缩放的用户体验。 有关云中完全可自定义的解决方案,请参阅 AKS 引擎。
支持的版本策略
AKS Arc 中的 Kubernetes 版本遵循 Kubernetes 版本策略。
AKS Arc 不会为受支持的版本列表之外的群集提供任何运行时(或其他)保证。 “不受支持”意味着:
- 群集在已弃用的次要版本上运行。 正在运行的版本不在受支持的版本列表中。
- 请求支持时,系统会要求将群集升级到受支持的版本。
有关支持的 Kubernetes 版本的信息,请参阅 支持的 Kubernetes 版本。
AKS Arc 遵循这些产品的平台版本支持时间范围。 也就是说,不支持这些产品的 AKS Arc 版本。 有关更多信息,请参阅他们的支持政策:
共担责任
创建群集时,定义 AKS Arc 创建的 Kubernetes 代理节点。 你的工作负载将在这些节点上执行。
由于代理节点执行专用代码并存储敏感数据,因此Microsoft 支持部门对它们的访问权限有限。 Microsoft 支持部门无法登录以执行命令,也不能在没有快速权限或协助的情况下查看这些节点的日志。 使用任何 IaaS API 直接修改代理节点会使群集不可支持。 对代理节点所做的任何修改都必须使用 Kubernetes 本机机制(例如 Daemon Sets
)。
同样,虽然可以将任何元数据(如标记和标签)添加到群集和节点,但更改系统创建的任何元数据都会导致群集不受支持。
AKS Arc 支持覆盖范围
Microsoft为以下功能和组件提供技术支持:
- 连接到 Kubernetes 服务提供和支持的所有 Kubernetes 组件,例如 API 服务器。
- Kubernetes 控制平面服务(例如 Kubernetes 控制平面、API 服务器等)和 coreDNS。
- Etcd 数据存储。
- 与 Azure Arc 和 Azure 计费服务集成。
- 有关控制平面组件(例如 Kubernetes API 服务器、etcd 和 coreDNS)的自定义的问题。
- 网络、网络访问和功能的问题。 问题可能包括 DNS 解析、数据包丢失和路由。 Microsoft 为各种网络方案提供支持:
- Flannel 和 Calico CNI 的基本安装支持。 这些 CNIS 是社区驱动和支持的。 Microsoft 支持部门仅提供基本安装和配置支持。
- 连接到其他 Azure 服务和应用程序。
- 入口控制器和入口或负载均衡器配置。
- 网络性能和延迟。
注意
Microsoft AKS Arc 支持团队执行的任何群集操作均获得用户同意和帮助。 除非为支持工程师配置访问权限,否则Microsoft 支持部门不会登录到群集。
Microsoft不提供以下方面的技术支持:
有关如何使用 Kubernetes 的问题。 例如,对于如何创建自定义入口控制器、如何使用应用程序工作负荷,或者如何应用第三方的或开源的软件包或工具,Microsoft 支持部门不提供建议。
注意
Microsoft 支持部门可以就 AKS Arc 中的群集功能、自定义和优化提供建议;例如 Kubernetes 操作问题和过程。
在 AKS Arc 中创建群集时,未作为 Kubernetes 控制平面的一部分提供或部署的第三方开源项目。这些项目可能包括 Istio、Helm、Envoy 或其他项目。
注意
Microsoft 会尽力为 Helm 之类的第三方开源项目提供支持。 如果第三方开源工具与 Kubernetes 或其他 AKS Arc 特定 bug 集成,Microsoft支持Microsoft文档中的示例和应用程序。
第三方闭源软件。 此类软件可能包括安全扫描工具以及网络设备或软件。
AKS Arc 文档中列出的网络自定义项以外的其他自定义项。
AKS Arc 支持代理节点的覆盖范围
AKS Arc 代理节点的Microsoft责任
在以下情况下,由 Microsoft 和用户共同承担 Kubernetes 代理节点的责任:
- 基础 OS 映像需要添加(如监视和网络代理)。
- 代理节点自动收到了 OS 补丁。
- 在代理节点上运行的 Kubernetes 控制平面组件的问题会在更新周期或重新部署代理节点时自动修复。 这些核心组件包括:
kube-proxy
- 提供 Kubernetes 主组件的通信路径的网络隧道:
kubelet
Moby
或ContainerD
注意
如果代理节点无法运行,AKS Arc 可能会重启单个组件或整个代理节点。 这些自动重启操作为常见问题提供自动修正。
AKS Arc 代理节点的客户责任
Microsoft每月为映像节点提供修补程序和新映像,但默认情况下不会自动修补它们。 若要使代理节点 OS 和运行时组件保持修补状态,应保留常规升级计划或自动修补。
同样,AKS Arc 会定期发布新的 Kubernetes 修补程序和次要版本。 这些更新可能包含 Kubernetes 的安全或功能改进。 你负责根据 AKS Arc 支持的版本策略使群集的 Kubernetes 版本保持更新。
代理节点的用户自定义
注意
AKS Arc 代理节点作为常规虚拟机资源显示在 Hyper-V 中。 这些虚拟机使用自定义 OS 映像进行部署,并受支持和管理的 Kubernetes 组件。 不能更改基本 OS 映像,也不能使用 Hyper-V API 或资源对这些节点进行任何直接自定义。 任何未通过 AKS-HCI API 完成的自定义更改都不会通过升级、缩放、更新或重新启动来持久保存,并且可以呈现不支持的群集。 除非 Microsoft 支持指示你进行更改,否则请避免更改代理节点。
AKS Arc 代表你管理代理节点映像的生命周期和操作。 不支持修改与代理节点关联的资源。 例如,不支持通过 Hyper-V API 或工具手动更改配置来自定义虚拟机的网络设置。
对于特定于工作负荷的配置或包,应使用 Kubernetes 守护程序集。
使用 Kubernetes 特权 daemon sets
容器和 init 容器时,可以在群集代理节点上优化/修改或安装第三方软件。 例如,可以添加自定义安全扫描软件或更新 sysctl
设置。 如果上述要求适用,建议使用此路径,但 AKS Arc 工程和支持无法帮助排查或诊断由于自定义部署而使节点不可用的 daemon set
修改。
安全问题和修补
如果在 AKS Arc 的一个或多个托管组件中找到安全漏洞,AKS Arc 团队会修补所有受影响的 OS 映像以缓解此问题,团队会为用户提供升级指导。
对于受安全漏洞影响的代理节点,Microsoft会通知你有关影响的详细信息以及修复或缓解安全问题的步骤。 通常,这些步骤包括节点映像升级或群集修补程序升级。
节点维护和访问
尽管可以登录和更改代理节点,但不建议执行此操作,因为更改可能会使群集不受支持。
网络端口、IP 池和访问
只能使用 AKS Arc 定义的子网自定义网络设置。 无法在代理节点的 NIC 级别自定义网络设置。 AKS Arc 对特定终结点具有出口要求,用于控制出口并确保必要的连接。 有关详细信息,请参阅 AKS Arc 系统要求。
已停止或断开连接的群集
如前所述,通过 Hyper-V API、CLI 或 MMC 手动取消分配所有群集节点会使群集不受支持。
停止超过 90 天的群集无法再更新。 处于此状态的群集的控制平面在 30 天后不受支持,并且无法将其更新到最新版本。
AKS Arc 中的管理群集必须能够至少每 30 天通过 HTTPS 出站流量连接到 Azure,才能维护第 2 天操作,例如升级和节点池缩放。 如果管理群集在 30 天内断开连接,则工作负荷将继续运行并按预期工作,直到管理群集或 Azure Stack HCI 重新连接并同步到 Azure。 重新连接后,全天 2 个操作应按预期恢复并继续。 有关详细信息,请参阅 Azure Stack HCI Azure 连接要求 。 30 天后,Azure Stack HCI 会阻止创建新的虚拟机。
如果群集在 Windows Server 2019 或 Windows Server 2022 上运行,基础主机平台没有 30 天的定期连接要求。
注意
30 天的开始/结束时间可能与 AKS Arc 和 Azure Stack HCI 的有效期不同。 通过 Hyper-V API/CLI/MMC 手动停止或取消分配所有群集节点的时间超过 30 天,在常规维护过程中,外部的常规维护过程会使群集不受支持。
已删除或挂起的订阅
如果 Azure 订阅已暂停或删除,则 AKS 群集在 60 天后不再受支持,除非在达到 60 天限制之前恢复订阅。 前面所述的所有其他限制也适用。 删除订阅后,无法恢复到 Azure 的群集连接,并且必须重新部署 Azure Stack HCI 和 AKS Arc 才能重新连接到 Azure。
不支持的预览版和 beta 版 Kubernetes 功能
AKS Arc 仅支持上游 Kubernetes 项目中的稳定和 beta 功能。 除非另有说明,否则 AKS Arc 不支持上游 Kubernetes 项目中提供的任何预览功能。
预览功能或功能标志
对于需要进一步测试并收集用户反馈的功能,Microsoft 会发布新的预览版功能或带功能标志的功能。 请考虑这些预发行版或 beta 版功能。 预览功能或功能标志功能不适用于生产环境。 API 和行为的不断变化、bug 修复和其他更改可能会导致群集不稳定和停机。
公共预览版中的功能获得“尽力而为”的支持,因为这些功能以预览版提供,不适用于生产。 AKS Arc 技术支持团队仅在工作时间支持这些功能。 有关详细信息,请参阅Azure 支持常见问题解答。
上游 bug 和问题
由于上游 Kubernetes 项目的开发速度,不可避免地会出现 bug。 其中一些 bug 无法在 AKS Arc 系统中进行修补或处理。 相反,bug 修复需要对上游项目(例如 Kubernetes、节点或代理操作系统及内核)应用更大的补丁。 对于Microsoft拥有的组件(例如 Azure Stack HCI 的群集 API 提供程序),AKS Arc 和 Azure 人员致力于解决社区上游的问题。
当技术支持问题由一个或多个上游 bug 导致时,AKS Arc 支持和工程团队将执行以下操作:
- 使用任何支持详细信息来识别并链接上游 bug,以帮助解释为何此问题会影响群集或工作负荷。 客户会收到所需存储库的链接,以便可以观察问题,并了解何时有新的版本可以提供修复措施。
- 提供可能的解决方法或缓解措施。 如果问题可以缓解, 则会在 Azure Stack HCI 上的 AKS 和 Windows Server 存储库中提交已知问题。 已知问题文件解释:
- 该问题,包括上游 bug 的链接。
- 有关升级或解决方案的其他选项的解决方法和详细信息。
- 问题包含内容的大致时间线,根据上游版本发布频率提供。