偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

大規(guī)模AI推理再非難事:如何在Kubernetes上部署DeepSeek 原創(chuàng)

發(fā)布于 2025-3-28 08:15
瀏覽
0收藏

隨著人工智能的持續(xù)發(fā)展,高效、大規(guī)模部署AI驅(qū)動(dòng)應(yīng)用程序變得至關(guān)重要。而編排平臺(tái)Kubernetes在管理容器化AI工作負(fù)載、確??蓴U(kuò)展性、彈性以及降低管理難度等方面,無(wú)疑將發(fā)揮不可替代的作用。

在本文中,我們將共同了解如何在Kubernetes上部署DeepSeek,運(yùn)用其強(qiáng)大的AI推理模型DeepSeek-R1與Open WebUI集成以實(shí)現(xiàn)無(wú)縫交互。

一、為何選擇Kubernetes??

作為一款先進(jìn)的推理模型,DeepSeek將受益于Kubernetes提供的強(qiáng)大容器化與編排能力。Kubernetes憑借其成熟的生態(tài)系統(tǒng)以及專門(mén)針對(duì)復(fù)雜AI工作負(fù)載量身定制的廣泛功能,從Docker Swarm、Apache Mesos等一從同類產(chǎn)品中脫穎而出。以下是選擇Kubernetes的主要原因:

1.可擴(kuò)展性?

Kubernetes使用Horizontal Pod Autoscaler(HPA)與Cluster Autoscaler等工具簡(jiǎn)化了AI工作負(fù)載的擴(kuò)展流程。對(duì)于推理請(qǐng)求激增等常見(jiàn)場(chǎng)景,Kubernetes能夠自動(dòng)無(wú)縫擴(kuò)展pod與節(jié)點(diǎn),確保無(wú)需人工干預(yù)即可實(shí)現(xiàn)一致性能。

2.彈性?

Kubernetes可實(shí)現(xiàn)pod自動(dòng)重新調(diào)度與自我修復(fù)功能,借此保障更高彈性水平。一旦DeepSeek pod遭遇資源限制或節(jié)點(diǎn)故障等問(wèn)題,Kubernetes會(huì)快速檢測(cè)受到影響的pod并將其重新部署到健康節(jié)點(diǎn),最大限度縮短停機(jī)時(shí)間并保障持續(xù)可用性。

3.服務(wù)發(fā)現(xiàn)?

Kubernetes內(nèi)置基于DNS的服務(wù)發(fā)現(xiàn)與微服務(wù)無(wú)縫管理功能。DeepSeek的推理服務(wù)可由此輕松發(fā)現(xiàn)并接入以支持微服務(wù)(例如預(yù)處理模塊及日志記錄服務(wù)),全程無(wú)需復(fù)雜的手動(dòng)配置,段增強(qiáng)可維護(hù)性與靈活性。

4.持久存儲(chǔ)?

Kubernetes PersistentVolumeClaims (PVCs)可有效處理AI模型存儲(chǔ)、訓(xùn)練數(shù)據(jù)集及檢查點(diǎn),確保關(guān)鍵數(shù)據(jù)即使在更新、pod重啟或者節(jié)點(diǎn)故障期間也始終保持一致性與可用性。在Kubernetes的支持下,DeepSeek模型更新或者推理pod擴(kuò)展將真正實(shí)現(xiàn)無(wú)縫化、無(wú)中斷。

5.負(fù)載均衡?

Kubernetes提供內(nèi)置負(fù)載均衡功能,可在多個(gè)副本之間高效分配工作負(fù)載。此功能對(duì)于DeepSeek在多個(gè)實(shí)例間均勻分配推理請(qǐng)求、優(yōu)化資源利用率并顯著降低響應(yīng)延遲至關(guān)重要。

雖然Docker Swarm等替代方案的使用體驗(yàn)更簡(jiǎn)單,但Kubernetes擁有管理DeepSeek等復(fù)雜AI模型所必需的獨(dú)特功能完備優(yōu)勢(shì),確保了可擴(kuò)展性、穩(wěn)健性與操作簡(jiǎn)便性。

二、在Kubernetes上部署DeepSeek?

1. 設(shè)置Kubernetes集群?

在本設(shè)置中,我們將建立一個(gè)三節(jié)點(diǎn)Kubernetes集群,具體包含以下節(jié)點(diǎn):

$ 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é)點(diǎn)不使用GPU,DeepSeek-R1也仍可正常運(yùn)行,只是響應(yīng)速度會(huì)受到影響。這里建議大家使用GPU加速以獲取最佳性能,特別是在處理復(fù)雜推理任務(wù)時(shí)請(qǐng)務(wù)必配備GPU。

你可以使用以下工具在本地設(shè)置Kubernetes集群:

  • KIND (Kubernetes IN Docker)?
  • Minikube?
  • MicroK8s?

如果部署在云平臺(tái)上,則可使用Ingress對(duì)象以安全訪問(wèn)設(shè)置,并通過(guò)配備身份驗(yàn)證與TLS安全機(jī)制的Web界面對(duì)外公開(kāi)服務(wù)。

2. 使用Ollama部署DeepSeek-R1?

這里使用Ollama在Kubernetes 中部署DeepSeek-R1,Ollama負(fù)責(zé)處理AI模型推理。以下是Ollama部署過(guò)程中的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ù)公開(kāi)?

為了讓其他服務(wù)與Ollama通信,這里需要定義一項(xiàng)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?

為了獲得交互式體驗(yàn),這里集成了Open WebUI,它會(huì)接入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上運(yùn)行推理?

要測(cè)試部署,我們可以在Ollama容器內(nèi)執(zhí)行命令:

kubectl exec -it deploy/ollama -- bash
ollama run deepseek-r1:1.5b

此命令將啟動(dòng)與AI模型的交互式會(huì)話,且允許直接輸入查詢。

三、訪問(wèn)Open WebUI?

在部署完成后,即可創(chuàng)建指向URL的入口對(duì)象以訪問(wèn)Open WebUI。

???http://deepseek.gheware.com/auth?

用戶通過(guò)此界面,即可在聊天環(huán)境中與DeepSeek-R1進(jìn)行交互。

總結(jié)?

通過(guò)在Kubernetes上部署DeepSeek,我們建立起可擴(kuò)展、彈性強(qiáng)且可用于生產(chǎn)的AI推理系統(tǒng)。Kubernetes負(fù)責(zé)高效協(xié)調(diào)DeepSeek-R1,確保通過(guò)Open WebUI順利運(yùn)行模型并與用戶交互。此外,大家還可添加GPU加速、自動(dòng)擴(kuò)展并使用Prometheus及Grafana監(jiān)控,以進(jìn)一步擴(kuò)展這套基礎(chǔ)架構(gòu)。

對(duì)AI從業(yè)者來(lái)說(shuō),Kubernetes將為DeepSeek-R1等推理模型的部署和管理奠定良好基礎(chǔ),真正讓推理大模型走入尋常百姓家。

原文標(biāo)題:??DeepSeek on Kubernetes: AI-Powered Reasoning at Scale?,作者:Rajesh Gheware

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦