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

相关文章
|
2天前
|
Java Windows 内存技术
Windows Java多版本管理工具
本文介绍了Windows下Java多版本管理工具jvms的安装与使用:支持一键初始化、查看/安装/切换JDK(如Java 21),解决Java 8与新版共存难题。操作简单,需注意环境变量顺序以确保生效。(239字)
43 1
|
1天前
|
SQL 安全 关系型数据库
阿里云Dataphin(智能数据建设与治理)对接配置流程
本文提供阿里云Dataphin智能数据建设与治理平台的完整对接配置指南。首先进行开通服务与环境准备,本地IDC需通过专线或VPN打通VPC网络。接着在管理中心创建数据源,支持MySQL、Oracle、MaxCompute等数十种类型,配置项包括数据源编码、连接地址、用户名密码,需进行连通性测试。然后通过数据集成模块配置同步任务,支持离线整库迁移和实时集成。在规范建模阶段创建业务板块、数据域和逻辑表,基于原子指标和派生指标构建指标体系。最后在数据服务中通过向导模式或SQL模式生成API,支持Java SDK调用。全文配合Python代码示例,帮助企业快速落地数据中台建设。
|
2天前
|
人工智能 JSON 自然语言处理
当 AI 生成界面时,谁在守住设计意图?
本文提出“语义层”概念,指出AI生成界面时虽解决了形态层(视觉/代码)效率问题,却严重丢失设计意图的语义——如将“删除按钮”误生成蓝色实心+单“确认”。作者主张用YAML定义可编译、可校验的“意图协议”,在AI生成前强制约束语义边界,实现设计-开发语义对齐。
当 AI 生成界面时,谁在守住设计意图?
|
1天前
|
弹性计算 安全 数据库
阿里云办公安全平台SASE完全对接指南:零信任架构下的企业安全接入实践
本文是一篇全面深入的阿里云办公安全平台SASE(Secure Access Service Edge)对接使用指南。文章从零信任安全理念出发,系统介绍了SASE的核心概念与产品架构,详细阐述了从开通服务、配置身份源(支持IDaaS、LDAP、钉钉、企业微信等多种对接方式)、添加办公应用到配置零信任策略的全流程操作。重点讲解了SASE如何与阿里云IDaaS实现单点登录SSO、如何安全对接云上ECS、RDS数据库等资产、如何配置终端安全基线实现动态访问控制,以及如何进行办公数据防泄漏保护。文中还提供了Python SDK集成代码示例,帮助开发者实现自动化管理。文章最后通过问答形式总结了常见问题与解
|
2天前
|
存储 监控 开发工具
阿里云日志服务SLS全流程对接与深度使用指南
本文是一篇详尽的阿里云日志服务SLS技术科普文章,从核心概念、服务开通、资源创建、数据采集、SDK集成、查询分析、可视化告警、安全权限到成本优化,全面讲解SLS的对接与使用。文章包含Logtail采集、Python/Java SDK代码示例、SPL与SQL查询等实操内容,帮助用户从零构建企业级日志管理平台,实现日志的统一归集、实时分析与智能运维。
|
2天前
|
存储 弹性计算 安全
阿里云云防火墙配置全流程指南:从开通到精细化防护
本文详细讲解阿里云云防火墙的完整配置流程,涵盖开通授权、互联网边界防护、访问控制策略、VPC/NAT边界配置、日志审计与最佳实践,帮助用户从零搭建安全防护体系,实现云上资产的全方位流量管控与安全防护。
|
1天前
|
移动开发 API 开发工具
阿里云实人认证对接使用完全指南:从产品选型到代码落地
本文系统介绍阿里云金融级实人认证服务,涵盖产品选型(方案差异、适用场景)、开通配置、App SDK/H5/服务端三种接入方式、代码示例、安全实践、计费策略及常见问题排查,助力开发者高效集成合规身份核验能力。
|
1天前
|
弹性计算 负载均衡 安全
阿里云负载均衡(SLB)全链路对接与实战指南
本文系统讲解阿里云负载均衡(SLB)的完整对接流程,涵盖ALB、CLB、NLB三大产品选型、核心原理、实例创建、服务器组配置、监听设置、健康检查、会话保持、安全加固、性能优化及常见问题排查。从基础概念到高阶配置,结合实操步骤与代码示例,帮助用户快速掌握SLB对接ECS、IDC、函数计算等后端服务的方法,实现高可用、高性能的流量分发架构。
|
2天前
|
运维 Serverless API
零门槛部署 DeepSeek 模型方案实测:4种方式全体验与避坑指南
DeepSeek-R1 作为当前热门的推理模型,在数学、代码和自然语言等复杂任务上表现出色。阿里云推出的"零门槛、轻松部署您的专属 DeepSeek 模型"解决方案,提供了 4 种不同维度的使用方式:百炼 API 调用、函数计算 Serverless 部署、容器服务集群部署和 GPU 云服务器手动部署。本文从实际体验出发,逐一走通 4 条路径,记录部署过程中的踩坑经历、文档准确性和成本分析,最终给出不同场景下的最佳选择推荐。
|
1天前
|
Web App开发 资源调度 监控
《Chrome标签组搭建多任务高效浏览指南》
本文针对多任务并行场景下标签页泛滥、查找低效、认知负荷高的普遍痛点,从Chrome标签组的底层运行逻辑切入,打破“仅做视觉分类”的表层认知,解析其对标签进程调度、后台内存节流的深层优化机制。文章系统给出命名颜色编码、分层分级管理、折叠交互节奏、跨窗口任务流转等落地方法,结合原生功能搭建全链路标签处理流程,同时梳理了分组过度、命名模糊等常见使用误区。文末提出标签管理本质是对注意力与工作流的结构化梳理,为高负荷浏览场景提供无需第三方工具的原生高效解决方案。