久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何在Kubernetes上構建機器學習系統

220次閱讀
沒有評論

共計 3486 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章主要介紹“如何在 Kubernetes 上構建機器學習系統”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何在 Kubernetes 上構建機器學習系統”文章能幫助大家解決問題。

什么是 Kubeflow Pipelines

Kubeflow Pipelines 平臺包括:

能夠運行和追蹤實驗的管理控制臺

能夠執行多個機器學習步驟的工作流引擎(Argo)

用來自定義工作流的 SDK,目前只支持 Python

而 Kubeflow Pipelines 的目標在于:

端到端的任務編排: 支持編排和組織復雜的機器學習工作流,該工作流可以被直接觸發,定時觸發,也可以由事件觸發,甚至可以實現由數據的變化觸發;

簡單的實驗管理: 幫助數據科學家嘗試眾多的想法和框架,以及管理各種試驗。并實現從實驗到生產的輕松過渡;

通過組件化方便重用: 通過重用 Pipelines 和組件快速創建端到端解決方案,無需每次從 0 開始的重新構建。

在阿里云上運行 Kubeflow Pipelines

看到 Kubeflow Piplines 的能力,大家是不是都摩拳擦掌,想一睹為快?但是目前國內想使用 Kubeflow Pipeline 有兩個挑戰:

Pipelines 需要通過 Kubeflow 部署;而 Kubeflow 默認組件過多,同時通過 Ksonnet 部署 Kubeflow 也是很復雜的事情;

Pipelines 本身和谷歌云平臺有深度耦合,無法運行在其他云平臺上或者裸金屬服務器的環境。

為了方便國內的用戶安裝 Kubeflow Pipelines,阿里云容器服務團隊提供了基于 Kustomize 的 Kubeflow Pipelines 部署方案。和普通的 Kubeflow 基礎服務不同,Kubeflow Pipelines 需要依賴于 mysql 和 minio 這些有狀態服務,也就需要考慮如何持久化和備份數據。在本例子中,我們借助阿里云 SSD 云盤作為數據持久化的方案,分別自動的為 mysql 和 minio 創建 SSD 云盤。br / 您可以在阿里云上嘗試一下單獨部署最新版本 Kubeflow Pipelines。

前提條件

您需要安裝  kustomize

在 Linux 和 Mac OS 環境,可以執行

opsys=linux # or darwin, or windows
curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\
 grep browser_download |\
 grep $opsys |\
 cut -d   -f 4 |\
 xargs curl -O -L
mv kustomize_*_${opsys}_amd64 /usr/bin/kustomize
chmod u+x /usr/bin/kustomize

在 Windows 環境,可以下載  kustomize_2.0.3_windows_amd64.exe

在阿里云容器服務創建 Kubernetes 集群, 可以參考   文檔

部署過程

通過 ssh 訪問 Kubernetes 集群,具體方式可以參考文檔

下載源代碼

yum install -y git
git clone --recursive https://github.com/aliyunContainerService/kubeflow-aliyun

安全配置

3.1 配置 TLS 證書。如果沒有 TLS 證書,可以通過下列命令生成

yum install -y openssl
domain= pipelines.kubeflow.org 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout kubeflow-aliyun/overlays/ack-auto-clouddisk/tls.key -out kubeflow-aliyun/overlays/ack-auto-clouddisk/tls.crt -subj  /CN=$domain/O=$domain

如果您有 TLS 證書,請分別將私鑰和證書保存到 kubeflow-aliyun/overlays/ack-auto-clouddisk/tls.key 和 kubeflow-aliyun/overlays/ack-auto-clouddisk/tls.crt 下

3.2 配置 admin 的登錄密碼

yum install -y httpd-tools
htpasswd -c kubeflow-aliyun/overlays/ack-auto-clouddisk/auth admin
New password:
Re-type new password:
Adding password for user admin

首先利用 kustomize 生成部署 yaml

cd kubeflow-aliyun/
kustomize build overlays/ack-auto-clouddisk   /tmp/ack-auto-clouddisk.yaml

查看所在的 Kubernetes 集群節點所在的地域和可用區, 并且根據其所在節點替換可用區,假設您的集群所在可用區為  cn-hangzhou-g, 可以執行下列命令

sed -i.bak  s/regionid: cn-beijing/regionid: cn-hangzhou/g  \
 /tmp/ack-auto-clouddisk.yaml
sed -i.bak  s/zoneid: cn-beijing-e/zoneid: cn-hangzhou-g/g  \
 /tmp/ack-auto-clouddisk.yaml

建議您檢查一下 /tmp/ack-auto-clouddisk.yaml 修改是否已經設置

將容器鏡像地址由  gcr.io  替換為  registry.aliyuncs.com

sed -i.bak  s/gcr.io/registry.aliyuncs.com/g  \
 /tmp/ack-auto-clouddisk.yaml

建議您檢查一下 /tmp/ack-auto-clouddisk.yaml 修改是否已經設置

調整使用磁盤空間大小, 比如需要調整磁盤空間為 200G

sed -i.bak  s/storage: 100Gi/storage: 200Gi/g  \
 /tmp/ack-auto-clouddisk.yaml

驗證 pipelines 的 yaml 文件

kubectl create --validate=true --dry-run=true -f /tmp/ack-auto-clouddisk.yaml

利用 kubectl 部署 pipelines

kubectl create -f /tmp/ack-auto-clouddisk.yaml

查看訪問 pipelines 的方式,我們通過 ingress 暴露 pipelines 服務,在本例子中,訪問 IP 是 112.124.193.271。而 Pipelines 管理控制臺的鏈接是: https://112.124.193.271/pipeline/

kubectl get ing -n kubeflow
NAME HOSTS ADDRESS PORTS AGE
ml-pipeline-ui * 112.124.193.271 80, 443 11m

訪問 pipelines 管理控制臺

如果使用自簽發證書,會提示此鏈接非私人鏈接,請點擊顯示詳細信息,并點擊訪問此網站。請輸入步驟 2.2 中的用戶名 admin 和設定的密碼。 

這時就可以使用 pipelines 管理和運行訓練任務了。

Q A

為什么這里要使用阿里云的 SSD 云盤?

這是由于阿里云的 SSD 云盤可以設置定期的自動備份,保證 pipelines 中的元數據不會丟失。

如何進行云盤備份?

如果您想備份云盤的內容,可以為云盤   手動創建快照   或者   為硬盤設置自動快照策略   按時自動創建快照。

如何清理 Kubeflow Piplines 部署?

這里的清理工作分為兩個部分:

刪除 Kubeflow Pipelines 的組件

kubectl delete -f /tmp/ack-auto-clouddisk.yaml

通過釋放云盤分別釋放 mysql 和 minio 存儲對應的兩個云盤

關于“如何在 Kubernetes 上構建機器學習系統”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計3486字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 内丘县| 阿拉善左旗| 金堂县| 木兰县| 阿图什市| 仲巴县| 青川县| 杂多县| 宿松县| 泸州市| 东源县| 保康县| 泰州市| 兴城市| 泗洪县| 刚察县| 黄冈市| 望江县| 毕节市| 金乡县| 六盘水市| 京山县| 顺平县| 浦北县| 红桥区| 郑州市| 张北县| 林口县| 简阳市| 大石桥市| 南部县| 通渭县| 静乐县| 休宁县| 阿巴嘎旗| 高安市| 保山市| 商水县| 木兰县| 大同市| 四川省|