在本教程中,我们将初步尝试在阿里云ACK上托管DeepSeek-R1模型,并使用Karpenter阿里云Provider动态扩缩GPU节点资源。
GitHub 地址:
https://github.com/cloudpilot-ai/karpenter-provider-alibabacloud
通过Karpenter的自动化调度能力,我们可以根据需求灵活调整计算资源(如竞价实例),确保模型推理高效运行,同时优化成本。
为什么在K8s上私有化部署DeepSeek-R1模型
在阿里云 ACK 上部署 DeepSeek 模型,主要有以下几个关键优势:
首先,许多大企业在部署AI模型时,通常有数据私有化的要求,特别是涉及敏感数据或关键业务时。
其次,Kubernetes提供了灵活的底层计算资源管理能力,企业可以根据自身需求进行资源调度、分配和优化。通过阿里云ACK集群,企业能够精细化管理计算资源,并进行自定义配置,以确保模型训练和推理任务能够在最适合的GPU资源上高效运行。
此外,本地部署还能够有效避免频繁的宕机和服务不可用问题(如下图),保障系统的高可用性。同时,不受敏感词等外部限制,增强了灵活性和自主性。
创建ACK集群
本文使用Terraform快速创建ACK,使用的区域为ap-northeast-2(首尔)。
详细创建步骤请查看:
https://github.com/cloudpilot-ai/examples/tree/main/clusters/ack-spot-flannel
安装Karpenter
参考官方安装文档安装Karpenter (仅需完成前5步即可) :
同时,部署如下NodePool和NodeClass,定义弹性GPU节点的配置:
# nodeclass.yaml
apiVersion: karpenter.k8s.alibabacloud/v1alpha1
kind: ECSNodeClass
metadata:
name: defaultnodeclass
spec:
systemDisk:
size: 300
categories:
- cloud
- cloud_ssd
- cloud_efficiency
- cloud_essd
-