全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:创建ACK One注册集群

更新时间:May 27, 2025

ACK One注册集群是用于将本地数据中心Kubernetes集群或其他云厂商Kubernetes集群接入阿里云容器服务管理平台统一管理的集群形态。本文介绍如何创建ACK One注册集群并将本地数据中心Kubernetes集群接入。

重要

阅读本文前,建议您通过注册集群概述了解ACK One注册集群相关概念及应用场景。

前提条件

ACK注册集群提供公网和内网接入端点。关于如何通过绑定EIP开通公网访问能力,请参见实现从公网访问API Server

在以下场景必须使用内网接入:

请确保目标集群网络可以正常访问注册集群接入端点的5533端口。关于云上云下网络专线接通方案,请参见功能特性

其他集群管理、安全治理、日志监控告警等功能对内网连通性无要求,但需确保目标集群可访问公网。

操作步骤

通过控制台创建ACK One注册集群并接入目标集群

创建ACK One注册集群

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

  2. 在页面左侧顶部,选择目标资源所在的资源组和地域。image

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

  4. 单击ACK One 注册集群页签,按照页面指引完成集群配置。

    配置项

    说明

    集群名称

    自定义集群的名称。

    地域

    集群所在的开服地域。所选地域与用户和资源部署地域的距离越近,网络时延越低,访问速度越快。

    IPv6双栈

    公测中,请前往配额平台申请。

    开启IPv6双栈后,将创建IPv4/IPv6双栈集群。

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

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

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

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

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

    专有网络

    配置集群的专有网络VPC。支持指定可用区自动新建一个VPC,也可以在已有VPC列表中选择已创建的VPC。

    交换机

    在列表中根据可用区选择已有vSwitch交换机,或单击创建虚拟交换机创建新的vSwitch。集群控制面与默认节点池将使用此处指定的vSwitch。推荐选择多个不同可用区的vSwitch,更好地保障集群高可用。

    安全组

    勾选专有网络使用已有时,支持使用选择已有安全组

    支持选择自动创建普通安全组概述自动创建企业级安全组概述选择已有安全组概述

    • 自动创建的安全组对于出方向默认全部允许。如果您因为业务原因需要修改,请确保在入方向已放行100.64.0.0/10网段。该网段用于访问阿里云其他服务,以执行镜像拉取、查询ECS基础信息等操作。

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

    API server 访问

    API Server创建一个按量付费的私网CLB实例,作为集群API Server的内网连接端点。API Server提供了各类资源对象(Pod、Service等)的增删改查及Watch等HTTP Rest接口。

    支持选择是否开放使用 EIP 暴露 API Server

    • 开放:开启后,将为 API Server 私网 CLB 实例绑定一个 EIP,获得从公网访问集群 API Server 的能力。

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

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

    • 绑定EIP到CLB实例后,API Server可以通过公网接收请求,但集群内的资源无法通过此访问公网。如需让集群内的资源访问公网(例如拉取公共镜像),请勾选为专有网络配置 SNAT

    • 自2024年12月01日起,新创建的CLB实例将新增收取实例费。详细信息请参见传统型负载均衡CLB计费项调整公告

    绑定公网IP

    设置是否启用绑定EIP。选中此选项,会在集群中自动绑定EIP,用于建立集群链接。

    说明

    公网接入必选项;如果云上云下集群已通过专线接通网络,可以不勾选。

    集群删除保护

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

    资源组

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

    标签

    为集群绑定标签,作为云资源的标识,采用键值对格式。

    服务协议

    创建集群前,需阅读《阿里云产品服务协议》《服务等级协议》以及页面中您勾选过的产品专属条款(若有)。

  5. 配置完成后,单击创建集群。创建完成后,可以在集群列表看到创建的集群。

    image

将目标集群接入ACK One注册集群

  1. 找到新创建的ACK One注册集群,单击其右侧操作列下的详情

  2. 集群信息页面单击连接信息页签。在连接信息页签中根据需要选择公网或者私网,然后单击右侧的复制image

  3. 将连接信息复制到目标集群的一个文件中,并执行kubectl命令,将目标集群注册至新集群中。

    例如,您可以新建agent.yaml文件,将连接信息复制到agent.yaml文件中,并在目标集群中执行kubectl apply -f agent.yaml命令。

  4. 在目标集群中执行以下命令,查看代理运行状况。

    kubectl -n kube-system get pod |grep ack-cluster-agent

    预期输出:

    ack-cluster-agent-5f7d568f6-6fc4k              1/1     Running   0          9s
    ack-cluster-agent-5f7d568f6-tf6fp              1/1     Running   0          9s

    注册成功后,您可以在容器服务管理控制台集群列表页面,看到该集群的状态为运行中

执行结果

集群列表页面中,找到对应的ACK One注册集群,单击操作列下的详情,查看新集群的基本信息连接信息

您可以使用该KubeConfig连接目标集群,进行应用负载的部署。关于连接集群的具体操作,请参见通过kubectl连接Kubernetes集群

通过onectl创建ACK One注册集群并接入目标集群

  1. 安装配置onectl。具体操作,请参见通过onectl管理注册集群

  2. onectl支持通过以下两种方式创建ACK One注册集群

    重要

    在创建ACK One注册集群时,您需要输入VPC、vSwitch、Region等信息。

    • 非交互式创建:执行以下命令,创建集群。

      onectl cluster create --region **** --vpc **** --vswitch ****
    • 交互式创建:执行以下命令,创建集群。

      onectl cluster create -i

    您可以执行以下命令查看具体的参数说明。

    onectl cluster create -h

    集群创建完成后,会进行一系列初始化的操作,此时集群状态为initial。集群创建成功后,预期输出:

    Registered cluster test-registered-cluster created successfully, information of the cluster:
    name         = test-registered-cluster
    state        = initial
    cluster id   = c3c277f2fc10f45c1b86473**********
    region id    = cn-zhangjiakou
    node numbers = 0
    vpc id       = vpc-8vb95w2o172**********
    vswitch id   = vsw-8vbv8bxhput**********
  3. 集群初始化完成后进入waiting等待连接的状态,执行以下命令,查看集群状态。

    onectl cluster describe --cluster-id ****

    预期输出:

    name  = test-registered-cluster
    state = waiting
    ...
  4. 当集群状态为waiting时,执行以下命令,将目标集群接入ACK One注册集群

    onectl cluster connect --cluster-id **** --kubeconfig ~/.kube/config --restricted true

    参数

    是否必选

    说明

    cluster-id

    上述步骤2中创建的ACK One注册集群的ID。

    kubeconfig

    目标集群的KubeConfig配置文件的路径。如未指定,将使用KUBECONFIG环境变量指向的配置文件。

    restricted

    是否以受限模式连接ACK One注册集群。更多信息,请参见注册集群ack-cluster-agent组件RBAC权限说明

    您还可以执行以下命令查看具体参数说明。

    onectl cluster connect -h
  5. 执行以下命令,查看目标集群是否接入成功。

    onectl cluster describe --cluster-id ****

    预期输出:

    name  = test-registered-cluster
    state = running
    ...

    预期输出表明集群状态为running,ACK One注册集群已经成功连接。