当前位置: 首页 > news >正文

使用ACK Serverless容器化部署大语言模型FastChat

核心概念

  • 阿里云ACK Serverless:是一种基于 Kubernetes 的无服务器容器服务。用户无需管理底层节点和服务器,即可快速部署容器化应用,并根据实际使用的 CPU 和内存资源按需付费,只专注于应用本身而非基础设施管理。

  • FastChat(聊天机器人):https://github.com/lm-sys/FastChat

  • 使用到的技术:容器服务ACK Serveless Pro 集群、弹性容器实例(Elastic Container Instance, ECI)、NAT网关、负载均衡CLB。

一、创建ACK Serveless Pro版集群

1、登录容器服务管理控制台,在集群列表页面单击创建集群。

2、在创建集群页面的集群配置中,单击ACK Serverless 集群,根据如下参数说明完成相关配置,其他配置项保持默认值,然后单击下一步:组件配置。

配置必要参数说明
参数说明举例
集群名称填写集群的名称。fastchat-demo
集群规格选择集群规格,支持 Pro 版和标准版。Pro版
地域选择集群所在的地域。建议选择华北2(北京)地域。

 华北2(北京)

API Server 访问ACK Serverless 默认为 API Server 创建一个内网 SLB 实例。设置是否开放使用 EIP 暴露 API Server。选中

3、在组件配置页面,根据实际需要配置日志服务。

4、完成购买。

二、创建FastChat应用

1、在集群列表页面,单击集群名称fastchat-demo进入集群信息页面,然后在左侧导航栏,选择工作负载 > 无状态

2、在无状态页面,单击使用YAML创建资源。

3、在示例模板下拉列表中,选择自定义,将如下 fastchat 应用的 YAML 示例粘贴至模板,然后单击创建。

YAML文件定义了两个Kubernetes资源对象:一个Deployment和一个Service,用于部署FastChat应用并暴露服务。


Deployment配置详解

API版本与类型

  • apiVersion: apps/v1:使用Kubernetes Apps API稳定版本
  • kind: Deployment:声明为无状态应用部署资源

元数据

  • labels.app: fastchat:标记应用为FastChat组件
  • name/namespace:部署名为fastchat,位于default命名空间

副本与选择器

  • replicas: 1:仅运行1个Pod实例
  • selector.matchLabels:通过app: fastchat标签选择管理Pod

Pod模板

  • 特殊标签alibabacloud.com/eci: "true":启用阿里云弹性容器实例(ECI)
  • 关键注解:
    • k8s.aliyun.com/eci-use-specs:指定ECI可选的实例规格(GN6i/GN5等GPU机型)
    • k8s.aliyun.com/eci-extra-ephemeral-storage:附加100Gi临时存储

容器配置

  • 启动命令:通过sh -c执行容器内的/root/webui.sh脚本
  • 镜像地址:使用阿里云上海 registry 的fastchat:v1.1.0镜像
  • 端口暴露:容器监听7860 TCP端口
  • 就绪探针:通过TCP检查7860端口,初始延迟5秒,超时1秒
  • 资源需求:
    • 请求8核CPU和16Gi内存
    • 限制使用1块NVIDIA GPU

Service配置详解

基础信息

  • type: LoadBalancer:创建云厂商的负载均衡器
  • 注解配置:
    • 负载均衡器类型为公网(internet
    • 按量付费模式(PayByCLCU

流量路由

  • 端口映射:将LB的7860端口转发到Pod的7860端口
  • externalTrafficPolicy: Local:保留客户端源IP
  • 选择器:通过app: fastchat标签关联Deployment创建的Pod
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: fastchatname: fastchatnamespace: default
spec:replicas: 1selector:matchLabels:app: fastchattemplate:metadata:labels:app: fastchatalibabacloud.com/eci: "true" annotations:k8s.aliyun.com/eci-use-specs: ecs.gn6i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge,ecs.gn6v-c8g1.8xlarge,ecs.gn6i-c16g1.4xlargek8s.aliyun.com/eci-extra-ephemeral-storage: 100Gispec:dnsPolicy: Defaultcontainers:- command:- sh- -c - "/root/webui.sh"image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/fastchat:v1.1.0imagePullPolicy: IfNotPresentname: fastchatports:- containerPort: 7860protocol: TCPreadinessProbe:failureThreshold: 3initialDelaySeconds: 5periodSeconds: 10successThreshold: 1tcpSocket:port: 7860timeoutSeconds: 1resources:requests:cpu: "8"memory: 16Gilimits:nvidia.com/gpu: 1
---
apiVersion: v1
kind: Service
metadata:annotations:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internetservice.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCUname: fastchatnamespace: default
spec:externalTrafficPolicy: Localports:- port: 7860protocol: TCPtargetPort: 7860selector:app: fastchattype: LoadBalancer

4、在创建页面下方,单击fastchat,查看应用创建进度。

查看创建进度。


三、访问FastChat服务

注意事项

  • fastchat-t5-3b-v1.0模型仅支持日常对话,不支持代码生成等高级功能。
  • 仅支持英文。


1、在左侧导航栏,选择网络>服务,查看您创建的服务fastchat的外部端点,例如8.140.XX.XX:7860


2、在您的本机浏览器中输入http://8.140.XX.XX:7860,访问和体验fastchat应用。
通过输入问题,然后单击Send,即可体验大语言模型FastChat的聊天功能。

四、学习总结

[用户请求]  
│  
├─ [CLB (公网负载均衡)]  
│   │  
│   ├─ 路由到 [FastChat API Pod (ECI实例)]  
│   └─ 路由到 [Web UI Pod (ECI实例)]  
│  
├─ [NAT网关]  
│   │  
│   └─ 提供 [模型推理 Pod (ECI实例)] 访问公网的能力(如下载模型权重)  
│  
└─ [ACK Serverless集群]  │  ├─ 自动弹性伸缩 ECI 实例组  │   ├─ FastChat API 服务  │   ├─ Web UI 服务  │   └─ 模型推理 Worker  └─ 挂载 NAS/OSS 存储(持久化模型文件)  

http://www.lryc.cn/news/609202.html

相关文章:

  • 【十九、Javaweb-day19-Linux概述】
  • 我的世界模组进阶教程——伤害(1)
  • 每日面试题20:spring和spring boot的区别
  • Linux 文件与目录操作命令宝典
  • Unity_数据持久化_IXmlSerializable接口
  • 【视频内容创作】PR的关键帧动画
  • SQL157 更新记录(一)
  • linux下jvm之jstack的使用
  • 代码随想录day53图论4
  • Java 大视界 -- Java 大数据在智能教育学习资源个性化推荐与学习路径动态调整中的深度应用(378)
  • 【LLM】 BaseModel的作用
  • 【0基础PS】PS工具详解--文字工具
  • Shell脚本-变量是什么
  • 思途JSP学习 0802(项目完整流程)
  • Linux网络编程 --- 多路转接select
  • Unity JobSystem 与 BurstCompiler 资料
  • 2025.8.3
  • webrtv弱网-QualityScalerResource 源码分析及算法原理
  • 【大模型实战】向量数据库实战 - Chroma Milvus
  • Linux mount挂载选项详解(重点关注nosuid)
  • ESP32开发问题汇总
  • ZStack Cloud 5.3.40正式发布
  • 第15届蓝桥杯Scratch图形化国赛初/中级组2024年9月7日真题
  • Product Hunt 每日热榜 | 2025-08-02
  • 01数据结构-时间复杂度和空间复杂度
  • Petalinux 23.2 构建过程中常见下载错误及解决方法总结
  • ORA-12514:TNS: 监听程序当前无法识别连接描述符中请求的服务
  • 小白学OpenCV系列2-理解图像
  • 使用纯Docker命令搭建多服务环境(Linux版)
  • Web 开发 11