精品国产18久久久久久,一个人在线观看的www,亚洲一区二区久久久,成人国内精品久久久久影院vr,最近免费中文字幕大全高清大全1

實踐分享:青云科技KubeSphere 上部署 AI 大模型管理工具 Ollama

2024-07-11 11:18:57AI云資訊19268

隨著人工智能、機器學習、AI 大模型技術(shù)的迅猛發(fā)展,我們對計算資源的需求也在不斷攀升。特別是對于需要處理大規(guī)模數(shù)據(jù)和復(fù)雜算法的 AI 大模型,GPU 資源的使用變得至關(guān)重要。對于運維工程師而言,掌握如何在 Kubernetes 集群上管理和配置 GPU 資源,以及如何高效部署依賴這些資源的應(yīng)用,已成為一項不可或缺的技能。

今天,我將帶領(lǐng)大家深入了解如何在 KubeSphere 平臺上,利用 Kubernetes 強大的生態(tài)和工具,實現(xiàn) GPU 資源的管理和應(yīng)用部署。以下是本文將要探討的三個核心主題:

1.集群擴容與GPU節(jié)點集成:我們將通過 KubeKey 工具,擴展 Kubernetes 集群并增加具備 GPU 能力的 Worker 節(jié)點,為 AI 應(yīng)用提供必要的硬件支持。

2.GPU資源的Kubernetes集成:使用 Helm 安裝和配置 NVIDIA GPU Operator,這是 NVIDIA 官方提供的一個解決方案,旨在簡化 Kubernetes 集群中 GPU 資源的調(diào)用和管理。

3.實戰(zhàn)部署:Ollama大模型管理工具:我們將在 KubeSphere 上部署 Ollama,一個專為 AI 大模型設(shè)計的管理工具,以驗證 GPU 資源是否能夠被正確調(diào)度和高效使用。

通過閱讀本文,您將獲得 Kubernetes 上 管理 GPU 資源的知識和技巧,幫助您在云原生環(huán)境中,充分利用 GPU 資源,推動 AI 應(yīng)用的快速發(fā)展。

KubeSphere最佳實戰(zhàn)「2024」系列文檔的實驗環(huán)境硬件配置和軟件信息如下:

實戰(zhàn)服務(wù)器配置(架構(gòu)1:1復(fù)刻小規(guī)模生產(chǎn)環(huán)境,配置略有不同)

實戰(zhàn)環(huán)境涉及軟件版本信息

操作系統(tǒng):openEuler22.03 LTS SP3 x86_64

KubeSphere:v3.4.1

Kubernetes:v1.28.8

KubeKey:v3.1.1

Containerd:1.7.13

NVIDIA GPU Operator:v24.3.0

NVIDIA 顯卡驅(qū)動:550.54.15

1. 前置條件

1.1 準備帶有顯卡的 Worker 節(jié)點

鑒于資源和成本的限制,我沒有高端物理主機和顯卡來做實驗。只能增加兩臺配備入門級 GPU 顯卡的虛擬機,作為集群的 Worker 節(jié)點。

節(jié)點 1,配置 GPU NVIDIA Tesla M40 24G 顯卡。唯一優(yōu)點 24G 大顯存,性能低。

節(jié)點 2,配置 GPU NVIDIA Tesla P100 16G 顯卡。顯存小,但是速度快于 M40、P40 等顯卡。

盡管這些顯卡在性能上不及高端型號,但它們足以應(yīng)對大多數(shù)學習和開發(fā)任務(wù),在資源有限的情況下,這樣的配置為我提供了寶貴的實踐機會,讓我能夠深入探索 Kubernetes 集群中 GPU 資源的管理和調(diào)度策略。

1.2 操作系統(tǒng)初始化配置

請參考Kubernetes集群節(jié)點openEuler22.03 LTS SP3系統(tǒng)初始化指南,完成操作系統(tǒng)初始化配置。

初始化配置指南中沒有涉及操作系統(tǒng)升級的任務(wù),在能聯(lián)網(wǎng)的環(huán)境初始化系統(tǒng)的時候一定要升級操作系統(tǒng),然后重啟節(jié)點。

2. 使用 KubeKey 擴容 GPU Worker 節(jié)點

接下來我們使用 KubeKey 將新增加的 GPU 節(jié)點加入到已有的 Kubernetes 集群,參考官方說明文檔,整個過程比較簡單,僅需兩步。

修改 KubeKey 部署時使用的集群配置文件

執(zhí)行增加節(jié)點的命令

2.1 修改集群配置文件

在 Control-1 節(jié)點,切換到部署用的 kubekey 目錄,修改原有的集群配置文件,我們實戰(zhàn)中使用的名字為ksp-v341-v1288.yaml,請根據(jù)實際情況修改 。

主要修改點:

spec.hosts 部分:增加新的 worker 節(jié)點的信息。

spec.roleGroups.worker 部分:增加新的 worker 節(jié)點的信息

修改后的示例如下:

2.2 使用 KubeKey 增加節(jié)點

在增加節(jié)點之前,我們再確認一下當前集群的節(jié)點信息。

接下來我們執(zhí)行下面的命令,使用修改后的配置文件將新增的 Worker 節(jié)點加入集群。

上面的命令執(zhí)行后,KubeKey 先檢查部署 Kubernetes 的依賴及其它配置是否符合要求。通過檢查后,系統(tǒng)將提示您確認安裝。輸入yes并按 ENTER 繼續(xù)部署。

部署完成需要大約 5 分鐘左右,具體時間看網(wǎng)速、機器配置、增加的節(jié)點數(shù)量。

部署完成后,您應(yīng)該會在終端上看到類似于下面的輸出。

3. 擴容后集群狀態(tài)驗證

3.1 KubeSphere 管理控制臺驗證集群狀態(tài)

我們打開瀏覽器訪問 Control-1 節(jié)點的 IP 地址和端口30880,登陸 青云科技KubeSphere 管理控制臺的登錄頁面。

進入集群管理界面,單擊左側(cè)「節(jié)點」菜單,點擊「集群節(jié)點」查看 Kubernetes 集群可用節(jié)點的詳細信息。

3.2 Kubectl 命令行驗證集群狀態(tài)

查看集群節(jié)點信息

在 Control-1 節(jié)點運行 kubectl 命令獲取 Kubernetes 集群的節(jié)點信息。

在輸出結(jié)果中可以看到,當前的 Kubernetes 集群有 8 個節(jié)點,并詳細展示每個節(jié)點的名字、狀態(tài)、角色、存活時間、Kubernetes 版本號、內(nèi)部 IP、操作系統(tǒng)類型、內(nèi)核版本和容器運行時等信息。

至此,我們完成了利用 Kubekey 在現(xiàn)有的 3 個 Master 節(jié)點和 3 個 Worker 節(jié)點組成的 Kubernetes 集群中增加 2 個 Worker 節(jié)點的全部任務(wù)。

接下來我們安裝 NVIDIA 官方出品的 NVIDIA GPU Operator,實現(xiàn) K8s 調(diào)度 Pod 使用 GPU 資源。

4. 安裝配置 NVIDIA GPU Operator

4.1 安裝 NVIDIA 顯卡驅(qū)動

NVIDIA GPU Operator 支持自動安裝顯卡驅(qū)動,但是只 CentOS 7、8 和 Ubuntu 20.04、22.04 等版本,并不支持 openEuler,所以需要手工安裝顯卡驅(qū)動。

請參考KubeSphere最佳實戰(zhàn):openEuler22.03 LTS SP3安裝NVIDIA顯卡驅(qū)動,完成顯卡驅(qū)動安裝。

4.2 前提條件

Node Feature Discovery (NFD) 檢測功能檢查。

上面的命令執(zhí)行結(jié)果為true, 說明NFD已經(jīng)在集群中運行。如果 NFD 已經(jīng)在集群中運行,那么在安裝 Operator 時必須禁用部署 NFD。

?

說明:使用 KubeSphere 部署的 K8s 集群默認不會安裝配置 NFD。

4.3 安裝 NVIDIA GPU Operator

1.添加 NVIDIA Helm repository

2.安裝 GPU Operator

使用默認配置文件,禁用自動安裝顯卡驅(qū)動功能,安裝 GPU Operator。

?

注意: 由于安裝的鏡像比較大,所以初次安裝過程中可能會出現(xiàn)超時的情形,請檢查你的鏡像是否成功拉?。】梢钥紤]使用離線安裝解決該類問題。

3.使用自定義 values 安裝 GPU Operator(可選,離線或是自定義配置時使用)

正確執(zhí)行輸出結(jié)果如下:

4.4 命令行檢查 GPU Operator 部署狀態(tài)

執(zhí)行安裝 GPU Operator 的命令后請耐心等待所有鏡像成功拉取,所有 Pod 都處于 Running 狀態(tài)。

1.命令行檢查 pods 狀態(tài)

查看節(jié)點可分配的 GPU 資源

?

說明:重點關(guān)注nvidia.gpu:字段的值。

4.5 KubeSphere 控制臺查看 GPU Operator 部署狀態(tài)

創(chuàng)建成功的工作負載如下:

Deployments

Daemonsets

5. GPU 功能驗證測試

5.1 測試示例 1-驗證測試 CUDA

GPU Operator 正確安裝完成后,使用 CUDA 基礎(chǔ)鏡像,測試 K8s 是否能正確創(chuàng)建使用 GPU 資源的 Pod。

1.創(chuàng)建資源清單文件,vi cuda-ubuntu.yaml

2.創(chuàng)建資源

3.查看創(chuàng)建的資源

從結(jié)果中可以看到 pod 創(chuàng)建在了 ksp-gpu-worker-2 節(jié)點(該節(jié)點顯卡型號 Tesla P100-PCIE-16GB)。

4.查看 Pod 日志

正確執(zhí)行輸出結(jié)果如下:

5.清理測試資源

5.2 測試示例 2-官方 GPU Applications 示例

執(zhí)行一個簡單的 CUDA 示例,用于將兩個向量(vectors)相加。

1.創(chuàng)建資源清單文件,vi cuda-vectoradd.yaml

2.執(zhí)行命令創(chuàng)建Pod

3.查看 Pod 執(zhí)行結(jié)果

Pod 創(chuàng)建成功,啟動后會運行vectorAdd命令并退出。

正確執(zhí)行輸出結(jié)果如下:

4.清理測試資源

6. KubeSphere 部署 Ollama

通過上面的驗證測試,證明可以在 K8s 集群上創(chuàng)建使用 GPU 的 Pod 資源,接下來我們結(jié)合實際使用需求,利用 KubeSphere 在 K8s 集群創(chuàng)建一套大模型管理工具 Ollama。

6.1 創(chuàng)建部署資源清單

本示例屬于簡單測試,存儲選擇了hostPath模式,實際使用中請?zhí)鎿Q為存儲類或是其他類型的持久化存儲。

1.創(chuàng)建資源清單,vi deploy-ollama.yaml

?

特殊說明:KubeSphere 的管理控制臺支持圖形化配置 Deployment 等資源使用 GPU 資源,配置示例如下,感興趣的朋友可以自行研究。

6.2 部署 Ollama 服務(wù)

創(chuàng)建 Ollama

查看 Pod 創(chuàng)建結(jié)果

從結(jié)果中可以看到 pod 創(chuàng)建在了 ksp-gpu-worker-1 節(jié)點(該節(jié)點顯卡型號 Tesla M40 24GB)。

查看容器 log

6.3 拉取 Ollama 使用的大模型

Ollama 拉取模型

本示例為了節(jié)省時間,采用阿里開源的 qwen2 1.5b 小尺寸模型作為測試模型。

正確執(zhí)行輸出結(jié)果如下:

查看模型文件的內(nèi)容

在ksp-gpu-worker-1節(jié)點執(zhí)行下面的查看命令

6.4 模型能力測試

調(diào)用接口測試

測試結(jié)果

6.5 查看 GPU 分配信息

查看 Worker 節(jié)點已分配的 GPU 資源

Ollama 運行時物理 GPU 使用情況

在 Worker 節(jié)點上執(zhí)行nvidia-smi -l觀察 GPU 的使用情況。

7. 自動化工具

文章中所有操作步驟,已全部編排為自動化腳本,包含以下內(nèi)容(因篇幅限制,不在此文檔中展示):

NVIDIA GPU Operator 離線部署配置文件

Ansible 自動化配置 GPU 節(jié)點

Ansible 自動化配置 K8s 集群節(jié)點

相關(guān)文章

人工智能企業(yè)

更多>>

人工智能硬件

更多>>

人工智能產(chǎn)業(yè)

更多>>

人工智能技術(shù)

更多>>
AI云資訊(愛云資訊)立足人工智能科技,打造有深度、有前瞻、有影響力的泛科技媒體平臺。
合作QQ:1211461360微信號:icloudnews