使用場景
本文介紹ECI命令行客戶端(ECI-Client)的使用場景。
背景信息
對于需要構(gòu)建集群服務(wù)的用戶而言,推薦您通過ACK集群或ACK Serverless集群來使用ECI,這能充分發(fā)揮ECI的優(yōu)勢。但如果您的業(yè)務(wù)規(guī)模較小,或者您只需要部署幾個單機(jī)應(yīng)用,則通過ECI-Client可以更加便捷地使用ECI。
ECI-Client提供了與Docker相同的語法來管理ECI實例,如果您熟悉Docker命令行,則可以快速上手使用ECI,本文介紹幾個典型的使用場景。
測試容器應(yīng)用
如果您正在基于ECI開發(fā)自己的應(yīng)用,那您可能需要頻繁地部署ECI實例,以便驗證應(yīng)用是否符合預(yù)期。此時,使用ECI-Client來部署ECI實例,可以更加方便快捷。
假設(shè)構(gòu)建了一個鏡像centos:8.1.1911
,并已經(jīng)上傳到了Docker Hub的鏡像倉庫中,此時,如果要測試它是否按預(yù)期工作,在ECI-Client中執(zhí)行以下命令,即可快速部署ECI實例。
eci run -w 5 centos:8.1.1911 sleep 3600
ECI實例啟動完成后,可以通過exec
命令登錄到實例容器中。假設(shè)實例ID為eci-uf60grb03kz2nlm2****
,則命令如下:
eci exec -ti eci-uf60grb03kz2nlm2**** bash
訓(xùn)練簡易模型
以下示例中,準(zhǔn)備了一個示例鏡像,它內(nèi)部包含了一個Python程序,容器啟動后,該程序會從網(wǎng)上下載一些數(shù)據(jù),然后使用TensorFlow來訓(xùn)練這些數(shù)據(jù),訓(xùn)練后的數(shù)據(jù)保存在/tmp/imagenet
。
eci run --name test-tensor \
--type ecs.gn6i-c4g1.xlarge \
--gpu 1 \
-w 5 \
--volume /tmp/imagenet \
registry.cn-hangzhou.aliyuncs.com/eci_open/tensorflow:1.0 \
python /home/classify_image/classify_image.py
由于TensorFlow程序會依賴GPU,因此需要通過
--type
選項為ECI實例指定一個ECS GPU規(guī)格,--gpu
用于為實例中的容器分配GPU,--volume
用于掛載一個云盤到實例中,用于保存訓(xùn)練后的結(jié)果數(shù)據(jù)。該鏡像較大,ECI需要一定的時間來下載鏡像。您可以通過
eci ps
命令查看實例ID、名稱和運行狀態(tài)等。
等待ECI實例啟動成功后,可以通過eci logs
命令查看程序的日志輸出,假設(shè)實例ID為eci-uf60grb03kz2nlm2****
,則命令如下:
eci logs eci-uf60grb03kz2nlm2****
部署個人網(wǎng)站
以下示例使用ECI-Client部署一個WordPress網(wǎng)站,該網(wǎng)站依賴一個MySQL數(shù)據(jù)庫。示例鏡像來源于DockerHub官網(wǎng)鏡像倉庫:
WordPress:wordpress:4.9.8-php5.6-apache
MySQL:mysql:5.7
部署MySQL數(shù)據(jù)庫,并指定根用戶密碼。
eci run -w 5 --name mysql -e MYSQL_ROOT_PASSWORD=passwd*** -tid mysql:5.7
命令執(zhí)行成功后會輸出實例ID。您可以通過
eci ps
命令檢查實例狀態(tài),直至實例狀態(tài)變?yōu)镽unning,則表示部署成功。返回示例如下:CG_ID FIRST_IMAGE COMMAND CREATED STATUS PUBLIC_IP NAME eci-2zecsa60voctfzr2**** mysql:5.7 2023-02-17T16:33:22+08:00 Running 101.200.XX.XX mysql
獲取數(shù)據(jù)庫的內(nèi)網(wǎng)IP地址。
以下使用
jq
命令,如果本地沒有jq
命令,請先安裝。eci inspect eci-2zecsa60voctfzr2**** | jq -r .ContainerGroups[0].IntranetIp
預(yù)期返回:
172.16.XX.XX
部署WordPress。
部署時,可以通過環(huán)境變量
-e
傳入數(shù)據(jù)庫地址、用戶名和密碼,通過-w
為網(wǎng)站分配一個公網(wǎng)IP并指定帶寬為5 MB。eci run --name wordpress \ -e WORDPRESS_DB_HOST=172.16.XX.XX \ -e WORDPRESS_DB_USER=root \ -e WORDPRESS_DB_PASSWORD=passwd*** \ -w 5 \ -tid wordpress:4.9.8-php5.6-apache
命令執(zhí)行成功后會輸出實例ID。您可以通過
eci ps
命令檢查實例狀態(tài),直至實例狀態(tài)變?yōu)镽unning,則表示部署成功。返回示例如下:CG_ID FIRST_IMAGE COMMAND CREATED STATUS PUBLIC_IP NAME eci-2zeedp8bxor356b7**** wordpress:4.9.8-php5.6-apache 2023-02-17T16:39:51+08:00 Running 101.200.XX.XX wordpress eci-2zecsa60voctfzr2**** mysql:5.7 2023-02-17T16:33:22+08:00 Running 101.200.XX.XX mysql
此時可以看到WordPress實例的公網(wǎng)IP,本示例中為
101.200.XX.XX
。在瀏覽器中輸入http://100.100.XX.XX
即可訪問WordPress。