创建ACK专有集群

ACK专有集群中,您需要创建至少3个Master节点以保证高可用性,以及若干Worker节点,以对集群基础设施进行更细粒度的控制,但需要自行规划、维护、升级集群。本文介绍如何通过容器服务管理控制台创建ACK专有集群,包括集群、Master、节点池和组件配置。

重要

容器服务 Kubernetes 版已于2024年08月21日起停止ACK专有集群的创建。推荐您在生产环境中使用具有更高可靠性、安全性和调度效率的ACK集群Pro版

前提条件

已登录RAM管理控制台弹性伸缩控制台开通相应的服务。

使用限制

限制项

说明

配额申请链接/相关文档

费用

用户账户至少需要有100元的余额并通过实名认证,否则无法创建按量付费的ECS实例和负载均衡。

计费概述

网络

ACK集群仅支持专有网络VPC。

什么是专有网络

云资源

ECS实例

仅支持创建按量付费和包年包月的ECS实例。实例创建后,您可以通过ECS管理控制台将按量付费转预付费。

按量付费转包年包月

VPC路由条目

每个账户初始默认状况下VPC路由条目不超过200条,当ACK集群的网络模式是Flannel时,集群的路由条目最大不能超过200个(网络模式是Terway则不受该影响)。如集群需要更多路由条目数,您需要对目标VPC申请提高配额 。

配额中心

安全组

每个账号默认最多可以创建100个安全组。

查看和提升安全组配额

负载均衡实例

每个账号默认最多可以创建60个按量付费的负载均衡实例。

配额中心

EIP

每个账号默认最多可以创建20个EIP。

配额中心

背景信息

关于产品计费的更多信息,请参见产品计费

步骤一:登录容器服务管理控制台

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

  2. 集群列表页面,单击创建集群

步骤二:配置集群

单击ACK 专有版页签,完成集群基础信息配置、网络配置和高级选项配置。

基础信息配置

配置项

描述

账号全部资源

将鼠标悬浮于页面上方的账号全部资源,选择资源组。在控制台页面顶部选择的资源组可过滤出该资源组内的专有网络及对应的虚拟交换机。在创建集群时,只显示过滤的专有网络实例及专有网络对应的虚拟交换机实例。资源组

集群名称

集群的名称。长度为1~63个字符,可包含数字、下划线(_)或中划线(-),需以英文大小写字母、中文或数字开头。

地域

集群所在的地域。

付费类型

支持按量付费包年包月两种付费类型。选择包年包月时,需设置以下参数。

说明

设置付费类型包年包月时,仅ECS云服务器和SLB负载均衡按照包年包月的方式计费,其他云资源仍然按照按量付费的方式计费。关于云资源的详细介绍,请参见云产品资源计费

  • 购买时长:目前支持选择1、2、3、6个月和1~3年。

  • 自动续费:设置是否自动续费。

Kubernetes 版本

当前支持的Kubernetes版本。

网络配置

配置项

描述

IPv6双栈

开启IPv6双栈将创建双栈Kubernetes集群。双栈功能正在公测中,如需使用请前往配额平台申请。

重要
  • 仅1.22及以上版本的集群支持IPv6双栈功能。

  • Worker节点与控制面之间的通信使用IPv4地址。

  • 需要使用Terway容器网络插件。

  • 使用Terway共享ENI模式时,ECS的规格需要支持IPv6地址,且支持的IPv4地址数量与IPv6地址数量相同,才能正常加入集群。ECS规格的详细信息请参见实例规格族

  • 集群使用的VPC及ECS需要支持IPv6双栈。

  • 集群使用eRDMA功能需要关闭IPv6双栈。

专有网络

设置集群的网络,您可以选择普通VPC和共享VPC。

  • 共享VPC:VPC的所有者账号(资源所有者)可以将其账号下的VPC内的交换机资源共享给其组织内的其他账号使用。

  • 普通VPC:不具备共享功能的VPC。

说明

ACK集群仅支持专有网络。您可以在已有VPC列表中选择所需的VPC。如果没有您需要的专有网络,可以通过单击创建专有网络进行创建,请参见创建和管理专有网络

配置 SNAT

创建集群时,默认选中。如果您选择的VPC不具备公网访问能力,选中为专有网络配置 SNAT后,ACK将为您创建NAT网关并自动配置SNAT规则。

交换机

设置虚拟交换机。

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

安全组

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

说明
  • 仅白名单用户可以使用选择已有安全组功能,请前往配额平台申请。

  • 指定已有安全组时,系统默认不会为安全组配置额外的访问规则,可能会导致访问异常,请自行管理安全组规则。关于如何管理安全组规则,请参见配置集群安全组

  • ACK对于安全组出方向默认全部允许,如果您因为业务原因需要修改,请确保放行100.64.0.0/10网段。该网段用于镜像拉取、查询ECS基础信息等。

API server 访问

您可为API Server所使用的CLB选择按量付费包年包月付费类型。

重要

您可设置是否开放使用 EIP 暴露 API ServerAPI Server提供了各类资源对象(Pod,Service等)的增删改查及Watch等HTTP Rest接口。

  • 开放:ACK会创建一个EIP,并挂载到SLB上。此时,Master节点的6443端口(对应API Server)会暴露出来,您可以在外网通过KubeConfig连接并操作集群。

  • 不开放:不会创建EIP,仅能在VPC内使用KubeConfig连接并操作集群。

网络插件

设置启用的网络插件和插件配置,支持Flannel和Terway网络插件。详细信息,请参见使用Terway网络插件

  • Flannel:基于社区的、简单稳定的Flannel CNI插件,功能较为简单,支持的特性少,例如不支持基于Kubernetes标准的NetworkPolicy。

  • Terway:阿里云容器服务自研的网络插件,将阿里云的弹性网卡分配给容器,支持Kubernetes的NetworkPolicy来定义容器间的访问策略,支持对单个容器做带宽的限制。

    说明
    • 在Terway模式下,节点上可以运行的Pod数均受节点的弹性网卡和辅助IP的配额限制。

    • 当专有网络选择共享VPC时,网络插件仅支持Terway。

    • 网络插件选择Terway时,会使用弹性网卡的辅助IP分配给Pod,一个Pod占用一个弹性网卡辅助IP地址。

    设置网络插件Terway时,还可以配置以下参数:

    • 设置是否选中Pod独占弹性网卡以获得最佳性能。如需使用Pod独占弹性网卡以获得最佳性能功能,请前往配额平台提交申请。

      • 如果选中,Pod将独占一个专有的弹性网卡。

        说明

        启用Pod独占弹性网卡以获得最佳性能功能后,一个节点上能运行的Pod数量将减少,请谨慎选择。

      • 如果不选中,使用弹性网卡的辅助IP分配给Pod,一个Pod占用一个弹性网卡辅助IP地址。

    • 设置是否选中IPvlan

      • 只在弹性网卡共享模式支持选中。

      • 如果选中,采用IPvlan eBPF作为网卡共享模式虚拟化技术,并且只能使用Alibaba Cloud Linux系统,性能优于默认模式。

      • 如果不选中,则使用默认模式,采用策略路由作为网卡共享模式虚拟化技术,同时兼容Centos 7和Alibaba Cloud Linux的系统。

      • IPvlan功能仅支持在创建集群时配置。集群一旦创建成功,将不支持开启或关闭IPvlan功能。

      关于Terway模式的IPvlan模式的详细信息,请参见使用Terway网络插件

    • 设置是否选中NetworkPolicy 支持

      • 只在弹性网卡共享模式下支持选中,默认不选中。

      • 如果选中,集群支持使用Kubernetes的NetworkPolicy策略对Pod进行网络控制。

      • 如果不选中,集群将不会支持使用Kubernetes的NetworkPolicy策略对Pod进行网络控制,这样将不存在网络策略对Kubernetes的API Server产生过大的负载。

      如何使用ACK集群的网络策略及常用的使用场景,请参见在ACK集群使用网络策略

    • 设置是否选中Trunk ENI 支持。如需使用Trunk ENI 支持,请前往配额平台提交申请。Terway Trunk ENI支持为每个Pod配置固定IP、独立的虚拟交换机、安全组,提供精细化流量管理、流量隔离、网络策略配置和IP管理能力。更多信息,请参见为Pod配置固定IP及独立虚拟交换机、安全组

Pod 交换机

网络插件选择Terway时,您需要为Pod分配IP的虚拟交换机。每个Pod虚拟交换机分别对应一个Worker节点的虚拟交换机,Pod虚拟交换机和Worker节点的虚拟交换机的可用区需保持一致。

重要

Pod虚拟交换机的网段掩码建议不超过19,最大不超过25,否则集群网络可分配的Pod IP地址非常有限,会影响集群的正常使用。

容器网段

网络插件选择Flannel时,需要配置容器网段

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

节点 Pod 数量

如果网络模式为Flannel,需设置节点 Pod 数量

服务网段

设置服务网段。需要指定服务网段,网段不能与VPC及VPC内已有ACK集群使用的网段重复,创建成功后不能修改,而且服务地址段也不能和容器地址段重复。有关集群网络地址段规划的信息,请参见Kubernetes集群网络规划

IPv6 服务网段

开启IPv6双栈后,您需要为服务网段配置IPv6地址段。配置网段时,请注意:

  • 必须使用ULA地址,地址段范围在fc00::/7内,且地址前缀长度在112~120之间。

  • 推荐和服务网段保持相同的可用地址数量。

关于集群网络地址段规划的信息,请参见Kubernetes集群网络规划

集群高级配置

展开高级选项(选填),配置集群服务转发模式。

配置项

描述

服务转发模式

支持iptables和IPVS两种模式。

  • iptables:成熟稳定的kube-proxy代理模式。Kubernetes Service的服务发现和负载均衡使用iptables规则配置,但性能一般,受规模影响较大,适用于存在少量Service的集群。

  • IPVS:高性能的kube-proxy代理模式。Kubernetes Service的服务发现和负载均衡使用Linux IPVS模块进行配置,适用于存在大量Service的集群,且对负载均衡有高性能要求。

展开高级选项(选填),配置集群删除保护、资源组等信息。

展开查看高级选项

配置项

描述

集群删除保护

是否启用集群删除保护。推荐开启,以防止通过控制台或OpenAPI误删除集群。

资源组

创建的集群将归属于选择的资源组。一个资源只能归属于一个资源组。根据不同的业务场景,您可以将资源组映射为项目、应用或组织等概念。

标签

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

说明
  • 键为必需的,值为可选。

  • 键不能是aliyun、http://、https://开头的字符串,不区分大小写,最多64个字符。

  • 值不能是http:// 或https://,可以为空,不区分大小写,最多128个字符。

  • 同一个资源,标签键不能重复,相同标签键(Key)的标签会被覆盖。

  • 如果一个资源已经绑定了20个标签,已有标签和新建标签会失效,需解绑部分标签后再绑定新的标签。

时区

集群所要使用的时区。默认时区为浏览器所配置的时区。

集群本地域名

是否配置集群本地域名。

说明

默认域名为cluster.local,您可以自定义域名。域名由两段组成,每段不超过63个字符,且只能使用大小写字母和数字,不能为空。

自定义证书 SAN

在集群API Server服务端证书的SAN(Subject Alternative Name)字段中添加自定义的IP或域名,以实现对客户端的访问控制。

具体操作,请参见自定义集群API Server证书SAN

服务账户令牌卷投影

开启服务账户令牌卷投影以降低在Pod中使用Service Account遇到的安全性问题,可使得kubelet支持基于Pod粒度的Token签发,并且支持Token audience和过期时间的配置。更多信息,请参见使用ServiceAccount Token卷投影

节点服务端口范围

设置节点服务端口的范围。

集群 CA

启用后,可以将CA证书添加到集群中,加强服务端和客户端之间信息交互的安全性。

步骤三:配置Master节点

单击下一步:Master 配置,完成Master节点配置。

配置项

描述

Master实例数量

实例数量表示指定可用区内部署Master节点的数量。

付费类型

支持按量付费包年包月两种付费类型。选择包年包月时,需设置以下参数。

说明

设置付费类型包年包月时,仅ECS云服务器和SLB负载均衡按照包年包月的方式计费,其他云资源仍然按照按量付费的方式计费。关于云资源的详细介绍,请参见云产品资源计费

  • 购买时长:目前支持选择1、2、3、6个月和1~3年。

  • 自动续费:设置是否自动续费。

实例规格

选择Master节点的实例规格。详情参见实例规格族

系统盘

默认为Master节点挂载系统盘,支持SSD云盘、ESSD云盘和高效云盘。

说明
  • 支持选中开启云盘备份以备份云盘数据。

  • ESSD云盘支持自定义性能级别

    ESSD云盘容量越大,可供选择的性能级别越高(460 GiB容量以上可选PL2,1260 GiB以上可选PL3)。更多信息,请参见容量范围与性能级别的关系

部署集

重要
  • 部署集为白名单功能,若您需要开启该功能,请在配额中心申请。

  • 部署集一旦指定将不能修改。

您需要先通过ECS控制台创建部署集,然后通过ACK控制台为控制面节点指定部署集。创建部署集,请参见创建部署集

步骤四:配置节点池

单击下一步:节点池配置,完成节点池基础选项配置和高级选项配置。

节点池基础配置

配置项

描述

节点池名称

自定义的节点池名称。

容器运行时

根据集群Kubernetes版本选择容器运行时

  • containerd:推荐使用,支持所有版本的集群。

  • 安全沙箱:支持1.24及以下版本的集群。

  • Docker:支持1.22及以下版本的集群。

更多信息,请参见如何选择Docker运行时、containerd运行时、或者安全沙箱运行时?

实例和镜像配置

配置项

描述

付费类型

节点池支持按量付费包年包月抢占式实例三种节点付费类型。为保证节点池统一,按量付费、包年包月节点池与抢占式实例节点池之间不支持转换。例如,对于创建节点池时选择付费类型为按量付费或包年包月的节点池,编辑节点池时不展示抢占式实例;反之亦然。

  • 选择按量付费时,计费项为ECS实例,节点池不计费。

  • 选择包年包月时,需配置购买时长以及自动续费

  • 选择抢占式实例时,需设置以下参数。

    单台实例上限价格:当指定实例规格的实时市场价格低于单台实例上限价格时,能成功创建抢占式实例。超过保护期后(1小时),每5分钟检测一次实例规格的实时市场价格和库存。如果某一时刻的市场价格高于出价或实例规格库存不足,抢占式实例会被释放。

    目前ACK仅支持具有保护期的抢占式实例。更多信息,请参见什么是抢占式实例抢占式实例节点池最佳实践

实例相关的配置项

根据实例规格或属性选择Worker节点池使用的ECS实例,可通过vCPU、内存、规格族、架构等属性进行筛选。

节点池扩容时,将从选中的实例规格中扩容。具体扩容到的实例规格取决于节点池扩缩容策略。选择的实例规格越多,节点池成功弹出节点的概率越大。

由于实例规格不可用或库存不足,导致节点池弹出节点失败时,可以尝试添加更多实例规格。您可以参照控制台的弹性强度建议添加实例规格,也可以创建节点池后查看节点池弹性强度。

说明

Arm实例仅支持Arm镜像。关于Arm节点池,请参见配置ARM节点池

操作系统

说明
  • 修改节点池系统镜像时,仅影响新增节点,不会修改节点池已有节点的系统镜像。已有节点的系统镜像升级,请参见升级节点池

  • 为保证节点池内节点系统镜像的统一,修改节点池镜像时,仅允许修改为同类型镜像的最新版本,不支持更改镜像类型。

安全加固

  • 不开启:对ECS实例不进行安全加固。

  • 等保加固:仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启等保加固。阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。更多信息,请参见ACK等保加固使用说明

    重要

    等保加固在保障原生镜像兼容性和性能的基础上进行了等保合规适配,使其满足国家信息安全部发布的《GB/T22239-2019信息安全技术网络安全等级保护基本要求》。

    等保加固会禁止Root用户通过SSH远程登录。您可通过ECS控制台使用VNC方式登录系统创建可使用SSH的普通用户。具体操作,请参见使用VNC登录实例

  • 阿里云 OS 加固:仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启阿里云OS加固

说明

集群创建完成后,安全加固选项不支持修改。

登录方式

目前支持设置密钥设置密码创建后设置

说明

安全加固类型选择等保加固时,仅支持设置密码。

  • 创建时设置

    • 设置密钥:阿里云SSH密钥对是一种安全便捷的登录认证方式,由公钥和私钥组成,仅支持Linux实例。更多信息,请参见SSH密钥对概述

    • 设置密码:密码限制为8~30个字符,且必须同时包含大写字母、小写字母、数字和特殊符号。

  • 创建后设置:在实例创建完成后,自行绑定密钥对或者重置实例密码。具体操作,请参见绑定SSH密钥对重置实例登录密码

存储配置

配置项

描述

系统盘

支持ESSD AutoPLESSD云盘ESSD EntrySSD云盘高效云盘

系统盘可选的类型与选择的实例规格相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 关于云盘的更多信息,请参见块存储概述;查询实例规格支持的云盘类型,请参见实例规格族

说明
  • ESSD云盘支持自定义性能级别。ESSD云盘容量越大,可供选择的性能级别越高(460 GiB容量以上可选PL2,1260 GiB以上可选PL3)。更多信息,请参见容量范围与性能级别的关系

  • 创建系统盘时,仅ESSD云盘支持加密。选择密钥时,阿里云默认使用服务密钥(Default Service CMK)进行加密,您也可以选择事先在KMS服务中创建好的自定义密钥(BYOK)为该云盘加密。

您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。

数据盘

支持ESSD AutoPLESSD云盘ESSD Entry以及上一代云盘(SSD云盘高效云盘)。挂载数据盘时,数据盘可选的类型与选择的实例规格相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 关于云盘的更多信息,请参见块存储概述;查询实例规格支持的云盘类型,请参见实例规格族

  • ESSD AutoPL还支持:

    • 预配置性能:在保持存储容量大小不变的情况下,可以结合实际业务的需求量灵活配置云盘的预配置性能,从而实现云盘容量与性能解耦。

    • 性能突发:开启后,波动性业务面临突发的数据读写压力时,云盘会根据业务实际情况临时提升云盘性能,直至业务恢复至平稳状态。

  • ESSD云盘还支持:

    自定义性能级别。ESSD云盘容量越大,可供选择的性能级别越高(460 GiB容量以上可选PL2,1260 GiB以上可选PL3)。更多信息,请参见容量范围与性能级别的关系

  • 挂载数据盘时,所有云盘类型均支持加密。选择密钥时,阿里云默认使用服务密钥(Default Service CMK)进行加密,您也可以选择事先在KMS服务中创建好的自定义密钥(BYOK)为该云盘进行加密。

  • 在需要容器镜像加速、大模型快速加载等场景下,您还可以使用快照创建数据盘,提升系统的响应速度和处理能力。

  • 每个节点上需有一块数据盘被挂载到/var/lib/container/var/lib/kubelet/var/lib/containerd将挂载到/var/lib/container目录下)。对于节点上的其他数据盘,您可以进行初始化设置,自定义其挂载目录。使用说明,请参见ACK节点池中数据盘可以自定义目录挂载吗?

说明

一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的最多云盘数量不同。实例规格支持挂载的云盘数量上限,可以通过DescribeInstanceTypes接口查询(DiskQuantity)。

弹性临时盘

重要

当前仅对白名单用户开放。如需使用,请提交工单申请。

用于临时数据存储,为ECS实例提供临时数据存储空间,具备高性能、高性价比等特点。典型使用场景如下。

  • 临时数据存储

    适用于在本地盘存放临时数据,例如临时计算中间结果、缓存数据、临时文件等。

  • 高性能计算

    对IOPS(数十万到百万)和吞吐量(数百MB/s至数GB/s)要求高的计算任务,弹性临时盘可以提供高性能的临时存储支持。

关于弹性临时盘的更多介绍,例如生命周期、计费说明、功能限制等,请参见实例规格限制

临时弹性盘仅支持在部分地域和部分ECS实例规格中使用,请参见地域限制实例规格限制

您可以选择是否对弹性临时盘进行初始化设置,自定义其挂载目录。

实例数量配置

配置项

描述

期望节点数

节点池应该维持的总节点数量。您可以通过调整期望节点数,达到扩容或缩容节点池的目的。如无需创建节点,可以填写为0。更多信息,请参见扩缩容节点池

说明

建议创建时至少选择两台,创建完成后,可以根据您的实际情况,增减节点。节点太少或者规格太低均会影响集群组件的运行。

节点池高级配置

展开高级选项(选填),配置节点扩缩容策略。

配置项

描述

扩缩容策略

  • 优先级策略:根据以上配置的虚拟交换机的优先级进行扩缩容(选择的虚拟交换机的顺序,由上到下优先级递减)。当优先级较高的虚拟交换机所在可用区无法创建ECS实例时,自动使用下一优先级的虚拟交换机创建ECS实例。

  • 成本优化策略:按vCPU单价从低到高尝试创建。当伸缩配置已设置抢占式计费方式的多实例规格时,优先创建对应抢占式计费实例。当抢占式计费实例规格由于库存等原因无法创建时,自动尝试以按量付费的方式创建。

    付费类型抢占式实例时,除允许抢占式实例补偿外,您还可以配置以下参数:

    • 按量实例所占比例%:节点池实例中按量实例应占的比例,取值范围为[0,100]。

    • 允许按量实例补偿:开启后,如果因价格或库存等原因无法创建足够的抢占式实例,伸缩组将自动尝试创建按量实例,以满足ECS实例数量要求。

  • 均衡分布策略:只有设置多个专有网络交换机时,均衡分布策略才能生效。在伸缩组指定的多可用区(即指定多个专有网络交换机)之间均匀分配ECS实例。如果由于库存不足等原因造成可用区之间不平衡,您可以再次进行均衡操作,以平衡资源的可用区分布。

    重要

    节点池创建完成后,扩缩容策略不支持编辑。

    付费类型抢占式实例时,您可以设置是否开启允许抢占式实例补偿。开启后,当收到抢占式实例将被回收的系统消息时(即抢占式实例被回收前5分钟左右),开启弹性的节点池将尝试创建新的实例,替换掉将被回收的抢占式实例。

重要

节点池创建完成后,扩缩容策略不支持编辑。

展开高级选项(选填),配置ECS标签、污点等信息。

置项

描述

ECS 标签

为弹出的ECS添加标签,标签键不可重复。最大长度为128个字符,标签键和标签值不能以aliyunacs:开头,不能包含https://http://

一台ECS可绑定标签的上限为20个。如需提高上限,请到配额平台提交申请。由于ACK和ESS存在以下标签占用,因此最多可指定17个ECS标签。

  • ACK默认占用两个ECS标签。

    • ack.aliyun.com:<您的集群ID>

    • ack.alibabacloud.com/nodepool-id:<您的节点池ID>

  • ESS默认占用1个ECS标签:acs:autoscaling:scalingGroupId:<您的节点池伸缩组ID>

说明
  • 开启弹性伸缩后,因弹性伸缩将默认占用两个ECS标签,因此节点池会额外占用两个ECS标签:k8s.io/cluster-autoscaler:truek8s.aliyun.com:true

  • 自动伸缩组件为了预检测弹出节点的调度行为,需依靠ECS标签记录K8s的节点标签和污点。因此,节点的每个标签都会被转为k8s.io/cluster-autoscaler/node-template/label/标签键:标签值;节点的每个污点会被转为k8s.io/cluster-autoscaler/node-template/taint/污点键/污点值:污点效果

污点 (Taints)

为节点添加污点,污点(Taints)包含Effect(效果)。有效污点键包含前缀(可选)和名称。如果有前缀,用正斜线(/)分隔。更多信息,请参见污点和容忍度。污点有以下限制:

  • :污点键的名称长度为1~63个字符,必须以字母、数字或字符[a-z0-9A-Z]开头和结尾,中间可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

    如果指定前缀,必须是DNS子域。即一系列由英文半角句号(.)分隔的DNS标签,不超过253个字符,并以正斜线(/)结尾。关于DNS子域,请参见DNS子域

  • :污点值可以为空,不超过63个字符,必须以字母、数字或字符[a-z0-9A-Z]开头和结尾,可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

  • Effect:可选择NoScheduleNoExecutePreferNoSchedule三种。

    • NoSchedule:如果污点中存在至少一个Effect值为NoSchedule的污点,则系统不会将Pod分配到该节点。

    • NoExecute:任何不能忍受这个污点的Pod都会被驱逐,任何可以忍受这个污点的Pod都不会被驱逐。

    • PreferNoSchedule:系统会尽量避免将Pod调度到存在其不能容忍污点的节点上,但不会强制执行。

节点标签

为节点添加标签,标签是键值对。有效标签键包含前缀(可选)和名称,如果有前缀,前缀和名称之间用正斜线(/)分隔。标签有以下限制:

  • 标签键的名称长度为1~63个字符,必须以字母数字字符[a-z0-9A-Z]开头和结尾,中间可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

    如果指定前缀,必须是DNS子域。即一系列由英文半角句号(.)分隔的DNS标签,不超过253个字符,以正斜线(/)结尾。关于DNS子域,请参见DNS子域

    标签键中以下前缀由Kubernetes核心组件保留,不支持指定。

    • kubernetes.io/

    • k8s.io/

    • kubernetes.io/k8s.io/结尾的前缀。例如test.kubernetes.io/

      以下除外:

      • kubelet.kubernetes.io/

      • node.kubernetes.io

      • kubelet.kubernetes.io/结尾的前缀。

      • node.kubernetes.io结尾的前缀。

  • 标签值可以为空,不超过63个字符,必须以字母数字字符[a-z0-9A-Z]开头和结尾,可包含字母、数字、短划线(-)、下划线(_)和英文半角句号(.)。

  • 选中设置为不可调度后,新添加的节点注册到集群时默认设置为不可调度。如果想打开存量节点的调度选项,可在集群节点列表中开启。

CPU Policy

指定kubelet节点的CPU管理策略。

  • None:默认策略。

  • Static:允许为节点上具有某些资源特征的Pod赋予增强的CPU亲和性和独占性。

更多信息,请参见CPU管理策略

自定义节点名称

是否开启自定义节点名称。自定义节点名称后,将同时更改节点名称、ECS实例名称、ECS实例Hostname。

说明

对于开启自定义节点名称的Windows实例,其Hostname固定为IP地址,使用-代替IP地址中的.,且不包含前缀和后缀。

节点名称由前缀、节点IP地址及后缀三部分组成:

  • 总长度为2-64个字符。节点名称首尾必须为小写字母和数字。

  • 前缀和后缀允许使用大小写字母、数字、连字符(-)和点号(.)。必须以大小写字母开头,不能以连字符(-)或点号(.)开头或结尾。不能连续使用连字符(-)或点号(.)。

  • 前缀必选(ECS限制),后缀可选。

例如:节点IP地址为192.XX.YY.55,指定前缀为aliyun.com,后缀为test。

  • 如果节点为Linux节点,则节点名称、ECS实例、ECS实例Hostname均为aliyun.com192.XX.YY.55test。

  • 如果节点为Windows节点,则ECS实例Hostname为192-XX-YY-55,节点名称、ECS实例名称均为aliyun.com192.XX.YY.55test。

实例预自定义数据

如需使用此功能,请前往配额平台提交申请。

节点加入集群前,将运行您指定的实例预自定义数据脚本。关于User-Data脚本,请参见User-Data脚本

例如,指定实例预自定义数据为echo "hello world",则节点实际运行脚本如下。

#!/bin/bash
echo "hello world"
[节点初始化脚本]

实例自定义数据

节点加入集群后,将运行您指定的实例自定义数据脚本。关于User-Data脚本,请参见User-Data脚本

例如,指定实例自定义数据为echo "hello world",则节点实际运行脚本如下。

#!/bin/bash
[节点初始化脚本]
echo "hello world"
说明

创建集群或扩容节点成功不代表实例自定义脚本执行成功。您可以登录节点执行grep cloud-init /var/log/messages命令查看执行日志。

云监控插件

是否安装云监控插件。安装后,可在云监控控制台查看所创建ECS实例的监控信息。

说明

该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需安装云监控插件,请通过云监控控制台安装。

公网 IP

是否为节点分配IPv4地址。如果未选中,不会配公网IP地址,当选择公网IP后,还需配置带宽计费方式带宽峰值

说明

该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需访问公网,请配置并绑定弹性公网IP地址。具体操作,请参见将EIP绑定至ECS实例

自定义安全组

可选择普通安全组企业级安全组,仅支持同时选择一种类型的安全组。节点池的安全组不支持修改,安全组的类型也不允许变更。关于安全组的更多信息,请参见安全组概述

重要
  • 自定义安全组为白名单功能,若您需要自定义安全组,请在配额中心申请。

  • 每台ECS实例最多支持加入5个安全组,请确保您的ECS安全组配额充足。关于安全组的数量限制以及如何申请提升ECS实例能够加入的安全组数量,请参见安全组

  • 指定已有安全组时,系统默认不会为安全组配置额外的访问规则,可能会导致访问异常,请自行管理安全组规则。关于如何管理安全组规则,请参见配置集群安全组

RDS 白名单

单击请选择您想要添加白名单的RDS实例,将节点IP添加至RDS实例的白名单。

步骤五:配置组件

单击下一步:组件配置,完成组件配置。

配置项

描述

Ingress

设置是否安装Ingress网络组件。如果有对外暴露服务的需求,则推荐安装Ingress组件。默认为Nginx Ingress

服务发现

设置是否安装NodeLocal DNSCache组件,默认安装NodeLocal DNSCache。

NodeLocal DNSCache用于运行DNS缓存代理以提升域名解析性能和稳定性。关于NodeLocal DNSCache的更多信息,请参见使用NodeLocal DNSCache

存储插件

默认是CSI存储插件。默认选中创建默认NAS文件系统和CNFS容器网络文件系统动态存储类型,并默认开启 NAS 回收站特性,支持数据快速恢复。Kubernetes集群通过Pod可自动绑定阿里云云盘、NAS、OSS存储服务。更多信息,请参见存储管理-CSI

容器监控

设置是否启用云监控插件。默认选中在ECS节点上安装云监控插件

日志服务

设置是否启用日志服务,您可使用已有Project或新建一个Project。默认选中使用日志服务。创建应用时,您可通过简单配置,快速使用日志服务,详情参见通过DaemonSet采集Kubernetes容器文本日志

默认选中创建 Ingress Dashboard,您可以选择是否在日志服务控制台中创建 Ingress Dashboard。更多信息,请参见Nginx Ingress访问日志分析与监控

默认选中安装 node-problem-detector 并创建事件中心,您可以选择是否在日志服务控制台中添加事件中心。更多信息,请参见创建并使用K8s事件中心

集群巡检

启用智能运维的集群巡检功能,定期扫描集群内配额、资源水位、组件版本等,识别集群内潜在的风险。更多信息, 请参见使用集群巡检

步骤六:确认配置

单击下一步:确认配置,确认配置信息,仔细阅读并选中服务协议,然后单击创建集群

集群创建成功后,您可以在容器服务管理控制台的集群列表页面查看所创建的集群。

说明

一个包含多节点的Kubernetes集群的创建时间约为十分钟。

相关操作

  • 查看集群基本信息

    集群列表页面的操作列,单击详情,然后单击基本信息连接信息页签,查看集群的基本信息和连接信息。其中:

    • API Server 公网连接端点:Kubernetes的API Server对公网提供服务的地址和端口,可以通过此服务在用户终端使用kubectl等工具管理集群。

      绑定公网IP解绑公网IP功能仅支持托管版Kubernetes集群。

      • 绑定公网IP:您可以选择在已有EIP列表中绑定EIP或者新建EIP。

        绑定公网IP操作会导致API Server短暂重启,请避免在此期间操作集群。

      • 解绑公网IP:解绑公网IP后您将无法通过公网访问API Server。

        解绑公网IP操作会导致API Server短暂重启,请避免在此期间操作集群。

    • API Server 内网连接端点:Kubernetes的API Server对集群内部提供服务的地址和端口,此IP为负载均衡的地址。

  • 查看集群日志信息

    您可以单击操作列的更多>运维管理>查看日志,进入日志中心页面查看集群的日志信息。

  • 查看集群节点信息

    您可以获取集群KubeConfig并通过kubectl工具连接集群,执行kubectl get node查看集群的节点信息。

    集群查看结果