2022-04-26-CCE部署label-studio

下載鏡像

無docker環(huán)境下載dockerhub鏡像神器:https://github.com/NotGlop/docker-drag
執(zhí)行以下命令,等待鏡像下載成功:

(python36) λ python docker_pull.py heartexlabs/label-studio:latest
Creating image structure in: tmp_label-studio_latest
e0b25ef51634: Pull complete [28566292]
702cc8b0adfe: Pull complete [108]
d91b7f982fe1: Pull complete [204121976]
ee20c0e6fb44: Pull complete [196]
74bece47633d: Pull complete [4991356]
c991bd470a7e: Pull complete [790]
081b73192926: Pull complete [108507390]
9ee52cdf9d74: Pull complete [16544265]
9d3a73b090cc: Pull complete [8223]
205e14f8e69f: Pull complete [172]
df2d0b18cb3a: Pull complete [7362275]
085c492e76d4: Pull complete [21058465]
Docker image pulled: heartexlabs_label-studio.tar

上傳SWR

前提條件:準備一臺計算機,要求安裝的容器引擎版本必須為1.11.2及以上

操作步驟:
Step 1. 以root用戶登錄容器引擎所在的虛擬機
Step 2. 上傳鏡像壓縮包到虛擬機
Step 3. 執(zhí)行以下命令加載鏡像壓縮包,等待鏡像加載完成

λ docker load -i heartexlabs_label-studio.tar 
c5ec52c98b31: Loading layer [==================================================>]  75.14MB/75.14MB
71d1ffdc1226: Loading layer [==================================================>]  1.536kB/1.536kB
2cee64127f27: Loading layer [==================================================>]    576MB/576MB
1e98066136b8: Loading layer [==================================================>]   2.56kB/2.56kB
179b4476cc27: Loading layer [==================================================>]  16.01MB/16.01MB
c8948c5c948f: Loading layer [==================================================>]  3.584kB/3.584kB
8a6b1e27a6a6: Loading layer [==================================================>]  452.2MB/452.2MB
9de36f8e252e: Loading layer [==================================================>]  41.05MB/41.05MB
4433ef6618fe: Loading layer [==================================================>]  40.96kB/40.96kB
041f9091862b: Loading layer [==================================================>]   2.56kB/2.56kB
3b1566e05418: Loading layer [==================================================>]  27.02MB/27.02MB
edcd410d12a1: Loading layer [==================================================>]  37.49MB/37.49MB
Loaded image: heartexlabs/label-studio:latest

Step 4. 獲取SWR登錄訪問指令,并復制到節(jié)點上執(zhí)行
生成臨時登錄指令 或查看 如何獲取長期有效登錄指令 。

Step 5. 執(zhí)行以下命令上傳鏡像至SWR

λ sudo docker tag  heartexlabs/label-studio:latest swr.cn-east-3.myhuaweicloud.com/modelarts-idm/label-studio:v1
λ sudo docker push swr.cn-east-3.myhuaweicloud.com/modelarts-idm/label-studio:v1

# sudo docker tag [{鏡像名稱}:{版本名稱}] swr.cn-east-3.myhuaweicloud.com/{組織名稱}/{鏡像名稱}:{版本名稱}
# sudo docker push swr.cn-east-3.myhuaweicloud.com/{組織名稱}/{鏡像名稱}:{版本名稱}

CCE部署鏡像

前提條件:
準備一個CCE集群

操作步驟:
Step 1. 使用鏡像創(chuàng)建無狀態(tài)工作負載

  • 基本信息:指定實例數(shù)量:1
  • 容器配置:選擇剛上傳的SWR鏡像:label-studio:v1,選擇總是拉取鏡像

Step 2. 綁定ELB+EIP

  • 選擇剛創(chuàng)建的工作負載,配置訪問方式
  • 創(chuàng)建負載均衡,服務(wù)親和—集群級別,負載均衡器—共享型,端口配置—服務(wù)端口:443(支持自定義) + 容器端口:8080(label-studio啟動時默認綁定8080端口)
  • 負載均衡器綁定EIP

Step 3. 數(shù)據(jù)持久化—掛載OBS對象存儲

  • 選擇剛創(chuàng)建的工作負載,配置容器管理—數(shù)據(jù)存儲—存儲卷聲明PVC:添加存儲卷聲明

公網(wǎng)訪問

https://{EIP地址}:443/

數(shù)據(jù)持久化

掛載持久化數(shù)據(jù)卷

Step 1. 選擇對應(yīng)CCE集群—容器存儲——創(chuàng)建存儲卷聲明:SC名稱—obs-standard。
Step 2. 選擇label-studio對應(yīng)的工作負載—容器管理—數(shù)據(jù)存儲—存儲卷聲明PVC:綁定剛創(chuàng)建的PVC:對應(yīng)的掛載路徑為:/label-studio/data
Step 3. 等待實例重新部署完成,登錄labelstudio,創(chuàng)建項目。然后刪除示例重新部署,label-studio中數(shù)據(jù)還在,表示持久化成功。

掛載PG數(shù)據(jù)庫

Step 1. 下載pg數(shù)據(jù)庫鏡像,并上傳至SWR,方法參考本章第一節(jié)

λ docker pull postgres

Step 2. 選擇PG鏡像部署工作負載:

  • 設(shè)置環(huán)境變量:POSTGRES_PASSWORD={pwd}
  • 設(shè)置數(shù)據(jù)存儲:建議掛載數(shù)據(jù)盤,此處實驗僅掛載本地存儲,掛載路徑
    /postgres->/var/lib/postgresql/data

Step 3. label-studio配置PG數(shù)據(jù)庫,選擇label-studio實例—容器管理—環(huán)境變量:

  • DJANGO_DB default
  • POSTGRE_NAME postgres
  • POSTGRE_USER postgres
  • POSTGRE_PASSWORD {pwd}
  • POSTGRE_PORT 5432 (pg默認端口)
  • POSTGRE_HOST 10.0.0.72 (對應(yīng)數(shù)據(jù)庫實例IP)

Step 4. 等待實例重新部署完成,登錄labelstudio,創(chuàng)建項目。然后刪除示例重新部署,label-studio中數(shù)據(jù)還在,表示持久化成功。

問題及解決方案

  • 問題1. 工作負載綁定ELB時,ELB未自動添加后端服務(wù)器組,導致公網(wǎng)訪問失敗。
    解決:手動給ELB設(shè)置后端服務(wù)器組,添加云服務(wù)器,選擇工作負載實例所在的節(jié)點(進入工作負載,查看實例列表,獲取所在節(jié)點IP)和后端端口(進入集群—服務(wù)發(fā)現(xiàn),選擇對應(yīng)的負載均衡,點擊右側(cè)更多—查看YAML,獲取nodePort)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容