您可以通过容器服务管理控制台非常方便的创建异构计算专有集群。

背景信息

创建集群过程中,容器服务会进行如下操作:

  • 创建ECS,配置管理节点到其他节点的SSH的公钥登录,通过CloudInit安装配置Kubernetes集群。
  • 创建安全组,该安全组允许VPC入方向全部ICMP端口的访问。
  • 如果您不使用已有的VPC网络,会为您创建一个新的VPC及VSwitch,同时为该VSwitch创建SNAT。
  • 创建VPC路由规则。
  • 创建 NAT网关及EIP。
  • 创建RAM子账号和AK,该子账号拥有ECS的查询、实例创建和删除的权限、添加和删除云盘的权限、SLB的全部权限、云监控的全部权限、VPC的全部权限、日志服务的全部权限、NAS的全部权限。Kubernetes集群会根据用户部署的配置相应的动态创建SLB、云盘、VPC路由规则。
  • 创建内网SLB,暴露6443端口。
  • 创建公网SLB,暴露6443、8443和22 端口(如果您在创建集群的时候选择开放公网SSH登录,则会暴露22端口;如果您选择不开放公网SSH 访问,则不会暴露22端口)。

使用限制

  • 用户账户需有100元的余额并通过实名认证,否则无法创建按量付费的ECS实例和负载均衡。
  • 随集群一同创建的负载均衡实例只支持按量付费的方式。
  • Kubernetes集群仅支持专有网络VPC。
  • 每个账号默认可以创建的云资源有一定的配额,如果超过配额创建集群会失败。请在创建集群前确认您的配额。

    如果您需要提高配额,请提交工单申请。

    • 每个账号默认最多可以创建50个集群(所有地域下),每个集群中最多可以添加100个节点。如果您需要创建更多的集群或者节点,请提交工单申请。
      注意 Kubernetes集群中,VPC默认路由条目不超过48条,意味着Kubernetes集群使用VPC时,默认路由条目上限是48个。如果需要更大的路由条目数,需要您先对目标VPC提交工单,申请提高配额。
    • 每个账号默认最多可以创建100个安全组。
    • 每个账号默认最多可以创建60个按量付费的负载均衡实例。
    • 每个账号默认最多可以创建20个EIP。
  • ECS实例使用限制:

    支持创建按量付费和包年包月的ECS实例。

    说明 实例创建后,您可以通过ECS管理控制台将按量付费转预付费,请参见按量付费转包年包月

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,选择集群 > 集群
  3. 集群列表页面中,单击页面右上角的创建Kubernetes集群,在弹出的选择集群模板页面中,选择异构计算专有集群。单击创建,进入集群配置页面。
    创建专有集群
  4. 完成集群配置。
    1. 完成集群基础选项配置。
      配置项 描述
      集群名称 填写集群的名称。
      说明 集群名称应包含1~63个字符,可包含数字、汉字、英文字符或连字符(-)。
      地域 选择集群所在的地域。
      资源组 将鼠标悬浮于页面上方的账号全部资源,选择集群所在的资源组。这里显示选择的资源组。资源组
      Kubernetes版本 选择Kubernetes版本。
      容器运行时 Kubernetes专有版只支持Docker。
      专有网络 设置集群的网络,您可以选择普通VPC和共享VPC。
      • 共享VPC:VPC的所有者账号(资源所有者)可以将其账号下的VPC内的交换机资源共享给其组织内的其他账号使用。
      • 普通VPC:不具备共享功能的VPC。
      说明 Kubernetes集群仅支持专有网络。您可以在已有VPC列表中选择所需的VPC。如果没有您需要的专有网络,可以通过单击创建专有网络进行创建,请参见创建专有网络
      虚拟交换机 设置虚拟交换机。

      您可以在已有虚拟交换机列表中,根据可用区选择1-3个交换机 。如果没有您需要的交换机,可以通过单击创建虚拟交换机进行创建,请参见创建交换机

      网络插件 设置启用的网络插件和插件配置,支持Flannel和Terway网络插件,具体可参见Flannel与Terway
      • Flannel:简单稳定的社区的Flannel CNI插件。但功能偏简单,支持的特性少,例如:不支持基于Kubernetes标准的Network Policy。
      • Terway:阿里云容器服务自研的网络插件,将阿里云的弹性网卡分配给容器,支持Kubernetes的Network Policy来定义容器间的访问策略,支持对单个容器做带宽的限流。
        说明
        • 在这两种模式下,节点上可以运行的Pod数均受节点的弹性网卡和辅助IP的配额限制。
        • 当专有网络选择共享VPC时,网络插件仅支持Terway。
      Pod网络CIDR 网络插件选择Flannel时,需要配置Pod网络CIDR

      Pod网络CIDR指定Flannel网络插件需要配置Pod网络CIDR,网段不能和VPC及VPC已有Kubernetes集群使用的网段重复,创建成功后不能修改。而且Service地址段不能和Pod地址段重复,有关Kubernetes网络地址段规划的信息,请参见VPC下Kubernetes的网络地址段规划

      Terway模式 网络插件选择Terway时,需要配置Terway模式
      配置Terway模式,需选择是否选中Pod独占弹性网卡以获得最佳性能
      • 选中Pod独占弹性网卡以获得最佳性能,Pod将独占一个专有的弹性网卡。
      • 没有选中Pod独占弹性网卡以获得最佳性能,使用弹性网卡的辅助IP分配给Pod,一个Pod占用一个弹性网卡辅助IP地址。
      说明 当前只有白名单用户可使用该功能。提交工单申请使用。
      Pod虚拟交换机 网络插件选择Terway时,需要配置Pod虚拟交换机Pod虚拟交换机指定Terway网络插件需要配置Pod的VSwitch,由于Pod的弹性网卡需要和所在的机器在同一个可用区,所以需要为上面所选的集群节点的VSwitch相对应可用区的Pod选择另一个VSwitch,集群运行时Pod的IP地址将会从所选择的VSwitch中分配,为了保障Pod可用数量,建议选择掩码不大于19的VSwitch。
      Service CIDR 设置Service CIDR。您需要指定Service CIDR,网段不能与VPC及VPC内已有Kubernetes集群使用的网段重复,创建成功后不能修改。而且Service地址段也不能和Pod地址段重复,有关Kubernetes网络地址段规划的信息,请参见VPC下Kubernetes的网络地址段规划
      节点IP数量 如果您选择的网络模式为Flannel,您需设置节点IP数量
      说明 节点IP数量是指可分配给一个节点的IP数量,建议保持默认值。
      配置SNAT 设置是否为专有网络配置SNAT网关。
      • 如果您使用的VPC中当前已有NAT网关,容器服务会使用已有的NAT网关。
      • 如果VPC中没有NAT网关,系统会默认自动为您创建一个NAT网关。如果您不希望系统自动创建NAT网关,可以取消选中页面下方的为专有网络配置SNAT。此时您需要自行配置NAT网关实现VPC安全访问公网环境,或者手动配置SNAT,否则VPC内实例将不能正常访问公网,会导致集群创建失败。
      公网访问 设置是否开放使用EIP暴露API Server
      API Server提供了各类资源对象(Pod,Service等)的增删改查及watch等HTTP Rest接口。
      • 如果选择开放,会创建一个EIP,并挂载到内网SLB上。此时,Master节点的6443端口(对应API Server)暴露出来,用户可以在外网通过kubeconfig连接或操作集群。
      • 如果选择不开放,则不会创建EIP,用户只能在VPC内部用kubeconfig连接并操作集群。
      SSH登录

      您需要开放使用EIP暴露API Server,才能设置公网SSH登录。

      • 选择开放公网SSH登录,您可以SSH访问集群。
      • 选择不开放公网SSH登录,将无法通过SSH访问集群,也无法通过kubectl连接集群。如果您需要通过SSH访问集群实例,可以手动为ECS实例绑定EIP,并配置安全组规则,开放SSH(22)端口,具体操作参见SSH访问Kubernetes集群
      RDS白名单 设置RDS白名单。将节点IP添加到RDS实例的白名单中。
      安全组

      支持选择自动创建普通安全组自动创建企业级安全组选择已有安全组。有关安全组的详细内容,请参见安全组概述

    2. 完成集群高级选项配置。
      配置项 描述
      kube-proxy代理模式

      支持iptables和IPVS两种模式。

      • iptables:成熟稳定的kube-proxy代理模式,Kubernetes service的服务发现和负载均衡使用iptables规则配置,但性能一般,受规模影响较大,适用于集群存在少量的service。
      • IPVS:高性能的kube-proxy代理模式,Kubernetes service的服务发现和负载均衡使用Linux ipvs模块进行配置,适用于集群存在大量的service,对负载均衡有高性能要求的场景。
      标签

      为集群绑定标签。输入键和对应的值,单击添加

      说明
      • 是必需的,而是可选的,可以不填写。
      • 不能是aliyun、http:// 、https://开头的字符串,不区分大小写,最多64个字符。
      • 不能是http://或https://,可以为空,不区分大小写,最多128个字符。
      • 同一个资源,标签键不能重复,相同标签键(Key)的标签会被覆盖。
      • 如果一个资源已经绑定了20个标签,已有标签和新建标签会失效,您需要解绑部分标签后才能再绑定新的标签。
      自定义镜像

      选择自定义镜像时,将取代默认系统镜像。

      集群本地域名 设置是否配置集群本地域名。
      说明 默认域名为cluster.local,可自定义域名。域名由两段组成,每段不超过63个字符,且只能使用大小写字母和数字,不能为空。
      自定义证书SAN

      自定义配置集群apiserver服务端证书中的SAN。多个IP或域名以英文逗号(,)分隔。

      服务帐户令牌卷投影

      开启服务账户令牌卷投影功能以降低在Pod中使用ServiceAccount遇到的安全性问题。详情请参见部署服务账户令牌卷投影

      集群CA 如果选中自定义集群CA,可以将CA证书添加到Kubernetes集群中,加强服务端和客户端之间信息交互的安全性。
      集群删除保护 设置是否启用集群删除保护。为防止通过控制台或API误释放集群。
  5. 单击下一步:Master配置,完成Master节点配置。
    配置项 描述
    付费类型 容器服务Kubernetes版支持按量付费包年包月两种节点付费类型。
    购买时长 选择包年包月时,需设置购买时长。
    自动续费 选择包年包月,需设置是否自动续费
    Master实例数量 设置您所需的Master节点数量。目前支持创建3个或者5个Master节点。
    实例规格 选择Master节点的实例规格,详细的实例规格请参见实例规格族
    说明 当在实例规格列表里没有可用实例时,可在集群配置页面选择其他虚拟交换机。
    系统盘 默认为Master节点挂载系统盘, 支持ESSD云盘SSD云盘高效云盘
    说明 支持选中开启云盘备份备份云盘数据。
  6. 单击下一步:Worker配置,完成Worker节点配置。
    1. 选择Worker实例。
      • 如果您选择新增实例,需要进行以下配置。
        配置项 描述
        实例规格 选择异构计算GPU/FPGA/NPUGPU计算型,详细的实例规格请参见实例规格族
        说明 当在实例规格列表里没有可用实例时,可在集群配置页面选择其他虚拟交换机。
        已选规格 选中的规格呈现在这里。
        数量 新增Worker实例的数量。
        系统盘 支持ESSD云盘SSD云盘高效云盘
        说明 支持选中开启云盘备份备份云盘数据。
        挂载数据盘

        支持ESSD云盘SSD云盘高效云盘。挂载数据盘时,支持云盘加密云盘备份

        操作系统 支持CentOS和Aliyun Linux操作系统。
        登录方式
        • 设置密钥。

          您需要在创建集群的时候选择密钥对登录方式,单击新建密钥对,跳转到ECS云服务器控制台,创建密钥对,参见创建SSH密钥对。密钥对创建完毕后,设置该密钥对作为登录集群的凭据。

        • 设置密码。
          • 登录密码:设置节点的登录密码。
          • 确认密码:确认设置的节点登录密码。
        密钥对
      • 如果您选择添加已有实例,则需要预先在此地域下创建ECS云服务器,然后配置操作系统登录方式密钥对,配置描述参见上文。
    2. 设置高级选项。
      配置项 描述
      实例保护 设置是否启用实例保护。
      说明 为防止通过控制台或API误释放集群节点,默认启用实例保护。
      实例自定义数据 请参见生成实例自定义数据
      自定义节点名称 是否开启自定义节点名称
      节点名称由前缀 + 节点IP地址子串 + 后缀三部分组成:
      • 前缀和后缀均可由.分隔的一个或多个部分构成,每个部分可以使用小写字母、数字和-,且首尾必须为小写字母和数字。
      • IP地址段长度指截取节点IP地址末尾的位数,取值范围5-12。

      例如:节点IP地址为192.168.0.55,指定前缀为aliyun.com,IP地址段长度为5,后缀为test,则节点名称为aliyun.com00055test。

      节点服务端口范围 设置节点服务端口范围。默认端口范围为30000~32767。
      CPU Policy 设置CPU policy。
      • none:默认策略,表示启用现有的默认CPU亲和方案。
      • static:允许为节点上具有某些资源特征的Pod赋予增强的CPU亲和性和独占性。
      污点(Taints) 为集群内所有Worker节点添加污点。
  7. 单击下一步:组件配置,完成组件配置。
    配置项 描述
    Ingress 设置是否安装Ingress组件。默认选中安装Ingress组件 ,请参见Ingress 支持
    存储插件 设置存储插件,支持Flexvolume和CSI。Kubernetes集群通过Pod可自动绑定阿里云云盘、NAS、 OSS存储服务。请参见存储管理-Flexvolume存储管理-CSI
    云监控插件

    设置是否启用云监控插件。您可以选择在ECS节点上安装云监控插件,从而在云监控控制台查看所创建ECS实例的监控信息。白名单用户还可以选择 使用Prometheus监控服务

    日志服务

    设置是否启用日志服务,您可使用已有Project或新建一个Project。

    选中使用日志服务,会在集群中自动配置日志服务插件。创建应用时,您可通过简单配置,快速使用日志服务,详情参见使用日志服务进行Kubernetes日志采集

    选中使用日志服务后,您还可以选择是否在日志服务控制台中创建Ingress Dashboard或者创建事件中心

    工作流引擎 设置是否使用AGS。
    • 如果选中AGS,则创建集群时系统自动安装AGS工作流插件。
    • 如果没有选中AGS,则需要手动安装AGS工作流插件,请参见AGS命令行帮助
  8. 单击下一步:确认配置
  9. 选中服务协议并单击创建集群
    说明 一个包含多节点的Kubernetes集群的创建时间一般约为十分钟。

相关操作

集群创建成功后,在集群列表页面中,单击目标集群名称或者目标集群操作列下的管理。在左侧导航栏中,单击节点列表,选择创建集群时配置的Worker节点,单击操作列的更多 > 详情,查看该节点挂载的GPU设备。