在ACK专有集群中,您需要创建至少3个Master节点以保证高可用性,以及若干Worker节点,以对集群基础设施进行更细粒度的控制,但需要自行规划、维护、升级集群。本文介绍如何通过容器服务管理控制台创建ACK专有集群,包括集群、Master、节点池和组件配置。
容器服务 Kubernetes 版已于2024年08月21日起停止ACK专有集群的创建。推荐您在生产环境中使用具有更高可靠性、安全性和调度效率的ACK集群Pro版。
如需使用ACK专有集群,请提交工单申请开通。
如需创建ACK集群Pro版,请参见创建ACK托管集群。
如需将ACK专有集群迁移至ACK集群Pro版,请参见热迁移ACK专有集群至ACK集群Pro版。
前提条件
使用限制
限制项 | 说明 | 配额申请链接/相关文档 | |
网络 | ACK集群仅支持专有网络VPC。 | ||
云资源 | ECS实例 | 仅支持创建按量付费和包年包月的ECS实例。实例创建后,您可以通过ECS管理控制台将按量付费转预付费。 | |
VPC路由条目 | 每个账户初始默认状况下VPC路由条目不超过200条,当ACK集群的网络模式是Flannel时,集群的路由条目最大不能超过200个(网络模式是Terway则不受该影响)。如集群需要更多路由条目数,您需要对目标VPC申请提高配额 。 | ||
安全组 | 每个账号默认最多可以创建100个安全组。 | ||
负载均衡实例 | 每个账号默认最多可以创建60个按量付费的负载均衡实例。 | ||
EIP | 每个账号默认最多可以创建20个EIP。 |
背景信息
关于产品计费的更多信息,请参见产品计费。
步骤一:登录容器服务管理控制台
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击创建集群。
步骤二:配置集群
单击ACK 专有版页签,完成集群基础信息配置、网络配置和高级选项配置。
基础信息配置
配置项 | 描述 |
账号全部资源 | 将鼠标悬浮于页面上方的账号全部资源,选择资源组。在控制台页面顶部选择的资源组可过滤出该资源组内的专有网络及对应的虚拟交换机。在创建集群时,只显示过滤的专有网络实例及专有网络对应的虚拟交换机实例。 |
集群名称 | 集群的名称。长度为1~63个字符,可包含数字、下划线(_)或中划线(-),需以英文大小写字母、中文或数字开头。 |
地域 | 集群所在的地域。 |
付费类型 | 支持按量付费和包年包月两种付费类型。选择包年包月时,需设置以下参数。 说明 设置付费类型为包年包月时,仅ECS云服务器和SLB负载均衡按照包年包月的方式计费,其他云资源仍然按照按量付费的方式计费。关于云资源的详细介绍,请参见云产品资源计费。
|
Kubernetes 版本 | 当前支持的Kubernetes版本。 |
网络配置
配置项 | 描述 |
IPv6双栈 | |
专有网络 | 设置集群的网络,您可以选择普通VPC和共享VPC。
说明 ACK集群仅支持专有网络。您可以在已有VPC列表中选择所需的VPC。如果没有您需要的专有网络,可以通过单击创建专有网络进行创建,请参见创建和管理专有网络。 |
配置 SNAT | 创建集群时,默认选中。如果您选择的VPC不具备公网访问能力,选中为专有网络配置 SNAT后,ACK将为您创建NAT网关并自动配置SNAT规则。 |
交换机 | 设置虚拟交换机。 您可以在已有虚拟交换机列表中,根据可用区选择交换机。如果没有您需要的交换机,可以通过单击创建虚拟交换机进行创建,请参见创建和管理交换机。 |
安全组 | |
API server 访问 | 您可为API Server所使用的CLB选择按量付费或包年包月付费类型。 重要
您可设置是否开放使用 EIP 暴露 API Server。API Server提供了各类资源对象(Pod,Service等)的增删改查及Watch等HTTP Rest接口。
|
网络插件 | 设置启用的网络插件和插件配置,支持Flannel和Terway网络插件。详细信息,请参见使用Terway网络插件。
|
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地址段。配置网段时,请注意:
关于集群网络地址段规划的信息,请参见Kubernetes集群网络规划。 |
集群高级配置
展开高级选项(选填),配置集群服务转发模式。
配置项 | 描述 |
服务转发模式 | 支持iptables和IPVS两种模式。
|
展开高级选项(选填),配置集群删除保护、资源组等信息。
步骤三:配置Master节点
单击下一步:Master 配置,完成Master节点配置。
配置项 | 描述 |
Master实例数量 | 实例数量表示指定可用区内部署Master节点的数量。 |
付费类型 | 支持按量付费和包年包月两种付费类型。选择包年包月时,需设置以下参数。 说明 设置付费类型为包年包月时,仅ECS云服务器和SLB负载均衡按照包年包月的方式计费,其他云资源仍然按照按量付费的方式计费。关于云资源的详细介绍,请参见云产品资源计费。
|
实例规格 | 选择Master节点的实例规格。详情参见实例规格族。 |
系统盘 | 默认为Master节点挂载系统盘,支持SSD云盘、ESSD云盘和高效云盘。 说明
|
部署集 | 重要
您需要先通过ECS控制台创建部署集,然后通过ACK控制台为控制面节点指定部署集。创建部署集,请参见创建部署集。 |
步骤四:配置节点池
单击下一步:节点池配置,完成节点池基础选项配置和高级选项配置。
节点池基础配置
配置项 | 描述 |
节点池名称 | 自定义的节点池名称。 |
容器运行时 | 根据集群Kubernetes版本选择容器运行时。
|
实例和镜像配置
配置项 | 描述 | |
付费类型 | 节点池支持按量付费、包年包月和抢占式实例三种节点付费类型。为保证节点池统一,按量付费、包年包月节点池与抢占式实例节点池之间不支持转换。例如,对于创建节点池时选择付费类型为按量付费或包年包月的节点池,编辑节点池时不展示抢占式实例;反之亦然。
| |
实例相关的配置项 | 根据实例规格或属性选择Worker节点池使用的ECS实例,可通过vCPU、内存、规格族、架构等属性进行筛选。 节点池扩容时,将从选中的实例规格中扩容。具体扩容到的实例规格取决于节点池扩缩容策略。选择的实例规格越多,节点池成功弹出节点的概率越大。 | |
操作系统 |
说明
| |
安全加固 |
说明 集群创建完成后,安全加固选项不支持修改。 | |
登录方式 |
存储配置
配置项 | 描述 | |
系统盘 | 支持ESSD AutoPL、ESSD云盘、ESSD Entry、SSD云盘和高效云盘。 系统盘可选的类型与选择的实例规格相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 关于云盘的更多信息,请参见块存储概述;查询实例规格支持的云盘类型,请参见实例规格族。 说明
您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。 | |
数据盘 | 支持ESSD AutoPL、ESSD云盘、ESSD Entry以及上一代云盘(SSD云盘和高效云盘)。挂载数据盘时,数据盘可选的类型与选择的实例规格相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。 关于云盘的更多信息,请参见块存储概述;查询实例规格支持的云盘类型,请参见实例规格族。
说明 一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的最多云盘数量不同。实例规格支持挂载的云盘数量上限,可以通过DescribeInstanceTypes接口查询(DiskQuantity)。 | |
实例数量配置
配置项 | 描述 |
期望节点数 | 节点池应该维持的总节点数量。您可以通过调整期望节点数,达到扩容或缩容节点池的目的。如无需创建节点,可以填写为0。更多信息,请参见扩缩容节点池。 说明 建议创建时至少选择两台,创建完成后,可以根据您的实际情况,增减节点。节点太少或者规格太低均会影响集群组件的运行。 |
节点池高级配置
展开高级选项(选填),配置节点扩缩容策略。
配置项 | 描述 |
扩缩容策略 |
重要 节点池创建完成后,扩缩容策略不支持编辑。 |
展开高级选项(选填),配置ECS标签、污点等信息。
置项 | 描述 |
ECS 标签 | 为弹出的ECS添加标签,标签键不可重复。最大长度为128个字符,标签键和标签值不能以 一台ECS可绑定标签的上限为20个。如需提高上限,请到配额平台提交申请。由于ACK和ESS存在以下标签占用,因此最多可指定17个ECS标签。
说明
|
污点 (Taints) | 为节点添加污点,污点(Taints)包含键、值和Effect(效果)。有效污点键包含前缀(可选)和名称。如果有前缀,用正斜线(/)分隔。更多信息,请参见污点和容忍度。污点有以下限制:
|
节点标签 | 为节点添加标签,标签是键值对。有效标签键包含前缀(可选)和名称,如果有前缀,前缀和名称之间用正斜线(/)分隔。标签有以下限制:
|
CPU Policy | 更多信息,请参见CPU管理策略。 |
自定义节点名称 | 是否开启自定义节点名称。自定义节点名称后,将同时更改节点名称、ECS实例名称、ECS实例Hostname。 说明 对于开启自定义节点名称的Windows实例,其Hostname固定为IP地址,使用 节点名称由前缀、节点IP地址及后缀三部分组成:
例如:节点IP地址为192.XX.YY.55,指定前缀为aliyun.com,后缀为test。
|
实例预自定义数据 | 如需使用此功能,请前往配额平台提交申请。 节点加入集群前,将运行您指定的实例预自定义数据脚本。关于User-Data脚本,请参见User-Data脚本。 例如,指定实例预自定义数据为
|
实例自定义数据 | 节点加入集群后,将运行您指定的实例自定义数据脚本。关于User-Data脚本,请参见User-Data脚本。 例如,指定实例自定义数据为
说明 创建集群或扩容节点成功不代表实例自定义脚本执行成功。您可以登录节点执行 |
云监控插件 | 是否安装云监控插件。安装后,可在云监控控制台查看所创建ECS实例的监控信息。 说明 该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需安装云监控插件,请通过云监控控制台安装。 |
公网 IP | 是否为节点分配IPv4地址。如果未选中,不会配公网IP地址,当选择公网IP后,还需配置带宽计费方式和带宽峰值。 说明 该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需访问公网,请配置并绑定弹性公网IP地址。具体操作,请参见将EIP绑定至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
查看集群的节点信息。