游乐游手机版
首页/AI教程/文章详情

阿里云容器服务Kubernetes版ACK对接使用教程

时间:2026-06-29 17:38
一、ACK集群类型解析与选型决策 在开始上手阿里云容器服务Kubernetes版(ACK)之前,得先搞清楚它到底提供了哪几种集群形态,各自适合什么场景。这就像选车——不同路况得配不同车型,否则容易出问题。ACK目前主要提供三种集群:托管集群、专有集群和Serverless集群。 1 1 ACK托管集

一、ACK集群类型解析与选型决策

在开始上手阿里云容器服务Kubernetes版(ACK)之前,得先搞清楚它到底提供了哪几种集群形态,各自适合什么场景。这就像选车——不同路况得配不同车型,否则容易出问题。ACK目前主要提供三种集群:托管集群、专有集群和Serverless集群。

阿里云容器服务Kubernetes版ACK对接使用完全指南

1.1 ACK托管集群

托管集群最大的特点就是控制面(包括kube-apiserver、kube-controller-manager、kube-scheduler和etcd这些核心组件)完全由阿里云代管,你只需要负责Worker节点就行。托管集群又细分为Pro版和基础版:

  • Pro版:面向企业生产与测试环境,提供99.95%的区域级SLA保障。单集群默认支持最大5000个Worker节点,还可以申请提高配额。虽然Pro版会收取集群管理费用,但算下来,比你自己维护Master节点的专有集群,整体TCO通常更低。
  • 基础版:仅供个人学习与测试,单账号最多创建2个集群,每个集群最多10个Worker节点,不支持提高配额。基础版不收集群管理费用。

每个托管集群的管控面都包含至少2个kube-apiserver实例和3个etcd实例,并且部署在不同可用区,实现可用区级别的高可用。这意味着你基本不用操心控制面的运维,团队可以把精力聚焦在业务应用上。

1.2 ACK专有集群

专有集群的控制面需要你自己创建和运维。根据官方公告,ACK专有集群已于2024年8月21日起停止新建(云盒场景除外),官方推荐在生产环境中使用托管集群Pro版。

1.3 ACK Serverless集群

Serverless集群完全基于弹性容器实例(ECI)运行,你不需要管理底层ECS服务器,只需要提供打包好的镜像就能跑容器。它和阿里云容器服务无缝对接,按容器实际消耗的资源付费。这种集群特别适合对资源弹性要求极高、不想碰节点运维的场景。

1.4 选型建议

对于大多数企业的生产环境,托管集群Pro版无疑是最佳选择。原因很直接:它提供了可赔付的SLA保障,具备etcd高频冷热备机制和异地容灾能力,而且支持从基础版或专有集群热迁移到Pro版。如果你只是测试或个人学习,基础版就够用了。如果对资源弹性要求极高、不想管理节点,Serverless集群是理想之选。

二、ACK托管集群创建与初始化配置

选定集群类型后,接下来就是创建集群。ACK支持多种创建方式:控制台、API、Terraform、SDK以及CLI等,总有一种适合你。

2.1 控制台创建流程

在阿里云控制台中进入“容器服务Kubernetes版”,点击“创建集群”,选择“ACK托管集群”。创建过程中有几个关键参数需要重点关注:

  • 集群名称:自定义命名,创建后还能修改。
  • 集群规格:选Pro版还是基础版——生产环境必须选Pro版。
  • 地域和可用区:地域一旦创建就不能改。建议选离用户和业务资源较近的地域来降低网络延迟,同时配置至少两个不同可用区保证高可用。
  • Kubernetes版本:只支持创建最近三个次要版本,建议用当前最新版本,稳定性和安全性更好。
  • 自动升级:开启后可在维护窗口期内自动升级控制面和节点池,省心不少。
  • 专有网络(VPC)和交换机:可以自动创建或使用已有的VPC。建议选2个及以上不同可用区的交换机,保障高可用。

2.2 Terraform创建集群

如果你习惯基础设施即代码(IaC)的方式,ACK也支持通过Terraform创建托管集群。下面是一个基本的配置示例,供参考:

三、网络规划与CNI插件选型

ACK的网络设计很巧妙,它把Kubernetes网络和阿里云网络服务整合在一起,提供稳定高性能的容器网络。需要特别注意:集群的网络插件在创建时就确定了,创建后无法更改,所以这一步要慎重。

3.1 Terway网络插件

Terway是阿里云开源的基于VPC的CNI插件,支持Kubernetes标准的网络策略。它的核心思路是把ECS实例的弹性网卡(ENI)直接分配给Pod,让Pod直接连到VPC,省去了VXLAN等隧道封装,网络效率更高。

Terway提供两种模式:

  • 独占ENI模式:每个Pod获得专用的ENI,性能最佳。
  • 共享ENI模式:Pod共享ENI,能提高单节点的Pod密度。

共享ENI模式还支持DataPath V2加速,启用后Terway用不同的转发路径实现更快的通信。两种模式都支持固定IP地址、独立安全组和虚拟交换机配置。

单节点支持的Pod数量基于ECS规格支持的ENI数量来计算。以通用型实例规格族g7的ecs.g7.4xlarge为例,它支持8个ENI,单个ENI支持30个私有IP,单节点Pod限额就是(8-1)×30=210个。

3.2 Flannel网络插件

Flannel是开源的CNI插件,它用VXLAN等网络虚拟化技术为Pod构建覆盖网络。配置很简单,但因为NAT开销,网络性能不如Terway。Flannel支持最多1000个节点的集群,适合网络性能要求不高、或者想快速搭个集群的场景。

3.3 网络规划建议

创建集群前,得根据业务场景和集群规模规划好VPC网段和Kubernetes网段(Pod地址段和Service地址段),这决定了整个集群的IP地址范围。如果你对网络安全、IPAM管理(比如固定Pod IP、NetworkPolicy等)有强烈需求,建议用Terway;如果集群规模较小(比如小于500个节点),而且对网络没什么特殊要求,Flannel也够用。

四、集群连接与kubectl配置

集群创建完成后,接下来就是配置kubectl来连接操作。

4.1 获取KubeConfig

在ACK集群列表页点击目标集群的“连接信息”,就能获取集群的访问凭证——KubeConfig文件。这个文件包含了访问集群所需的认证信息。ACK支持为不同阿里云账号、RAM用户或角色签发KubeConfig。

根据安全需求和使用场景,需要选择合适的KubeConfig类型:

  • 临时KubeConfig:有效期可以设置在30分钟到3天之间,过期自动失效。适合日常运维、故障排查、CI/CD流水线等不需要长期连接API Server的场景。
  • 长期KubeConfig:默认有效期3年,适合那些无法频繁更新KubeConfig的自动化系统或长期监控服务。

还要选择访问方式:

  • 内网访问:kubectl客户端机器必须和集群在同一个VPC里,延迟更低、更安全。
  • 公网访问:通过公网中任意机器作为客户端连接集群,依赖EIP连接API Server。

4.2 配置kubectl

把复制的KubeConfig内容粘贴到客户端的$HOME/.kube/config文件里就行。注意:RAM用户连接集群前,除了容器服务的系统权限外,还需要被授予集群操作的RBAC权限。

五、应用部署与服务暴露

5.1 核心工作负载部署

生产环境中,Deployment是最常用的工作负载资源,它提供副本管理、自动恢复和滚动升级能力。下面是一个标准的Deployment YAML示例,直接参考就好:

必须强调的是:生产环境中所有服务都必须设置资源限制(requests和limits),否则容易引发CPU抢占、OOM甚至节点雪崩。同时,健康检查(LivenessProbe和ReadinessProbe)也是必须配置的,这是保障应用稳定性的第一道防线。

5.2 Service服务发现

Pod在Kubernetes中是临时性的,一旦销毁或替换,它的网络资源就会变化。Service为Pod组提供稳定的访问入口,而且内置了负载均衡能力。ACK支持ClusterIP、NodePort、LoadBalancer、Headless和ExternalName等多种Service类型。

5.3 ALB Ingress七层负载均衡

ALB Ingress基于阿里云应用型负载均衡ALB,提供Ingress流量管理方式。它兼容Nginx Ingress,能处理复杂业务路由和证书自动发现,支持HTTP、HTTPS和QUIC协议。

ALB Ingress涉及几个核心概念:

  • ALB Ingress Controller:通过API Server获取Ingress资源的变化,动态生成AlbConfig,创建ALB实例、监听、路由转发规则以及后端服务器组。
  • AlbConfig CRD:对应一个ALB实例。
  • Ingress Class:定义Ingress Controller的类别,允许在集群中同时使用多个Ingress Controller。

下面是一个ALB Ingress配置示例:

六、存储管理:CSI组件与实践

6.1 CSI组件概述

阿里云csi-plugin组件遵循标准CSI规范,提供了云盘、NAS、OSS等阿里云云存储服务的挂载能力。从ACK 1.16版开始,部署集群时会默认安装最新版本的CSI组件。csi-plugin负责数据卷的完整生命周期管理,包括创建、挂载、卸载、删除及扩容等操作。

CSI存储组件由两部分构成:

  • csi-plugin:以DaemonSet形式在每个节点上运行,负责执行存储卷的挂载、卸载以及文件系统格式化等节点侧操作。
  • csi-provisioner:作为中心控制器以Deployment形式运行,负责处理存储卷的动态创建、删除、扩容、快照等操作。

新建集群默认启用csi-provisioner托管版,组件Pod由ACK托管,在kube-system命名空间下不可见,ACK负责组件维护和资源调优。

6.2 云盘动态存储卷

通过StorageClass和PersistentVolumeClaim(PVC)可以动态创建云盘存储卷。看这个例子:

6.3 OSS存储卷(ossfs 2.0)

对于需要共享存储的场景,ACK支持通过ossfs将OSS Bucket挂载为Pod中的文件系统。ossfs 2.0版本在性能和稳定性上都有提升。下面是一个使用OSS存储卷的示例:

七、安全与权限管理

7.1 RAM授权与RBAC双层模型

ACK的安全体系采用了双层模型:RAM负责基础设施层面的权限管理,而Kubernetes RBAC负责集群内资源的访问控制。

  • RAM授权:通过RAM策略授予调用ACK及依赖云服务API的权限,涵盖集群创建、查看、升级、删除,节点池管理,权限管理,以及集群监控、日志和事件等操作。
  • RBAC授权:基于Kubernetes RBAC,在集群内部资源层面授予不同用户对不同Kubernetes资源的操作权限,包括工作负载、网络、存储、命名空间、ConfigMap、Secret等。

默认情况下,只有阿里云账号和集群创建者拥有集群的完整权限。其他RAM用户或角色在获得访问集群的RAM授权后,还需要有RBAC权限,才能操作集群内的Kubernetes资源。

7.2 RRSA凭证隔离方案

为了保障集群内应用访问阿里云服务的安全,ACK支持RRSA(RAM Roles for Service Accounts)功能。它实现了ServiceAccount级别的RAM权限配置和Pod权限隔离。通过RRSA,你可以为不同的ServiceAccount授予不同的RAM角色,真正做到最小权限原则。

7.3 免密组件配置

如果你用ACR作为镜像来源,免密组件aliyun-acr-credential-helper可以自动化完成拉取镜像时的认证流程。它的工作原理很简单:

  1. 免密组件从ACR实例获取临时账号和临时密码。
  2. 组件把临时账号和密码保存到Secret中。
  3. 组件把Secret关联到配置中指定的ServiceAccount。
  4. 使用这些ServiceAccount的工作负载,默认就会用Secret中保存的临时账号和密码拉取镜像。

免密组件支持同时管理多个命名空间的ServiceAccount,并且会定时更新临时账号和密码,降低泄露风险。

八、可观测性体系建设

8.1 日志采集与SLS集成

ACK和阿里云日志服务SLS深度集成,通过Logtail组件采集容器日志。创建集群时可以选择开启日志服务,系统会自动创建Logtail DaemonSet来采集容器标准输出和文件日志。

集群控制面日志(包括API Server、Controller Manager、Scheduler等组件日志)可以通过SLS进行查询和分析。审计日志则记录了Kubernetes的所有操作,方便追踪。

8.2 监控告警体系

ACK兼容阿里云的可观测性产品,比如云监控和托管Prometheus服务。alicloud-monitor-controller是ACK的系统组件,它把集群和托管Prometheus、SLS、云监控集成起来,同步可观测配置(包括告警规则)并管理其全生命周期。

监控覆盖以下几个维度:

  • 基础资源监控:CPU、内存、网络等集群的基础资源。
  • 应用监控:通过ARMS和ack-onepilot进行拓扑分析、API监控、调用链追踪和性能瓶颈检测。
  • 集群监控:通过eBPF版应用监控无侵入采集容器性能数据。
  • 事件监控:使用Node Problem Detector和SLS事件中心实时监控和告警。
  • 控制面组件监控:通过Prometheus和Grafana实时监控API Server、etcd等组件。

九、节点池管理与弹性伸缩

9.1 节点池概念

节点池是ACK中一组具有相同配置的ECS节点的集合。它支持统一的节点规格、操作系统、标签和污点配置。通过节点池,你可以轻松实现不同类型工作负载的隔离和资源管理。

9.2 弹性伸缩方案

ACK提供两种弹性伸缩方案:

  • 节点自动伸缩:根据Pod调度需求自动扩缩节点资源。
  • 节点即时弹性:相比节点自动伸缩,弹性速度更快、交付效率更高、使用门槛更低。

另外,ACK GOATScaler是专门为节点即时弹性场景推出的下一代节点伸缩组件,重点提升了扩容成功率与弹性策略的可定制能力。

9.3 智能托管节点池

ACK托管集群Pro版支持智能托管节点池。启用后,它会根据工作负载变化自动完成节点扩缩容,你完全不需要提前规划容量,资源成本也能得到更优的控制。弹性响应非常快——通过事件驱动的机制触发扩缩行为,结合ContainerOS进行弹性加速,伸缩速度大约在45±10秒左右。

十、生产环境最佳实践

10.1 资源限制与健康检查

所有工作负载都必须设置资源请求和限制,这是铁律。

同时,必须配置存活探针(LivenessProbe)和就绪探针(ReadinessProbe),确保Pod在异常时能自动重启,在未就绪时不会接收流量。

10.2 滚动更新策略

Deployment支持滚动更新策略,通过配置maxSurgemaxUna vailable来控制更新过程中的可用性和资源消耗。

10.3 集群自动升级

开启集群自动升级功能后,ACK会在维护窗口期内自动升级控制面和节点池,有效降低版本维护负担。需要说明的是,ACK会且仅会在你定义的维护窗口期内执行自动化运维任务,包括集群自动升级、OS CVE漏洞自动修复等。

10.4 成本优化建议

  • 使用ACK托管集群Pro版,相比自行维护Master节点,整体TCO更低。
  • 利用节点即时弹性,根据工作负载自动调整节点数量,避免资源浪费。
  • 合理配置存储类型,将不常用的数据转为低频或归档存储。
  • 使用同地域内网访问云服务,避免外网流量费用。

常见问题解答

问题1:ACK托管集群和专有集群有什么区别?

托管集群的控制面由阿里云托管,你只需要管理Worker节点;专有集群需要你自己创建和运维控制面。官方推荐生产环境使用托管集群Pro版,专有集群已于2024年8月21日起停止新建。

问题2:Terway和Flannel网络插件如何选择?

如果对网络安全、IPAM管理(如固定Pod IP、NetworkPolicy)有强诉求,建议用Terway;如果集群规模较小(小于500个节点)且对网络无特殊需求,Flannel就够了。记住:网络插件在集群创建后无法更改。

问题3:如何安全地管理集群访问凭证?

建议使用临时KubeConfig(有效期30分钟至3天)进行日常运维,定期轮换凭证,遵循最小权限原则。RAM用户需要同时获得RAM权限和RBAC权限才能操作集群资源。

问题4:ACK如何实现存储卷的动态创建?

ACK通过CSI组件(csi-plugin和csi-provisioner)实现存储卷的动态创建。你只需要定义StorageClass和PVC,系统就会自动创建对应的云盘、NAS或OSS存储卷。

问题5:如何为ACK集群配置日志和监控?

创建集群时可以选择开启日志服务,系统会自动部署Logtail采集容器日志。监控方面,ACK集成了托管Prometheus服务,通过alicloud-monitor-controller组件同步告警规则和监控配置。

问题6:什么是RRSA?为什么要使用它?

RRSA(RAM Roles for ServiceAccounts)允许为Kubernetes的ServiceAccount关联RAM角色,实现Pod级别的云服务访问权限隔离。相比传统的Worker RAM角色,RRSA遵循最小权限原则,安全性更高。

来源:https://developer.aliyun.com/article/1744025
上一篇HTMX助力React数据网格实时更新加速 下一篇天学会AI应用开发第十篇:文本嵌入模型替换国产模型
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Windows Docker Desktop RabbitMQ生产级部署完整指南
AI教程 · 2026-06-29

Windows Docker Desktop RabbitMQ生产级部署完整指南

前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践
AI教程 · 2026-06-29

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践

先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A

阿里云Token Plan团队版功能价格与省钱购买指南
AI教程 · 2026-06-29

阿里云Token Plan团队版功能价格与省钱购买指南

阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全

阿里云物联网.NET Core客户端位置信息上报
AI教程 · 2026-06-29

阿里云物联网.NET Core客户端位置信息上报

阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将

年阿里云服务器选型配置与网站部署全攻略
AI教程 · 2026-06-29

年阿里云服务器选型配置与网站部署全攻略

2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网