已启用 Azure Arc 的 Kubernetes 的自定义位置

作为 Azure 位置构造的一个扩展,自定义位置功能为租户管理员提供了使用其已启用 Azure Arc 的 Kubernetes 群集作为目标位置来部署 Azure 服务实例的一种方式

类似于 Azure 位置,租户中有权访问自定义位置的最终用户可以使用其公司的专用计算来部署资源。

显示 Arc 平台层的关系图。

可将自定义位置可视化为已启用 Azure Arc 的 Kubernetes 群集、群集连接和群集扩展上的抽象层。 自定义位置为其他 Azure 服务创建所需的精细 RoleBindings 和 ClusterRoleBindings,使其能够访问群集。 这些其他 Azure 服务需要群集访问权限来管理已部署的资源。

体系结构

当管理员在群集上启用自定义位置功能时,该群集上会创建一个 ClusterRoleBinding,并为自定义位置资源提供程序使用的 Microsoft Entra 应用程序授权。 获得授权后,自定义位置资源提供程序可以创建其他 Azure 资源提供程序在此群集上创建自定义资源时所需的 ClusterRoleBindingRoleBinding 对象。 群集上安装的群集扩展会确定要授权的资源提供程序列表。

自定义位置体系结构关系图,使用已启用 Arc 的数据服务作为示例。

当用户在群集上创建数据服务实例时:

  1. 向 Azure 资源管理器发送 PUT 请求。
  2. PUT 请求被转发到已启用 Azure Arc 的数据服务资源提供程序。
  3. RP 提取与存在自定义位置的已启用 Azure Arc 的 Kubernetes 群集关联的 kubeconfig 文件。
    • 在原始 PUT 请求中,自定义位置称为 extendedLocation
  4. 已启用 Azure Arc 的数据服务资源提供程序使用 kubeconfig 来与群集通信,以在映射到自定义位置的命名空间中创建已启用 Azure Arc 的数据服务类型的自定义资源。
    • 在自定义位置存在之前,已通过创建群集扩展部署了已启用 Azure Arc 的数据服务操作程序。
  5. 已启用 Azure Arc 的数据服务操作程序读取在群集上创建的新自定义资源并创建数据控制器,这相当于在群集上实现了所需状态。

用于创建 SQL 托管实例和 PostgreSQL 实例的步骤顺序与前面所述的步骤顺序相同。

后续步骤