在ACK专有集群中,您需要创建至少3个Master节点以保证高可用性,以及若干Worker节点,以对集群基础设施进行更细粒度的控制,但需要自行规划、维护、升级集群。本文介绍如何通过容器服务管理控制台创建ACK专有集群,包括集群、Master、节点池和组件配置。
容器服务 Kubernetes 版已于2024年08月21日起停止ACK专有集群的创建。推荐您在生产环境中使用具有更高可靠性、安全性和调度效率的ACK集群Pro版。
如需使用ACK专有集群,请提交工单申请开通。
如需创建ACK集群Pro版,请参见创建ACK托管集群。
如需将ACK专有集群迁移至ACK集群Pro版,请参见热迁移ACK专有集群至ACK集群Pro版。
前提条件
使用限制
限制项 | 说明 | 配额申请链接/相关文档 | |
费用 | 用户账户至少需要有100元的余额并通过实名认证,否则无法创建按量付费的ECS实例和负载均衡。 | ||
网络 | ACK集群仅支持专有网络VPC。 | ||
云资源 | ECS实例 | 支持按量付费、包年包月和抢占式实例三种付费类型。实例创建后,您可以通过ECS管理控制台将按量付费转预付费。 | |
VPC路由条目 | 每个账户初始默认状况下VPC路由条目不超过200条,当ACK集群的网络模式是Flannel时,集群的路由条目最大不能超过200个(网络模式是Terway则不受该影响)。如集群需要更多路由条目数,您需要对目标VPC申请提高配额 。 | ||
安全组 | 每个账号默认最多可以创建100个安全组。 | ||
负载均衡实例 | 每个账号默认最多可以创建60个按量付费的负载均衡实例。 | ||
EIP | 每个账号默认最多可以创建20个EIP。 |
步骤一:登录容器服务管理控制台
登录容器服务管理控制台,在左侧导航栏选择集群。
将鼠标悬浮于页面上方的账号全部资源,选择资源组。在控制台页面顶部选择的资源组可过滤出该资源组内的专有网络及对应的虚拟交换机。在创建集群时,只显示过滤的专有网络实例及专有网络对应的虚拟交换机实例。
在集群列表页面,单击创建集群。
步骤二:配置集群
单击ACK 专有集群页签,完成集群基础信息配置、网络配置和高级选项配置。
基础信息配置
配置项 | 描述 |
集群名称 | 集群的名称。长度为1~63个字符,可包含数字、下划线(_)或中划线(-),需以英文大小写字母、中文或数字开头。 |
地域 | 集群所在的开服地域。 |
Kubernetes 版本 | 当前支持的Kubernetes版本。您可以参见ACK版本支持概览了解ACK的版本支持情况。 |
网络配置
配置项 | 描述 |
IPv6双栈 | |
专有网络 | 配置集群的专有网络VPC。您可以指定可用区,自动新建一个VPC,也可以在已有VPC列表中选择已创建的VPC。 |
为专有网络配置 SNAT | 如果您新建或选择的VPC不具备公网访问能力,勾选后,ACK将为您创建NAT网关并自动配置SNAT规则。 若不勾选,您可自行配置NAT网关并手动配置SNAT,以确保VPC内实例可以正常访问公网。更多信息,请参见创建和管理公网NAT网关实例。 |
交换机 | 在列表中根据可用区选择已有vSwitch交换机,或单击创建虚拟交换机创建新的vSwitch。集群控制面与默认节点池将使用此处指定的vSwitch。推荐选择多个不同可用区的vSwitch,更好地保障集群高可用。 |
安全组 | |
API server 访问 | 为API Server创建一个按量付费的私网CLB实例,作为集群API Server的内网连接端点。 重要
还支持选择是否开放使用 EIP 暴露 API Server。API Server提供了各类资源对象(Pod、Service等)的增删改查及Watch等HTTP Rest接口。
|
网络插件 | 支持Flannel和Terway网络插件。关于两者的详细对比,请参见Terway与Flannel的对比。
|
容器网段 | 仅在选择使用Flannel插件时需要配置。 配置容器网段,网段不能和VPC及VPC已有ACK集群使用的网段重复,创建成功后不能修改,而且服务地址段不能和容器地址段重复。有关集群网络地址段规划的信息,请参见Kubernetes集群网络规划。 |
节点 Pod 数量 | 仅在选择使用Flannel插件时需要配置。 配置单个节点上所能容纳的最大Pod数量。 |
Pod 交换机 | 仅在选择使用Terway插件时需要配置。 为Pod分配IP的虚拟交换机。每个Pod虚拟交换机分别对应一个Worker节点的虚拟交换机,Pod虚拟交换机和Worker节点的虚拟交换机的可用区需保持一致。 重要 Pod虚拟交换机的网段掩码建议不超过19,最大不超过25,否则集群网络可分配的Pod IP地址非常有限,会影响集群的正常使用。 |
服务网段 | 设置服务网段,网段不能与VPC及VPC内已有ACK集群使用的网段重复,创建成功后不能修改,而且服务地址段也不能和容器地址段重复。有关集群网络地址段规划的信息,请参见Kubernetes集群网络规划。 |
IPv6 服务网段 | 需同时选择IPv6双栈。 为服务网段配置IPv6地址段。配置网段时,必须使用ULA地址,地址段范围在 关于集群网络地址段规划的更多信息,请参见Kubernetes集群网络规划。 |
集群高级配置
展开高级选项(选填),配置集群服务转发模式。
配置项 | 描述 |
服务转发模式 | 支持iptables和IPVS两种模式。
|
展开高级选项(选填),配置集群删除保护、资源组等信息。
步骤三:配置Master节点
单击下一步:Master 配置,完成Master节点配置。
配置项 | 描述 |
Master实例数量 | 指定可用区内部署Master节点的数量。 |
付费类型 | 支持按量付费和包年包月两种付费类型。选择包年包月时,需设置购买时长和是否启用自动续费。 |
实例规格 | 选择Master节点的实例规格族。您可以参见选择Master节点规格获取配置建议。 |
系统盘 | 支持ESSD AutoPL、ESSD云盘、ESSD Entry、SSD云盘和高效云盘。系统盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。 |
部署集 | 白名单功能,请前往配额中心申请。 通过ECS控制台创建部署集后,通过ACK控制台为控制面节点指定部署集。部署集指定后不支持修改。 |
步骤四:配置节点池
单击下一步:节点池配置,完成节点池基础选项配置和高级选项配置。
节点池基础配置
配置项 | 描述 |
节点池名称 | 自定义的节点池名称。 |
容器运行时 | 根据集群Kubernetes版本选择容器运行时。如何选型,请参见containerd、安全沙箱、Docker运行时的对比。
|
实例和镜像配置
配置项 | 描述 | |
付费类型 | 节点池扩容ECS实例时默认采用的付费类型,支持按量付费、包年包月和抢占式实例。
为保证节点池统一,按量付费、包年包月节点池与抢占式实例节点池之间不支持转换。例如,对于创建节点池时选择付费类型为按量付费或包年包月的节点池,编辑节点池时不展示抢占式实例;反之亦然。 | |
实例相关的配置项 | 根据实例规格或属性选择Worker节点池使用的ECS实例,可通过vCPU、内存、规格族、架构等属性筛选所需的实例规格族。您可以参见ECS实例规格配置建议获取节点的配置建议。 节点池扩容时,将从选中的实例规格中扩容。具体扩容到的实例规格取决于节点池扩缩容策略。选择的实例规格越多,节点池成功弹出节点的概率越大。 由于实例规格不可用或库存不足,导致节点池弹出节点失败时,可以尝试添加更多实例规格。您可以参照控制台的弹性强度建议添加实例规格,也可以创建节点池后查看节点池弹性强度。 如果您选择的实例均为GPU服务器,您可以按需开启共享 GPU 调度。更多信息,请参见共享GPU调度概述。 | |
操作系统 | 云市场镜像处于灰度发布中。
说明
| |
安全加固 | 为集群开启安全加固。创建完成后,加固方案不支持转换。
| |
登录方式 |
|
存储配置
配置项 | 描述 | |
系统盘 | 支持ESSD AutoPL、ESSD云盘、ESSD Entry、SSD云盘和高效云盘。系统盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。 | |
数据盘 | 支持ESSD AutoPL、ESSD云盘、ESSD Entry以及上一代云盘(SSD云盘和高效云盘)。数据盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。
说明 一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的云盘数量上限不同。实例规格支持挂载的云盘数量上限,可以通过DescribeInstanceTypes接口查询(DiskQuantity)。 | |
弹性临时盘 | 白名单功能,请提交工单申请。 弹性临时盘用于临时数据存储,为ECS实例提供临时数据存储空间,具备高性能、高性价比等特点。典型使用场景如下。
临时弹性盘仅支持在部分地域和部分ECS实例规格中使用,请参见地域限制、实例规格限制。 您可以选择是否对弹性临时盘进行初始化设置,自定义其挂载目录。 |
实例数量配置
配置项 | 描述 |
期望节点数 | 节点池应该维持的总节点数量,建议至少配置2个节点,以确保集群组件正常运行。您可以通过调整期望节点数,达到扩容或缩容节点池的目的,请参见扩缩容节点池。 如无需创建节点,可填写为0,后续再手动调整,增加节点数。 |
节点池高级配置
展开高级选项(选填),配置节点扩缩容策略。
配置项 | 描述 |
扩缩容策略 |
|
使用按量实例补充抢占式容量 | 需同时选择付费类型为抢占式实例。 开启后,如果因价格或库存等原因无法创建足够的抢占式实例,ACK将自动尝试创建按量实例,以满足ECS实例数量要求。 |
开启抢占式实例补偿 | 需同时选择付费类型为抢占式实例。 开启后,当收到抢占式实例将被回收的系统消息时(即抢占式实例被回收前5分钟左右),开启弹性的节点池将尝试创建新的实例,替换掉将被回收的抢占式实例。 |
展开高级选项(选填),配置ECS标签、污点等信息。
置项 | 描述 |
ECS 标签 | 为弹出的ECS添加标签,标签键不可重复。最大长度为128个字符,标签键和标签值不能以 一台ECS可绑定标签的上限为20个。如需提高上限,请到配额平台提交申请。由于ACK和ESS存在以下标签占用,因此最多可指定17个ECS标签。
说明
|
污点 (Taints) | 为节点添加污点,污点(Taints)包含键、值和Effect(效果)。有效污点键包含前缀(可选)和名称。如果有前缀,用正斜线(/)分隔。更多信息,请参见污点和容忍度。污点有以下限制:
|
节点标签(Labels) | 为节点添加标签,标签是键值(Key-Value)对。有效Key包含前缀(可选)和名称,如有前缀,前缀和名称之间用正斜线(/)分隔。标签有以下限制。
|
设置为不可调度 | 勾选该项后,新添加的节点注册到集群时默认会被设置为不可调度。您需要在节点列表中打开调度状态。本配置仅对节点池中新增的节点生效,不会对节点池已有节点生效。 |
CPU Policy | 指定kubelet节点的CPU管理策略。 |
自定义节点名称 | 是否开启自定义节点名称。自定义节点名称后,将同时更改节点名称、ECS实例名称、ECS实例Hostname。 说明 对于开启自定义节点名称的Windows实例,其Hostname固定为IP地址,使用 节点名称由前缀、节点IP地址及后缀三部分组成:
例如:节点IP地址为192.XX.YY.55,指定前缀为aliyun.com,后缀为test。
|
实例预自定义数据 | 请前往配额平台申请 节点加入集群前,将运行您指定的实例预自定义数据脚本。关于User-Data脚本,请参见User-Data脚本。 例如,指定实例预自定义数据为
|
实例自定义数据 | 节点加入集群后,将运行您指定的实例自定义数据脚本。关于User-Data脚本,请参见User-Data脚本。 例如,指定实例自定义数据为
说明 创建集群或扩容节点成功不代表实例自定义脚本执行成功。您可以登录节点执行 |
云监控插件 | |
公网 IP | 是否为节点分配IPv4地址。如果未选中,不会分配公网IP地址,当选择公网IP后,还需配置带宽计费方式和带宽峰值。 该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需访问公网,请配置并绑定弹性公网IP地址。具体操作,请参见将EIP绑定至ECS实例。 |
自定义安全组 | 自定义安全组为白名单功能,请前往配额中心申请 可选择普通安全组或企业级安全组,仅支持同时选择一种类型的安全组。节点池的安全组不支持修改,安全组的类型也不允许变更。关于安全组的更多信息,请参见安全组。 |
RDS 白名单 | 将节点IP添加至RDS实例的白名单。 |
步骤五:配置组件
单击下一步:组件配置,完成组件配置。
配置项 | 描述 |
Ingress | 是否安装Ingress网络组件,可选不安装。如果有对外暴露服务的需求,推荐安装Ingress组件。
|
服务发现 | 安装NodeLocal DNSCache,用于运行DNS缓存代理以提升域名解析性能和稳定性。 |
存储插件 | 默认使用CSI存储插件。您也可以开启创建默认NAS文件系统和CNFS容器网络文件系统动态存储类型,并默认开启 NAS 回收站特性,支持数据快速恢复。ACK支持云盘、NAS、OSS等存储卷类型。 |
容器监控 | 您可以使用阿里云Prometheus查看集群预先配置的监控大盘和监控性能指标。更多信息,请参见阿里云Prometheus监控。 |
日志服务 | 使用已有SLS Project或新建一个SLS Project,用于收集集群日志。创建应用时,您可通过简单配置,快速使用日志服务,详情参见通过DaemonSet采集Kubernetes容器文本日志。
|
集群巡检 | 启用智能运维的集群巡检功能,定期扫描集群内配额、资源水位、组件版本等,识别集群内潜在的风险。 |
步骤六:确认配置
单击下一步:确认配置,确认配置信息,仔细阅读并选中服务协议,然后单击创建集群。
集群创建成功后,您可以在容器服务管理控制台的集群列表页面查看所创建的集群。
一个包含多节点的集群创建时间约为十分钟。
计费说明
关于使用ACK专有集群过程中会产生的资源计费,请参见计费概述。
相关操作
查看集群基本信息
在集群列表页面的操作列,单击详情,然后单击基本信息和连接信息页签,查看集群的基本信息和连接信息。其中:
API Server 公网端点:Kubernetes的API Server对公网提供服务的地址和端口,可以通过此服务在用户终端使用kubectl等工具管理集群。
绑定公网IP和解绑公网IP功能:
绑定公网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
查看集群的节点信息。