在ACK Edge集群中部署AI套件控制台

云原生AI套件提供了简单的运维大盘和开发控制台,满足快速浏览集群状态、提交训练任务的需要。由于ACK Edge集群的Ingress组件部署方式与ACK集群Pro版有差异,AI套件控制台在ACK Edge集群的部署流程有一些变化。本文介绍如何在ACK Edge集群中部署AI套件控制台。

前提条件

  • 已创建ACK Edge集群,且集群版本为1.18及以上。具体操作,请参见通过控制台创建集群

  • 边缘集群已安装csi-plugin和csi-provisioner组件,具体操作,请参见管理组件

步骤一:部署Nginx Ingress Controller

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Helm

  3. Helm页面,单击创建。参考如下信息完成基础信息配置。

    参数

    示例值

    应用名

    ack-ingress-nginx-{节点池名称}

    命名空间

    kube-system

    来源

    默认为应用市场

    Chart

    • 应用场景:选择全部

    • 支持架构:选择amd64

    • 搜索框:搜索ack-ingress-nginx-v1

  4. 单击下一步进入参数配置页面,配置下列参数信息。然后单击确定完成安装。

    说明

    您可以在容器服务管理控制台集群管理页左侧导航栏中,选择节点管理 > 节点池,查看节点池列表,找到对应的云端节点池ID。

    • service. nodeSelector配置项中加入云端节点池的Label:alibabacloud.com/nodepool-id: {节点池ID}

      说明

      service. nodeSelector字段只需保留alibabacloud.com/nodepool-id: {节点池ID}信息。

      label

    • ingressClassResource配置项中设置namecontrollerValue

      说明

      在同一个ACK Edge集群中多次部署ack-ingress-nginx-v1时,每次部署的namecontrollerValue要确保唯一。命名规范建议如下:

      • nameack-nginx-{节点池名称}, 例如:ack-nginx-edge-hangzhou

      • controllerValue"k8s.io/ack-ingress-nginx-{节点池名称}",例如:"k8s.io/ack-ingress-nginx-edge-hangzhou"

      para

    • 在参数配置页面,根据需求选择SLB的类型为公网或私网,并相应设置externalinternalenabled值。如果您选择公网,请将域名解析到公网IP,如果选择私网,请使用可访问且可解析的私网IP。

      image

步骤二:部署AI套件控制台

部署AI套件控制台具体操作,请参见安装云原生AI套件。安装过程中需要注意以下信息。

  • 推荐将AI套件控制台组件部署到云端节点,以充分利用云端的各项能力。若您希望将其调度到指定的节点池,只需设置相应组件Pod的Selector或Affinity。

  • 如果您在集群中使用自建的数据存储,则需在部署AI套件控制台过程中选中安装ack-mysql组件,且该组件需部署在云端节点。

    安装完成后,会在路由页面中增加两个控制台的Ingress条目,您需要增加ingressClassName的配置,指定其与部署的Nginx-Ingress所使用的Ingress Class相同。

    1. 在控制台左侧导航栏,选择网络 > 路由,单击对应目标右侧YAML编辑image

    2. 增加ingressClassName配置,与步骤一ingressClassResource.name保持一致。image

  • 在部署AI套件控制台过程中,若您需要通过公网域名访问控制台,需要将该域名解析到安装的nginx-ingress负载均衡器(LB)的IP地址。你可以通过控制台左侧导航栏,选择网络 > 服务进行查看。image

部署完成后,可通过AI运维控制台进行访问,具体操作,请参见访问AI运维控制台