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

简介: 本文提供一份完整的阿里云容器计算服务ACS从入门到精通的实操指南。ACS是阿里云推出的新一代Serverless容器计算服务,以Kubernetes为使用界面,提供免运维的容器算力资源。文章首先阐述ACS与传统ACK及ACK Serverless的核心区别,帮助读者理解其产品定位。接着详细演示通过控制台和OpenAPI创建ACS集群的全流程,涵盖网络规划(VPC/交换机/Service CIDR)、公网访问配置、安全组与API Server访问设置。深入剖析ACS Pod的计算类型体系(通用型、性能型、GPU型、HPN型),并通过YAML示例展示如何精细化指定算力规格。在存储集成方面,提供基于

一、初识阿里云容器计算服务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内网拉取镜像以节省公网流量费用。

相关文章
|
1月前
|
移动开发 安全 开发工具
阿里云实人认证对接使用完全指南:从产品选型到代码落地
本文提供一份完整的阿里云实人认证对接使用指南。首先梳理了产品家族的核心差异,重点聚焦当前主售的金融级实人认证,涵盖实人认证方案、活体人脸验证方案、多因子意愿认证方案等多种产品方案的适用场景。接着详细拆解了从开通服务、创建RAM子账号、配置认证场景到实际接入的完整流程,核心部分分别讲解了App SDK接入和H5网页接入两大场景的时序与代码实现,给出了Java服务端、Python服务端以及Android客户端集成的完整示例。同时深入探讨了生产环境的安全加固策略,包括RAM最小权限授权、参数传输加密和敏感信息脱敏处理。最后梳理了计费逻辑、常见报错排查思路以及最佳实践建议,帮助开发者从零到一顺利完成与
|
1月前
|
弹性计算 安全 数据库
阿里云办公安全平台SASE完全对接指南:零信任架构下的企业安全接入实践
本文是一篇全面深入的阿里云办公安全平台SASE(Secure Access Service Edge)对接使用指南。文章从零信任安全理念出发,系统介绍了SASE的核心概念与产品架构,详细阐述了从开通服务、配置身份源(支持IDaaS、LDAP、钉钉、企业微信等多种对接方式)、添加办公应用到配置零信任策略的全流程操作。重点讲解了SASE如何与阿里云IDaaS实现单点登录SSO、如何安全对接云上ECS、RDS数据库等资产、如何配置终端安全基线实现动态访问控制,以及如何进行办公数据防泄漏保护。文中还提供了Python SDK集成代码示例,帮助开发者实现自动化管理。文章最后通过问答形式总结了常见问题与解
|
1月前
|
存储 监控 开发工具
阿里云日志服务SLS全流程对接与深度使用指南
本文是一篇详尽的阿里云日志服务SLS技术科普文章,从核心概念、服务开通、资源创建、数据采集、SDK集成、查询分析、可视化告警、安全权限到成本优化,全面讲解SLS的对接与使用。文章包含Logtail采集、Python/Java SDK代码示例、SPL与SQL查询等实操内容,帮助用户从零构建企业级日志管理平台,实现日志的统一归集、实时分析与智能运维。
|
1月前
|
运维 Serverless API
零门槛部署 DeepSeek 模型方案实测:4种方式全体验与避坑指南
DeepSeek-R1 作为当前热门的推理模型,在数学、代码和自然语言等复杂任务上表现出色。阿里云推出的"零门槛、轻松部署您的专属 DeepSeek 模型"解决方案,提供了 4 种不同维度的使用方式:百炼 API 调用、函数计算 Serverless 部署、容器服务集群部署和 GPU 云服务器手动部署。本文从实际体验出发,逐一走通 4 条路径,记录部署过程中的踩坑经历、文档准确性和成本分析,最终给出不同场景下的最佳选择推荐。
|
1月前
|
缓存 人工智能 自然语言处理
阿里云百炼通义千问Qwen3.6-Flash完整实操指南:轻量化旗舰功能特性、落地优势与分层优惠订阅方案详解
当前AI应用落地场景分化愈发明显,除复杂智能体、百万字长文档、全栈大型工程开发等高门槛业务外,大量企业存在高频轻量问答、实时客服对话、短文本批量生成、简单数据提取、前端实时交互等标准化轻量化需求。这类场景单日调用频次可达数万乃至数十万次,对接口响应延迟、单轮调用成本、并发承载能力有极高要求,若选用高规格旗舰模型会造成算力预算严重浪费,而普通基础轻量化模型又存在逻辑推理弱、工具调用不稳定、短文本输出质量差等短板。
480 4
|
1月前
|
消息中间件 人工智能 安全
01|什么是 Agent Harness:为什么大模型需要一个“工程外壳”
Agent Harness 是连接大模型与真实工程环境的执行层,解决AI“只会生成文本、无法完成任务”的痛点。它整合上下文管理、工具调用、安全执行、权限控制、结果验证与记忆机制,将自然语言指令转化为可观察、可控制、可验证的工程动作闭环,是AI真正落地开发的关键基础设施。(239字)
218 0
|
1月前
|
SQL 人工智能 关系型数据库
DBeaver Ultimate Edtion 26.1 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate 26.1 是跨平台通用数据库工具,支持100+数据源。新增AI增强能力:可接入外部MCP服务器、dbvr开源CLI作为MCP服务、执行计划可视化与AI解读,并扩展支持Microsoft Fabric、Valkey、GizmoSQL等。(239字)
281 3
DBeaver Ultimate Edtion 26.1 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
1月前
|
Shell iOS开发 MacOS
npm全局安装后提示codex command not found的7种解决方法(2026)
2026 年呼声最高的 Claude Code 功能,悄悄在 v2.1.169 上线了,多数人还不知道它切目录时能把提示缓存保住,不是清掉重来。 如果你以前每次想去 git worktree 或者隔壁仓库工作,都得退出 Claude Code 重启——这套仪式从 2026-06-08 起可以扔掉了。新出的 /cd 命令让会话中途切到任何目录,前缀缓存还能活着。对 Claude Opus 4.8(输入 5 美元/M token、缓存读 0.5 美元/M token)来说,这意味着原本要重发的那一堆上下文打了一折。 但”保住缓存”这句话带 3 个星号。这篇把可验证的机制、操作步骤、3 个会让缓
|
1月前
|
人工智能 API 开发工具
Opencode必看!Spec-kit(SDD)让你AI编程事半功倍
本文介绍GitHub官方推出的Spec-Kit工具,它作为标准化软件设计文档(SDD)方案,深度适配OpenCode,解决AI编程中需求模糊、改动困难、质量不稳、版本混乱等痛点。5步即可上手:定原则、写需求、定方案、拆任务、自动生成代码,大幅提升AI编程效率与工程规范性。(239字)
362 1
|
1月前
|
人工智能 安全 算法
一文读懂 Graphify 知识图谱
Graphify 是一款开源、本地优先的多模态知识图谱工具,支持一键将代码/文档/PDF/图片等全量项目材料自动构建成可查询、持久化图谱,降低大模型71.5倍Token消耗,零向量库依赖,安全可控、增量更新,广泛用于AI编程助手增强与大型项目知识管理。(239字)
337 1