本文概述了各种 Azure Kubernetes Fleet Manager 选项,以及用于指导选择特定配置的注意事项。
可以使用或不使用中心群集创建机群管理器资源。 中心群集是托管的 Azure Kubernetes 服务 (AKS) 群集,充当中心来暂存可供放置的 Kubernetes 资源。
让我们比较一下使用中心集群所启用的场景。
功能 | 无集群节点的车队管理器 | 具有集线器集群的机群管理器 |
---|---|---|
中心群集托管 | ❌ | ✅ |
Kubernetes 和节点映像更新 | ✅ | ✅ |
工作负载分配 | ❌ | ✅ |
DNS 负载均衡 | ❌ | ✅ |
计费注意事项 | 免费 | 需要支付与中心关联的成本,该中心是单节点标准层 AKS 群集。 |
转换舰队类型 | 可以升级到具有中心群集的舰队管理器。 | 在缺少中心集群的情况下,无法将其降级为 Fleet Manager 资源。 |
如果没有中心群集,Fleet Manager 仅充当 Azure 资源管理器(ARM)中的分组实体。 某些功能(例如 Kubernetes 和节点映像更新运行和自动升级)不需要 Kubernetes API,因此不需要中心群集。 若要充分利用所有可用功能,需要具有中心群集的机群管理器。
有关详细信息,请参阅创建没有中心群集的 Kubernetes 舰队资源。
具有中心群集的机群管理器具有关联的 AKS 托管群集,该群集托管用于工作负荷放置的开源 KubeFleet 解决方案,以及用于网络管理和负载均衡的 机群网络管理器 。
创建具有中心群集的舰队管理器后,会自动在同一 Azure 订阅中创建中心 AKS 群集,该订阅位于以 FL_
开头的托管资源组下。 为了提高可靠性,中心群集拒绝对相应的 AKS 群集(在机群管理的资源组 FL_
下)及其基础 Azure 资源(在 AKS 托管资源组 MC_FL_*
下)的任何用户发起的突变,例如虚拟机(VM)。
控制平面操作(例如通过 Azure 资源管理器 (ARM) 更改中心群集的配置或完全删除群集)会被拒绝。 允许数据平面操作,例如连接到中心集群的 Kubernetes API 服务器以配置工作负荷放置。
中心群集从 Azure 策略 中免除,以避免不良策略影响。
对于具有中心群集的 Fleet Manager,有两种网络访问模式:
- 公共中心群集向 Internet 公开中心群集。 这意味着只要有正确的凭据,Internet 上的任何人都可以连接到中心群集。 此配置在开发和测试阶段可能非常有用,但会带来安全问题,这在生产中基本上是不可取的。
有关详细信息,请参阅创建具有公共中心群集的 Kubernetes 舰队资源。
- 专用中心群集使用专用 AKS 群集作为中心,从而阻止通过 Internet 进行开放访问。 专用 AKS 群集的所有注意事项都适用,因此请查看先决条件和限制,以确定具有专用中心群集的 Fleet Manager 是否符合需求。
要考虑的一些其他详细信息:
- 无论是选择公共中心还是专用中心,在创建后都无法更改类型。
- 使用 AKS 专用群集时,可以配置完全限定的域名 (FQDN) 和 FQDN 子域。 此功能不适用于 Fleet Manager 的专用中心群集。
- 连接到专用中心群集时,可以使用与连接到任何专用 AKS 群集相同的方法。 但是,目前不支持使用 AKS 命令调用和专用终结点进行连接。
- 使用专用中心群集时,需要指定 Fleet Manager 中心群集的节点 VM 所在的子网。 此过程与 AKS 专用群集等效过程略有不同。 有关详细信息,请参阅 创建具有专用中心群集的机群管理器。
现在你已了解不同类型的 Kubernetes 舰队资源,请参阅创建 Azure Kubernetes 舰队管理器资源并加入成员群集。