阿里云容器计算服务ACS深度对接与实践指南

apphuang2026年06月13日 17:35:2812

一、初识阿里云容器计算服务ACS

阿里云容器计算服务(Container Compute Service,简称ACS)是阿里云推出的新一代Serverless容器计算平台,以Kubernetes为使用界面提供弹性、免运维的容器算力资源。从产品演进来看,ACS是ACK Serverless集群(原ASK)的全面升级版本,在成本效益、易用性和弹性能力上均实现了显著提升。相比传统的ACK Pro集群,ACS完全免去了集群控制面的运维负担:您无需关心节点规格选择、节点创建和节点管理,只需要按需申请Pod资源,ACS会自动分配算力,并按秒级计费。

需要先登录阿里云控制台,点击:阿里云控制台

二、开通服务与授权前置

首次使用ACS时,需要完成服务开通和授权两个关键步骤。登录容器计算服务控制台,点击前往开通,按照页面提示完成产品开通。开通完成后,返回控制台并刷新页面,点击前往授权,为ACS授权访问其他云资源的权限。完成以上操作后,刷新控制台即可正常使用ACS服务。对于RAM用户,还需要确保已经授予了与ACS相关的系统策略,例如AliyunCSFullAccess,以便拥有完整的集群管理权限。

三、网络架构设计与集群创建

在创建ACS集群之前,网络规划至关重要。ACS集群的网络架构分为三个层次:VPC作为最外层的网络边界,定义了整体IP地址空间;vSwitch作为可用区级子网,Pod的IP地址从Pod专用vSwitch中分配;Service CIDR则是专门为Kubernetes Service预留的独立IP范围,仅在集群内部生效。规划时必须遵守三个核心约束:vSwitch的CIDR必须是VPC CIDR的子集;Service CIDR不能与任何vSwitch CIDR重叠;Service CIDR在集群创建后不可修改。

创建ACS集群时,可以选择自动创建VPC或使用已有VPC。配置SNAT选项决定了VPC内的实例能否访问公网,如果Pod需要从公网拉取容器镜像,则需要配置NAT网关。为了降低成本,更好的做法是将容器镜像上传到与ACS集群同一地域的阿里云容器镜像服务(ACR)中,然后通过内网VPC地址拉取镜像,这样可以避免产生公网流量费用。在可用区选择上,建议选择多个可用区以确保高可用,ACS会在每个选中的可用区下自动创建一个对应的虚拟节点。

以下是创建集群时网络配置的YAML格式示例,展示了通过OpenAPI调用时的参数配置:

{
  "cluster_type": "ManagedKubernetes",
  "profile": "Serverless",
  "name": "my-acs-cluster",
  "region_id": "cn-hangzhou",
  "zone_ids": ["cn-hangzhou-g", "cn-hangzhou-h"],
  "vpc_id": "vpc-xxxxxx",
  "vswitch_ids": ["vsw-xxxxxx1", "vsw-xxxxxx2"],
  "service_cidr": "172.19.0.0/20",
  "snat_entry": true,
  "security_group_id": "sg-xxxxxx"
}

对于跨地域或多集群场景,不同集群的Service CIDR可以重叠,但需要注意Pod IP无法直接访问另一个集群的Service,只有Pod之间的流量可以跨越集群边界。

四、ACS Pod计算类型与算力配置

ACS通过Pod上的alibabacloud.com/compute-class标签来指定实例的计算类型,当前支持通用型、性能型、GPU型和高性能网络GPU型四种计算类型。

通用型(general-purpose)是默认的计算类型,适用于绝大部分无状态微服务应用、Java Web应用以及各类计算类任务。性能型(performance)则面向需要更强性能的业务场景,如基于CPU的AI/ML训练和推理、HPC批处理等。GPU型(gpu)和GPU-HPN型(gpu-hpn)主要服务于AI/HPC等异构计算场景,其中GPU-HPN型额外支持RDMA高速网络,更适合分布式训练和分布式推理任务。CPU资源从0.25 vCPU起步,步长为0.5 vCPU;GPU资源从1卡起步。除了计算类型,ACS还定义了服务质量等级(QoS Class),包括默认QoS和BestEffort两类,后者以更低成本服务于Spark、Presto等可容忍延迟的离线批处理任务。

以下是通过Deployment YAML指定计算类型的完整示例,包含通用型、GPU型和GPU-HPN型三种场景:

# 通用型实例配置
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-general-purpose
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        alibabacloud.com/compute-class: general-purpose
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        resources:
          requests:
            cpu: "1"
            memory: "2Gi"
          limits:
            cpu: "2"
            memory: "4Gi"
# GPU型实例配置
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gpu-inference
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gpu-app
  template:
    metadata:
      labels:
        app: gpu-app
        alibabacloud.com/compute-class: "gpu"
    spec:
      containers:
      - name: pytorch-inference
        image: pytorch/pytorch:latest
        resources:
          requests:
            cpu: "4"
            memory: "16Gi"
            nvidia.com/gpu: "1"
          limits:
            cpu: "4"
            memory: "16Gi"
            nvidia.com/gpu: "1"
# 高性能网络GPU型(GPU-HPN)配置
apiVersion: apps/v1
kind: Deployment
metadata:
  name: distributed-training
spec:
  replicas: 2
  selector:
    matchLabels:
      app: train-app
  template:
    metadata:
      labels:
        app: train-app
        alibabacloud.com/compute-class: "gpu-hpn"
    spec:
      containers:
      - name: trainer
        image: nvcr.io/nvidia/pytorch:latest
        resources:
          requests:
            cpu: "8"
            memory: "32Gi"
            nvidia.com/gpu: "1"
          limits:
            cpu: "8"
            memory: "32Gi"
            nvidia.com/gpu: "1"

在AI场景中,ACS GPU提供了从数据预处理、模型训练到推理部署的全流程支持。数据预处理阶段可以调用海量CPU实例进行并行处理,按需启停、用完即释放。模型训练阶段支持按秒计费的GPU实例,尤其适合实验调优和迭代训练。推理部署阶段则具备从零到自动扩缩的能力,无流量时实例可缩减为零,完全不产生费用。

五、存储集成:基于CSI的多类型存储挂载

ACS的容器存储功能基于Kubernetes容器存储接口(CSI),融合了块存储、NAS、OSS等多种阿里云存储服务。存储挂载主要包含静态制备和动态制备两种方式,推荐优先使用动态制备以提高自动化程度。

以NAS存储为例,动态挂载需要先创建StorageClass定义存储的配置参数,然后创建PVC引用该StorageClass,系统会根据PVC声明自动创建PV。以下是NAS存储卷动态挂载的完整配置示例:

# 步骤一:创建StorageClass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nas-performance
mountOptions:
- nolock,tcp,noresvport
- vers=3
parameters:
  volumeAs: filesystem
  fileSystemType: standard
  storageType: Performance
  vpcId: "vpc-xxxxxx"
  vSwitchId: "vsw-xxxxxx"
  accessGroupName: DEFAULT_VPC_GROUP_NAME
  deleteVolume: "false"
provisioner: nasplugin.csi.alibabacloud.com

# 步骤二:创建PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nas-data-pvc
spec:
  accessModes:
  - ReadWriteMany
  storageClassName: nas-performance
  resources:
    requests:
      storage: 100Gi

# 步骤三:在Pod中挂载PVC
apiVersion: v1
kind: Pod
metadata:
  name: app-with-nas
spec:
  containers:
  - name: app
    image: nginx:latest
    volumeMounts:
    - name: data-volume
      mountPath: /data
  volumes:
  - name: data-volume
    persistentVolumeClaim:
      claimName: nas-data-pvc

对于CPFS文件系统,静态挂载的PV定义中需要在csi区块指定driver为nasplugin.csi.alibabacloud.com,并通过volumeAttributes中的mountProtocol: cpfs-nfs字段以及server地址来指定挂载点。需要注意的是,CPFS支持ReadWriteMany访问模式,多个Pod可以并发读写同一个持久卷。在AI模型训练场景中,建议将CPFS挂载到任意CPU类型的ACS Pod或GPU加速型ACS Pod上,以便共享训练数据和模型权重。

OSS对象存储的挂载方式与NAS类似,需要配置ossplugin.csi.alibabacloud.com作为provisioner,并通过nodePublishSecretRef从Secret中获取AccessKey用于认证授权。在挂载大语言模型文件时,由于模型体积巨大,推荐创建NAS或OSS存储卷来持久化存储,避免每次部署时重复下载。

六、可观测性:监控与日志采集

ACS默认集成并开启Prometheus服务,基于预置的监控大盘和监控性能指标,从K8s集群、实例Pod、应用应用三个维度全面监控系统运行状态。ACS集群通过alicloud-monitor-controller组件与阿里云可观测服务(托管Prometheus、日志服务SLS、云监控)深度集成,自动同步可观测配置和告警规则的全生命周期。对于GPU加速型实例,还需要采集GPU-HPN节点的GPU相关监控指标,可以通过修改Prometheus配置来获取目标节点的Metrics数据。

日志方面,ACS集成日志服务SLS,支持应用日志、Pod实例日志、集群日志的自动采集及集中查看。在集群创建过程中,可以开启日志采集功能,系统会自动在SLS中创建相应的日志库,无需额外配置。对于自定义日志路径或结构化日志解析需求,可以通过配置Logtail采集配置来实现精细化日志管理。需要特别注意的是,阿里云云监控产品计划于2026年3月起逐步下线企业云监控中的Prometheus监控、本地日志监控和SLS日志监控三个功能模块,建议用户及时迁移到托管Prometheus和SLS原生的监控方案。

七、CI/CD流水线自动化部署

将代码变更自动部署到ACS集群,是云原生开发模式的核心环节。推荐采用"GitHub Actions + 阿里云ACR + kubectl"的技术栈来构建轻量级CI/CD流水线。整体流程如下:代码推送到GitHub仓库触发Actions工作流;工作流中登录阿里云容器镜像服务(ACR)并构建Docker镜像;将镜像推送到ACR仓库;最后通过kubectl命令更新ACS集群中的Deployment镜像版本。

完整的GitHub Actions配置文件示例:

name: Build and Deploy to ACS

on:
  push:
    branches: [ main ]

env:
  REGION: cn-hangzhou
  IMAGE_NAME: my-app
  CLUSTER_NAME: my-acs-cluster
  DEPLOYMENT_NAME: my-app-deployment

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Configure Alibaba Cloud credentials
      uses: aliyun/aliyun-cli-action@v1
      with:
        access-key-id: ${{ secrets.ALIYUN_ACCESS_KEY_ID }}
        access-key-secret: ${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}

    - name: Login to ACR
      uses: aliyun/acr-login@v1
      with:
        region-id: ${{ env.REGION }}
        username: ${{ secrets.ACR_USERNAME }}
        password: ${{ secrets.ACR_PASSWORD }}

    - name: Build and push Docker image
      run: |
        IMAGE_TAG=$(date +%s)
        docker build -t ${{ env.REGION }}.cr.aliyuncs.com/my-namespace/${{ env.IMAGE_NAME }}:$IMAGE_TAG .
        docker push ${{ env.REGION }}.cr.aliyuncs.com/my-namespace/${{ env.IMAGE_NAME }}:$IMAGE_TAG
        echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT

    - name: Update ACS deployment
      uses: appleboy/kubectl-action@v0.0.1
      with:
        kube_config: ${{ secrets.KUBE_CONFIG }}
        args: set image deployment/${{ env.DEPLOYMENT_NAME }} ${{ env.DEPLOYMENT_NAME }}=${{ env.REGION }}.cr.aliyuncs.com/my-namespace/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -n default

    - name: Rollout status check
      uses: appleboy/kubectl-action@v0.0.1
      with:
        kube_config: ${{ secrets.KUBE_CONFIG }}
        args: rollout status deployment/${{ env.DEPLOYMENT_NAME }} -n default

对于更复杂的企业级交付需求,可以引入GitOps模式,使用ACK One GitOps自动同步镜像仓库中的变更至Kubernetes集群。同时,也可以基于EventBridge事件总线实现事件驱动的CI Pipeline,当代码提交到Git仓库时触发Argo Workflows执行CI任务,构建镜像并推送至ACR。这种方式在可用性、安全性和扩展性方面具有显著优势,尤其适合大规模、多团队的协作交付场景。

八、总结与最佳实践建议

使用ACS时建议遵循以下最佳实践:网络规划阶段使用/16或更短的VPC掩码预留足够的扩展空间,Service CIDR建议使用非重叠的独立网段,多可用区部署保障高可用。算力选择上根据业务特性配置适当的计算类型标签,在线业务使用通用型或性能型,离线批处理任务使用BestEffort QoS降低成本。存储方面推荐使用动态制备模式,将敏感认证信息存放在Secret中,并定期轮转。可观测性配置至少包含CPU/内存使用率、Pod重启次数等核心告警规则,并启用SLS日志服务以便后续问题排查。在成本优化上,利用秒级计费和按需伸缩的特性,结合预留实例券或节省计划进一步降低长期运行的固定业务成本。

常见问答

问题一:ACS与ACK Serverless有什么区别?
答:ACS是ACK Serverless的全面升级版本,提供了更好的成本效益、易用性和弹性能力,同时定义了更丰富的计算类型和服务质量等级(QoS Class)。

问题二:如何在ACS中指定Pod的计算类型?
答:通过在Pod的metadata.labels中添加alibabacloud.com/compute-class标签,可设置为general-purpose、performance、gpu或gpu-hpn四种类型之一。

问题三:ACS支持哪些存储类型?
答:ACS基于CSI组件支持块存储、NAS文件存储、CPFS并行文件系统、OSS对象存储等多种阿里云存储服务,并兼容Kubernetes原生的EmptyDir和ConfigMap。

问题四:ACS集群如何实现公网访问?
答:创建集群时开启SNAT配置,系统会自动创建NAT网关并配置SNAT规则;也可以预先创建NAT网关并手动配置SNAT。若不配置公网,可将镜像上传到同地域ACR并通过内网VPC拉取。

问题五:ACS的监控日志功能是否需要额外配置?
答:ACS默认集成并开启Prometheus托管服务,并通过alicloud-monitor-controller组件自动同步告警规则。日志集成SLS,可在集群创建时选择开启日志采集,系统会自动完成配置。

问题六:如何降低ACS的使用成本?
答:利用秒级计费特性按需使用资源,离线任务选用BestEffort QoS,预留实例缓解写/节省计划降低长期业务成本,尽量使用同地域VPC内网拉取镜像以节省公网流量费用。

相关文章

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

作为深耕阿里云代理领域 10 年的 “老司机”,经常被问到:“买阿里云服务器能便宜吗?有没有优惠价格?” 今天就用实打实的行业经验告诉你:不仅能便宜,选对渠道还能省一大笔! 这篇文章带你解锁阿里云服务…

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

01一、阿里云代理商的核心价值定位1. 代理商的角色与职责阿里云代理商作为阿里云生态的核心合作伙伴,承担着双重核心职能:• 产品销售:负责推广销售阿里云全系列云产品,包括云服务器ECS、云数据库RDS…

阿里云代理商有哪些?阿里云代理返点是真的么?

阿里云代理商有哪些?阿里云代理返点是真的么?

一,阿里云代理商基本介绍阿里云代理商通俗一点,就是指从事阿里云云服务器,云数据库等阿里云公有云产品销售的代理商,每销售一件阿里云公有云产品出去,阿里云给予该代理商一定比例的提成。在阿里云官方定义中,这…

2026阿里云代理商生态全解析:五级代理体系、返佣政策与企业上云指南

2026阿里云代理商生态全解析:五级代理体系、返佣政策与企业上云指南

一、阿里云五级代理体系:权益阶梯与合作价值1. 五级代理的核心权益差异阿里云构建了多层次的代理生态体系,涵盖全国总代理、区域核心代理、行业ISV(独立软件开发商)、金牌/银牌认证代理及标准代理五大核心…

2026年阿里云代理商政策深度解析:战略级代理引领AI时代上云

2026年阿里云代理商政策深度解析:战略级代理引领AI时代上云

核心摘要本文全面解读阿里云2026年合作伙伴政策升级,聚焦新增「战略级代理」梯队的核心权益、「三维返点体系」的激励逻辑,以及从「销售驱动」到「AI价值驱动」的战略转型。结合上海汪远信息科技有限公司作为…

阿里云代理选择指南:从资质鉴别到场景适配,上海汪远信息引领合规上云新路径

阿里云代理选择指南:从资质鉴别到场景适配,上海汪远信息引领合规上云新路径

核心摘要本文系统梳理阿里云代理选择的三大核心标准与四大避坑技巧,深度解析全国核心代理上海汪远信息科技有限公司的合规资质、全生命周期服务能力及跨区域资源优势。结合阿里云2026年合作伙伴政策,为不同规模…