譯者 | 核子可樂
審校 | 重樓
隨著人工智能的持續(xù)發(fā)展,高效、大規(guī)模部署AI驅(qū)動應(yīng)用程序變得至關(guān)重要。而編排平臺Kubernetes在管理容器化AI工作負載、確??蓴U展性、彈性以及降低管理難度等方面,無疑將發(fā)揮不可替代的作用。
在本文中,我們將共同了解如何在Kubernetes上部署DeepSeek,運用其強大的AI推理模型DeepSeek-R1與Open WebUI集成以實現(xiàn)無縫交互。
一、為何選擇Kubernetes?
作為一款先進的推理模型,DeepSeek將受益于Kubernetes提供的強大容器化與編排能力。Kubernetes憑借其成熟的生態(tài)系統(tǒng)以及專門針對復(fù)雜AI工作負載量身定制的廣泛功能,從Docker Swarm、Apache Mesos等一從同類產(chǎn)品中脫穎而出。以下是選擇Kubernetes的主要原因:
1.可擴展性
Kubernetes使用Horizontal Pod Autoscaler(HPA)與Cluster Autoscaler等工具簡化了AI工作負載的擴展流程。對于推理請求激增等常見場景,Kubernetes能夠自動無縫擴展pod與節(jié)點,確保無需人工干預(yù)即可實現(xiàn)一致性能。
2.彈性
Kubernetes可實現(xiàn)pod自動重新調(diào)度與自我修復(fù)功能,借此保障更高彈性水平。一旦DeepSeek pod遭遇資源限制或節(jié)點故障等問題,Kubernetes會快速檢測受到影響的pod并將其重新部署到健康節(jié)點,最大限度縮短停機時間并保障持續(xù)可用性。
3.服務(wù)發(fā)現(xiàn)
Kubernetes內(nèi)置基于DNS的服務(wù)發(fā)現(xiàn)與微服務(wù)無縫管理功能。DeepSeek的推理服務(wù)可由此輕松發(fā)現(xiàn)并接入以支持微服務(wù)(例如預(yù)處理模塊及日志記錄服務(wù)),全程無需復(fù)雜的手動配置,段增強可維護性與靈活性。
4.持久存儲
Kubernetes PersistentVolumeClaims (PVCs)可有效處理AI模型存儲、訓(xùn)練數(shù)據(jù)集及檢查點,確保關(guān)鍵數(shù)據(jù)即使在更新、pod重啟或者節(jié)點故障期間也始終保持一致性與可用性。在Kubernetes的支持下,DeepSeek模型更新或者推理pod擴展將真正實現(xiàn)無縫化、無中斷。
5.負載均衡
Kubernetes提供內(nèi)置負載均衡功能,可在多個副本之間高效分配工作負載。此功能對于DeepSeek在多個實例間均勻分配推理請求、優(yōu)化資源利用率并顯著降低響應(yīng)延遲至關(guān)重要。
雖然Docker Swarm等替代方案的使用體驗更簡單,但Kubernetes擁有管理DeepSeek等復(fù)雜AI模型所必需的獨特功能完備優(yōu)勢,確保了可擴展性、穩(wěn)健性與操作簡便性。
二、在Kubernetes上部署DeepSeek
1. 設(shè)置Kubernetes集群
在本設(shè)置中,我們將建立一個三節(jié)點Kubernetes集群,具體包含以下節(jié)點:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
deepseek-control-plane Ready control-plane 6d5h v1.32.0
deepseek-worker Ready <none> 6d5h v1.32.0
deepseek-worker2 Ready <none> 6d5h v1.32.0
即使Kubernetes節(jié)點不使用GPU,DeepSeek-R1也仍可正常運行,只是響應(yīng)速度會受到影響。這里建議大家使用GPU加速以獲取最佳性能,特別是在處理復(fù)雜推理任務(wù)時請務(wù)必配備GPU。
你可以使用以下工具在本地設(shè)置Kubernetes集群:
- KIND (Kubernetes IN Docker)
- Minikube
- MicroK8s
如果部署在云平臺上,則可使用Ingress對象以安全訪問設(shè)置,并通過配備身份驗證與TLS安全機制的Web界面對外公開服務(wù)。
2. 使用Ollama部署DeepSeek-R1
這里使用Ollama在Kubernetes 中部署DeepSeek-R1,Ollama負責(zé)處理AI模型推理。以下是Ollama部署過程中的Kubernetes manifest信息:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ollama
labels:
app: ollama
spec:
replicas: 1
selector:
matchLabels:11
app: ollama
template:
metadata:
labels:
app: ollama
spec:
containers:
- name: ollama
image: ollama/ollama:latest
ports:
- containerPort: 11434
volumeMounts:
- mountPath: /root/.ollama
name: ollama-storage
env:
- name: OLLAMA_MODEL
value: deepseek-r1:1.5b
- name: OLLAMA_KEEP_ALIVE
value: "-1"
- name: OLLAMA_NO_THINKING
value: "true"
- name: OLLAMA_SYSTEM_PROMPT
value: "You are DeepSeek-R1, a reasoning model. Provide direct answers without detailed reasoning steps or <think> tags."
volumes:
- name: ollama-storage
emptyDir: {}
3. 將Ollama作為服務(wù)公開
為了讓其他服務(wù)與Ollama通信,這里需要定義一項NodePort服務(wù):
apiVersion: v1
kind: Service
metadata:
name: ollama-service
spec:
selector:
app: ollama
ports:
- protocol: TCP
port: 11434
targetPort: 11434
type: NodePort
4. 部署Open WebUI
為了獲得交互式體驗,這里集成了Open WebUI,它會接入Ollama并提供用戶友好的界面。具體部署方式如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: openweb-ui
labels:
app: openweb-ui
spec:
replicas: 1
selector:
matchLabels:
app: openweb-ui
template:
metadata:
labels:
app: openweb-ui
spec:
containers:
- name: openweb-ui
image: ghcr.io/open-webui/open-webui:main
env:
- name: WEBUI_NAME
value: "DeepSeek India - Hardware Software Gheware"
- name: OLLAMA_BASE_URL
value: "http://ollama-service:11434"
- name: OLLAMA_DEFAULT_MODEL
value: "deepseek-r1:1.5b"
ports:
- containerPort: 8080
volumeMounts:
- name: openweb-data
mountPath: /app/backend/data
volumes:
- name: openweb-data
persistentVolumeClaim:
claimName: openweb-ui-pvc
5. 在DeepSeek-R1上運行推理
要測試部署,我們可以在Ollama容器內(nèi)執(zhí)行命令:
kubectl exec -it deploy/ollama -- bash
ollama run deepseek-r1:1.5b
此命令將啟動與AI模型的交互式會話,且允許直接輸入查詢。
三、訪問Open WebUI
在部署完成后,即可創(chuàng)建指向URL的入口對象以訪問Open WebUI。
http://deepseek.gheware.com/auth
用戶通過此界面,即可在聊天環(huán)境中與DeepSeek-R1進行交互。
總結(jié)
通過在Kubernetes上部署DeepSeek,我們建立起可擴展、彈性強且可用于生產(chǎn)的AI推理系統(tǒng)。Kubernetes負責(zé)高效協(xié)調(diào)DeepSeek-R1,確保通過Open WebUI順利運行模型并與用戶交互。此外,大家還可添加GPU加速、自動擴展并使用Prometheus及Grafana監(jiān)控,以進一步擴展這套基礎(chǔ)架構(gòu)。
對AI從業(yè)者來說,Kubernetes將為DeepSeek-R1等推理模型的部署和管理奠定良好基礎(chǔ),真正讓推理大模型走入尋常百姓家。
原文標題:DeepSeek on Kubernetes: AI-Powered Reasoning at Scale,作者:Rajesh Gheware