创建ACS集群

更新时间:2025-04-23 08:06:53

阿里云容器计算服务ACS是以Kubernetes为使用界面提供容器算力资源的云计算服务,提供符合容器规范的Serverless容器算力。ACS集群支持Pod秒级伸缩,能够根据应用配置的CPU和内存资源量按需、按量付费,帮助您降低业务的计算成本,适用于有明显波峰波谷的业务。ACS集群提供完善的Kubernetes兼容能力,同时降低Kubernetes使用门槛,让您无需管理底层基础设施,更加专注于应用开发。本文介绍如何通过控制台和openAPI创建ACS集群。

控制台

步骤一:打开创建集群页面

  1. 登录容器计算服务控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击页面左上角的创建集群

步骤二:完成集群相关配置

创建集群页面,完成集群配置、网络配置、组件配置和高级选项配置。

集群配置

配置项

说明

配置项

说明

集群名称

填写集群名称。

地域

选择集群所在的地域。目前支持的地域,请参见开服地域

Kubernetes 版本

选择当前ACS集群支持的Kubernetes版本。

维护窗口

ACS会根据您配置的集群维护窗口生成升级计划,并仅在您指定的维护窗口内执行升级前置检查和升级操作。目前暂未开启集群升级功能。

网络配置

配置项

说明

配置项

说明

IPv6双栈

开启IPv6双栈将创建双栈Kubernetes集群。

说明

若专有网络选择使用已有,您需要先为VPC和交换机开通IPv6。具体操作,请参见VPC开通IPv6交换机开通IPv6

目前该功能面向白名单用户开放,如需体验,请提交工单

选择专有网络

设置集群的网络。更多信息,请参见ACS集群网络规划

ACS集群仅支持专有网络。支持自动创建和使用已有的VPC。

  • 自动创建

    ACS会在当前选择的地域下自动创建一个VPC。您需要选择可用区,ACS会在选择的可用区下自动创建交换机。

  • 使用已有

    使用已有的VPC和交换机。

选择可用区或交换机时,建议选择多个,以确保集群的高可用。您可以使用资源配置推荐功能,ACS会根据您选择的算力类型,为您推荐算力充足的可用区。

说明

ACS集群中Node对象以虚拟节点的形式提供。创建ACS集群时,ACS会在所选可用区下分别创建一个对应的虚拟节点。

配置 SNAT

设置是否为专有网络创建NAT网关并配置SNAT规则。如需访问公网,例如下载容器镜像,则需要配置NAT网关。

说明
  • 您也可以自行配置NAT网关并手动配置SNAT,以确保VPC内实例可以正常访问公网。更多信息,请参见创建和管理公网NAT网关实例

  • 如果不配置公网,您可以将容器镜像上传到集群所在地域的ACR中,并通过内网VPC地址拉取镜像。

安全组

选择自动创建普通安全组或企业级安全组。关于两类安全组的区别,请参见安全组概述

API Server 访问配置

默认为API Server创建一个按量付费的私网CLB实例。关于CLB实例如何计费,请参见按量付费

重要

删除默认创建的CLB实例将会导致无法访问API Server。

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

  • 如果选择开放,ACS集群会创建一个EIP,并挂载到CLB上。Kubernetes API服务(即API Server)会通过EIP6443端口暴露出来,您可以在外网通过KubeConfig连接并操作集群。

  • 如果选择不开放,则不会创建EIP,您只能在VPC内部使用KubeConfig连接并操作集群。

更多信息,请参见控制集群API Server的公网访问能力

Service CIDR

Service CIDR网段不能与VPCVPC内已有Kubernetes集群使用的网段重复,创建成功后不能修改,而且Service地址段也不能和Pod地址段重复。

组件配置

配置项

说明

配置项

说明

服务发现

设置是否开启服务发现。ACS集群支持CoreDNS

CoreDNS是一个灵活可扩展的DNS服务器,也是Kubernetes标准的服务发现组件,可以提供Kubernetes集群内部服务的域名解析能力。

Ingress

设置是否安装Ingress组件,可选不安装。如果有对外暴露服务的需求,推荐安装Ingress组件。

ACS支持以下Ingress组件:

  • ALB Ingress:基于阿里云应用型负载均衡ALB之上提供更为强大的Ingress流量管理方式,兼容Nginx Ingress,具备处理复杂业务路由和证书自动发现的能力,支持HTTP、HTTPSQUIC协议,完全满足在云原生应用场景下对超强弹性和大规模七层流量处理能力的需求。更多信息,请参见ALB Ingress快速入门

  • MSE Ingress:为了更好地支持云原生应用场景,MSE云原生网关与容器服务进行了深度集成和优化,推出了MSE Ingress,提供更强大的集群入口流量管理能力。更多信息,请参见MSE Ingress管理

容器监控

默认使用以下监控功能:

  • 使用阿里云可观测监控 Prometheus 版:提供容器运维所需的基础监控大盘和告警功能。更多信息,请参见使用阿里云Prometheus监控ACS集群状态

  • 安装 metrics-server 集群基础监控组件:提供集群基础监控功能。更多信息,请参见metrics-server

    说明

    metrics-server组件依赖CoreDNS,请在服务发现选项中勾选CoreDNS

日志服务

选择是否使用日志服务。支持创建新的Project或者使用已有Project。

开启后,会自动开启集群审计和管控日志采集的功能。

高级选项配置

单击显示高级选项,按需配置高级选项。

配置项

说明

配置项

说明

集群删除保护

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

资源组

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

标签

输入键(Key)和对应的值(Value),为集群绑定标签。Key必填,不可重复,最多64个字符;Value选填,最多128个字符。

  • KeyValue不支持以aliyunacs:https://http://开头,不区分大小写。

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

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

时区

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

集群本地域名

为配置集群本地域名。 默认域名为cluster.local,也支持自定义域名。

本地域名是集群中所有Service使用的顶级域名(标准后缀)。例如,处于default命名空间中的名为my-serviceService,它的DNS域名为my-service.default.svc.cluster.local

步骤三:确认配置

  1. 完成集群相关配置后,单击确认配置

  2. 在弹出的对话框中确认所选配置无误,确保依赖检查均已通过。

  3. 仔细阅读并选中服务协议,然后单击创建集群

    集群创建成功后,您可以在集群页面查看所创建的集群。

    说明

    一个集群的创建时间一般约为十分钟。

相关操作

  • 查看集群基本信息

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

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

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

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

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

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

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

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

  • 查看集群日志信息

    您可以单击集群日志页签,查看集群的日志信息。

OpenAPI

接口说明

ACS集群是阿里云容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)产品集群类型之一,创建ACS集群通过调用ACK创建集群CreateCluster OpenAPI完成。

调试

CreateCluster调试入口

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

操作

访问级别

资源类型

条件关键字

关联操作

cs:CreateCluster

create

*Cluster

acs:cs:{#regionId}:{#accountId}:cluster/*

  • cs:ClusterType

  • cs:ClusterSpec

  • cs:ClusterProfile

  • cs:AddonNames

请求语法

POST /clusters HTTP/1.1

重点参数说明

在调用CreateCluster接口创建ACS集群时,您需要重点关注与ACK托管集群参数的差异化配置:

参数

描述

是否必填

参数组合

参数

描述

是否必填

参数组合

region_id

集群所在的地域 ID。您可以参考开服地域查看。

创建ACS集群

  • "region_id": "cn-hangzhou"

  • "cluster_type": "ManagedKubernetes"

  • "profile": "Acs"

  • "cluster_spec": "ack.pro.small"

  • "service_cidr": "192.168.xx.xx/16"

  • "kubernetes_version": "1.31.1-aliyun.1"

  • "addons": [{"name": "alb-ingress-controller"}]

cluster_type

集群类型。创建ACS集群时,该参数必须配置为ManagedKubernetes

profile

集群子类型。创建ACS集群时,该参数必须配置为Acs

cluster_spec

集群规格。创建ACS集群时,该参数必须配置为ack.pro.small

service_cidr

集群的Service网段。可选范围:10.0.0.0/16-24172.16-31.0.0/16-24192.168.0.0/16-24

不能与VPC网段及VPC内已有Kubernetes集群使用的网段重复,创建成功后不能修改。更多内容,请参见ACS集群网络规划

kubernetes_version

集群版本。与Kubernetes社区基线版本保持一致。建议选择最新版本,若不指定,默认使用最新版本。

目前您可以在ACS控制台创建三种最新版本的集群。关于ACS支持的Kubernetes版本,请参见Kubernetes版本概览及机制

addons

集群组件列表。创建ACS集群时通过addons指定想要安装的用户组件。

请求示例

创建一个ACS集群的请求示例如下,完整的参数说明请参见CreateCluster - 创建集群

POST /clusters 
<公共请求头>
{
    "name": "ACS集群",                         // 必填项,集群名称  
    "cluster_type": "ManagedKubernetes",      // 必填项,集群类型。 
    "profile": "Acs",                         // 必填项,集群子类型。       
    "cluster_spec": "ack.pro.small",          // 必填项,集群规格。
    "kubernetes_version": "1.31.1-aliyun.1",  // 创建的集群版本,建议选择最新版本。   
    "region_id": "cn-hangzhou",               // 必填项,集群所属地域指定为杭州地域。
    "vpcid": "vpc-j6cc1ddlp4rzs7v******",     // 集群的专有网络ID须在网络规划时确定,创建后不可修改。
    "service_cidr": "192.168.xx.xx/16",       // 必填项,集群的Service网段。
    "vswitch_ids": [                          // 选择多个交换机用于保证高可用。
        "vsw-j6cht66iul7h61x******",
        "vsw-j6c5ne6mxgnx3g5******"
    ],
    "addons": [                               // 安装的用户组件。 
    {
        "name": "alb-ingress-controller"
    }
}

调用结果示例

调用成功

{
  "cluster_id": "c54c8e4c703834c48bda53ae7841*****",
  "request_id": "08CCB494-7A82-5D51-907C-A6BF658*****",
  "task_id": "T-68007b2164acba01060*****",
  "instanceId": "c54c8e4c703834c48bda53ae7841*****"
}

调用报错

以下示例为cluster_type参数选择错误导致的调用报错。

{
  "code": "400",
  "message": "no ros component exists. clusterType: Kubernetes, version: ",
  "requestId": "7D99D268-F1E1-5ED8-B757-E5D38A0*****",
  "status": 400
}

错误码

访问错误中心查看更多错误码。

相关内容

更多关于集群的API,请参见集群API目录

  • 本页导读 (0)
  • 控制台
  • 步骤一:打开创建集群页面
  • 步骤二:完成集群相关配置
  • 步骤三:确认配置
  • 相关操作
  • OpenAPI
  • 接口说明
  • 调试
  • 授权信息
  • 请求语法
  • 重点参数说明
  • 请求示例
  • 调用结果示例
  • 错误码
  • 相关内容