您可以使用eascmd管理PAI-EAS服务。本文为您介绍如何使用eascmd客户端上传文件、创建服务、修改服务配置信息、切换服务版本、删除服务、查看服务列表、查看服务详细信息、查看服务进程及配置资源组网络的相关命令。
操作命令合集
类型 | 功能 | 操作入口 |
---|---|---|
服务相关 | 支持以下两种方式使用eascmd命令行工具:
| |
资源组相关 |
上传文件
- 功能
PAI-EAS为每位用户提供了OSS仓库,通过eascmd的
upload
命令,您可以直接上传模型或Processor,并获取上传后的OSS地址。 - 格式
eascmd upload <filename> [--keep]
- 参数
- <filename>:待上传的文件名称。
- [--keep]:保留源文件的目录结构。
- 示例在PAI-DSW内,将打包好的SavedModel模型文件savedmodel_example/savedmodel_example.tar.gz上传至OSS。
系统输出如下类似结果。eascmd upload savedmodel_example/savedmodel_example.tar.gz --keep
其中[OK] oss endpoint: [http://oss-cn-shanghai.aliyuncs.com] [OK] oss target path: [oss://eas-model-shanghai/182848887922****/savedmodel_example/savedmodel_example.tar.gz] Succeed: Total num: 1, size: 33,013. OK num: 1(upload 1 files).
oss://eas-model-shanghai/182848887922****/savedmodel_example/savedmodel_example.tar.gz
为存储模型的OSS地址,可以用于服务部署。
创建服务
- 功能
通过
create
命令创建服务。创建服务时,需要提供资源(模型或Processor)的HTTP或OSS地址,您可以将资源上传至OSS,并获取上传后的OSS地址。 - 命令
eascmd create <service_desc_json>
- 参数service_desc_json表示描述服务相关信息(模型存储位置及资源规格等)的JSON文件,该文件的示例如下。
服务相关信息JSON文件内的参数说明,详情请参见服务模型所有相关参数说明。{ "name": "mnist_saved_model_example", "model_path": "http://eas-data.oss-cn-shanghai.aliyuncs.com/models%2Fmnist_saved_model.tar.gz", "processor": "tensorflow_cpu_1.12", "metadata": { "instance": 1, "cpu": 1 } }
- 示例(假设描述服务相关信息的JSON文件为pmml.json)
系统输出如下类似结果。eascmd create pmml.json
[RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD**** +-------------------+----------------------------------------------------------------------------+ | Intranet Endpoint | http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/savedmodel_exanple | | Token | YjQxZDYzZTBiZTZjMzQ5ZmE0MzczZjIxMGZiNzZmMDBkY2VjMDg4**** | +-------------------+----------------------------------------------------------------------------+ [OK] Creating api gateway [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_cn-shanghai:v0.0.1-20190224001315] [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_cn-shanghai:v0.0.1-20190224001315] [OK] Waiting [Total: 1, Pending: 1, Running: 0] [OK] Waiting [Total: 1, Pending: 1, Running: 0] [OK] Service is running
修改配置
- 功能
对于Instnace和CPU等metadata信息,可以直接使用
modify
命令的-D
参数进行修改。 - 命令
支持同时配置多个参数,详情请参见示例。eascmd modify <service_name> -Dmetadata.<attr_name>=<attr_value>
- 参数
- <service_name>:服务名称。
- <attr_name>:参数名称。
- <attr_value>:参数取值。
- 示例将Instance数量配置为10,且每个Instance中的Quota数量为5(5核+20 GB)。
扩缩容时,可以只修改服务的metadata.instance参数。如果指定的Instance数量大于服务当前的Instance数量,则系统启动新的Instance,以达到要求的Instance数量,原有实例的运行不受影响。如果指定的Instance数量小于当前Instance数量,则系统停止部分Instance,以达到要求的Instance数量,其他实例的运行不受影响。eascmd modify service_test -Dmetadata.instance=10 -Dmetadata.cpu=5
说明 只修改Instance的更新操作与全量更新不同,前者不会触发服务的滚动更新。
修改服务配置
- 功能
通过
modify
命令可以对已部署的服务进行配置修改。 - 命令
eascmd modify <service_name> -s <service_desc_json>
- 参数
- <service_name>:服务名称。
- <service_desc_json>:服务描述文件。说明 在服务描述文件中,仅写需要修改的参数即可,其他不必要参数不写。如果写了模型文件信息及processor信息,则会被认定为增加一个新的服务版本。
增加服务版本
- 功能
通过
modify
命令可以对已部署的服务增加服务版本。 - 命令
eascmd modify <service_name> -s <service_desc_json>
- 参数
- <service_name>:服务名称。
- <service_desc_json>:服务描述文件。说明 需要在服务描述文件中指定模型文件信息及processor信息。
停止服务
- 功能
通过
stop
命令可以停止一个运行中的服务。 - 命令
eascmd stop <service_name>
- 参数
<service_name>表示待停止的服务名称。
启动服务
- 功能
通过
start
命令可以重新启动一个已停止的服务。 - 命令
eascmd start <service_name>
- 参数
<service_name>表示待启动的服务名称。
删除服务
- 功能
通过
delete
命令可以删除服务,但是只能删除当前地域的服务。 - 命令
eascmd delete <service_name>
- 参数
<service_name>表示待删除的服务名称。
- 示例假设服务名称为savedmodel_exanple,删除该服务的步骤如下:
- 执行删除服务的命令。
系统输出如下类似结果。eascmd delete savedmodel_exanple
Are you sure to delete the service [savedmodel_exanple] in [cn-shanghai]? [Y/n]
- 输入Y。系统输出如下类似结果。
[RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD**** [OK] Service [savedmodel_exanple] in region [cn-shanghai] is terminating [OK] Service is terminating [OK] Service is terminating [OK] Service was deleted successfully
- 执行删除服务的命令。
蓝绿发布
- 功能
通过
create -r
命令可以对一个已存在的服务创建一个关联服务,再使用release
命令根据需求随时切换流量比例,从而进行蓝绿发布。新服务的信息描述JSON文件中的name必须与旧服务同名,其它字段根据需求自由配置。系统会自动在旧服务名基础上增加随机后缀,从而得到新服务名。如果删除新服务,则流量会全部切换至旧服务。如果删除旧服务,则全部流量切换至新服务。蓝绿发布之前,最原始服务的Endpoint会成为后续发布迭代的流量入口,无论后续在这个基础上进行多少次蓝绿发布迭代,该入口的Endpoint始终保持不变(例如下面示例中的{domain}/api/predict/savedmodel_example),您无须修改客户端调用代码。说明 蓝绿发布不适用于网络直连访问的方式。 - 命令
- 创建关联服务
eascmd create <service_desc_json> -r
- 对蓝绿服务进行切流。
eascmd release <service_name> -w <weight>
- 创建关联服务
- 参数
- <service_desc_json>:服务信息描述的JSON文件。
- <service_name>:创建的新服务名称。
- <weight>:新服务承载的流量百分比。
- 示例(假设服务信息描述文件为pmml.json)
- 创建关联服务
系统输出以下类似信息。eascmd create pmml.json -r
上述输出表示创建了一个名为savedmodel_example_9c16a222的服务,且两个服务分别有独立的流量入口,可以被单独调用。您对新服务可以进行独立测试,不会影响已有服务的线上运行,测试完成后,可以对服务进行切流操作。[RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD**** +-------------------+----------------------------------------------------------------------------+ | Intranet Endpoint | http://xxx.cn-shanghai.pai-eas.aliyuncs.com/api/predict/savedmodel_example_9c16a222 | | Token | YjQxZDYzZTBiZTZjMzQ5ZmE0MzczZjIxMGZiNzZmMDBkY2VjMDg4**** | +-------------------+----------------------------------------------------------------------------+ [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_9c16a222_cn-shanghai:v0.0.1-20190224001315] [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_9c16a222_cn-shanghai:v0.0.1-20190224001315] [OK] Waiting [Total: 1, Pending: 1, Running: 0] [OK] Waiting [Total: 1, Pending: 1, Running: 0] [OK] Service is running
- 对蓝绿服务进行流量切换。
eascmd release savedmodel_example_9c16a222 -w 20
上述命令表示切换20%的流量到新服务savedmodel_example_9c16a222,其余80%的流量在旧服务savedmodel_example上。此时,新服务的独立访问Endpoint({domain}/api/predict/savedmodel_example_9c16a222)关闭,旧服务Endpoint({domain}/api/predict/savedmodel_example)流量的20%会进入新服务,80%进入旧服务。
系统输出如下类似结果。Confirmed to release this service at weight [20%]? [Y/n]
- 输入Y,并单击Enter键,系统输出如下类似结果。
[RequestId]: 9258EEDE-6F99-4C3B-841B-B6E9774F**** [OK] Service [savedmodel_example_9c16a222] is weighted to 20% now
- 创建关联服务
切换版本
- 功能
您可以先通过
desc
命令查看服务的最新版本和当前版本,再通过version
命令切换服务至最新版本之前的任意版本。 - 命令
eascmd version <service_name> <version_id>
- 参数
- <service_name>:服务名称。
- <version_id>:待切换服务的版本ID。
查看服务列表
- 功能
使用
list
(或缩写ls
)命令可以查看当前用户已部署的服务列表。 - 命令
eascmd ls
- 参数
无
- 示例
系统输出如下类似结果。eascmd ls
[RequestId]: 83945D4E-ED3E-4D35-A989-831E36BB**** +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+ | SERVICENAME | REGION | INSTANCE | CREATETIME | UPDATETIME | STATUS | WEIGHT | SERVICEPATH | +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+ | mnist_saved_model_example | cn-shanghai | 1 | 2019-02-21 16:35:41 | 2019-02-21 16:35:41 | Running | 0 | /api/predict/mnist_saved_model_example | +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+
查看服务信息
- 功能
通过
desc
命令可以查看已部署服务的详情信息。 - 命令
eascmd desc <service_name>
- 参数
<service_name>表示服务名称。
- 示例
系统输出如下类似结果。eascmd desc mnist_saved_model_example
$ eascmd desc mnist_saved_model_example +---------------------+--------------------------------------------------------------------------------------------------------------+ | Status | Running | | ServiceName | mnist_saved_model_example | | Region | cn-shanghai | | CreateTime | 2019-02-21 16:35:41 | | UpdateTime | 2019-02-21 16:35:41 | | AccessToken | | | PrivateToken | ZWNjMTNkNDExMmExNjZkYTM4YWQ5YTY0YmFjNjk3YWYzZTRjM2Y2**** | | TotalInstance | 1 | | RunningInstance | 1 | | PendingInstance | 0 | | CPU | 1 | | GPU | 0 | | Memory | 1000M | | Image | registry-vpc.cn-shanghai.aliyuncs.com/eas/mnist_saved_model_example_cn-shanghai:v0.0.1-20190221163541 | | Weight | 0 | | LatestVersion | 1 | | CurrentVersion | 1 | | Message | Service start successfully | | APIGatewayUrl | 1c3b37ea83c047efa0dc6df0cacb****-cn-shanghai.alicloudapi.com/EAPI_182848887922****_mnist_saved_model_example | | APIGatewayAppKey | 2564**** | | APIGatewayAppSecret | 12562a7b8858bbba2c2e9c4517ff**** | | IntranetEndpoint | http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/mnist_saved_model_example | | ServiceConfig | { | | | "generate_token": "false", | | | "metadata": { | | | "cpu": 1, | | | "instance": 1, | | | | "region": "cn-shanghai" | | | }, | | | "model_path": | | | "http://eas-data.oss-cn-shanghai.aliyuncs.com/models%2Fmnist_saved_model.tar.gz", | | | "name": | | | "mnist_saved_model_example", | | | "processor": | | | "tensorflow_cpu" | | | } | +---------------------+--------------------------------------------------------------------------------------------------------------+
查看服务进程
- 功能
通过
showworkers(w)
(或缩写w
)命令可以查看服务正在运行的进程状态。 - 命令
eascmd w <service_name>
- 参数
<service_name>表示服务名称。
- 示例
系统输出如下类似结果。eascmd w mnist_saved_model_example
返回结果中的参数解释如下表所示。[RequestId]: B23BA8AC-CDEC-5704-935F-3CEC6606**** +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+ | INSTANCENAME | INNERIP | HOSTIP | STARTAT | RESTARTS | STATUS | READY | REASON | LASTSTATE | +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+ | network-test-69cf5dd6c7-5**** | 10.240.XX.XX | 10.224.XX.XX | 2021-09-27 15:04:22 | 1 | Running | [1/1] | | {"exitCode":247,"finishedAt":"2021-09-27T07:04:21Z","reason":"Error","startedAt":"2021-09-27T05:36:56Z"} | +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+
参数 描述 INSTANCENAME 服务实例的名称。 INNERIP 实例的内网IP。 HOSTIP 实例所在的节点IP。 STARTAT 实例的启动时间。 RESTARTS 实例的重启次数。实例每次发生OOM或代码Crash均会自动重启,RESTARTS取值会加1。 STATUS 实例的当前状态。其中Pending时表示在等待资源调度,长时间处于Pending状态表示资源不足,实例无法调度。 READY 实例中的容器状态,格式为 [当前就绪的容器数/当前实例中所有的容器数]
。当READY为[0/1]时,表示容器正在启动或容器异常健康检查不通过,此时流量不会进入该实例中。
当一个服务中的所有实例Ready均为[0/1]时,表示整个服务不可用,请求服务时会返回
5xx
。REASON 实例状态的简单描述。 LASTSTATE 实例上次重启的状态。LASTSTATE中reason为OOMKIlled时,表示实例发生了OOM。
创建压测任务
- 功能
通过
bench create
命令对已部署的服务创建压测任务。 - 命令
eascmd bench create <bench_desc_json>
- 参数bench_desc_json表示压测任务相关信息的JSON文件,该文件的示例如下。
您可以通过path指定多个OSS文件作为压测数据,配置示例如下。如需批量配置多条压测数据,可以直接将多个请求数据打包成zip包,通过oss://XX.zip对path进行配置。{ "service": { "serviceName": "servicename_example" }, "data": { "content": "W1sxLDAsMCwwLDEsMSwwLDEsMCwxLDEsMCwwLDEsMCwxLDAsMSwwLDAsMSwxLDEsMCwxLDEsMCwwLDAsMSwxLDEsMCwxLDEsMSwxLDAsMSwxLDEsMCwxLDAsMCwwLDEsMSwwLDAsMCwxLDAsMSwwLDEsMCwwLDEsMCwwLDEsMCwxLDAsMCwxLDAsMCwwLDAsMSwwLDEsMCwxLDAsMCwxLDEsMSwwLDAsMSwwLDAsMCwwLDEsMSwxLDAsMSwxLDAsMCwxLDAsMSwwLDEsMSwxLDEsMCwxLDAsMCwxLDEsMSwxLDAsMCwwLDEsMSwwXV0K" } }
JSON文件的相关参数说明,详情请参见创建压测任务。{ "service": { "serviceName": "servicename_example" }, "data": { "path": "oss://examplebucket/test1.bin,oss://examplebucket/test2.bin" } }
- 示例(假设描述压测任务相关信息的JSON文件为bench.json)
系统输出如下类似结果。eascmd bench create bench.json
[RequestId]: DE240637-4976-59AF-A28C-BAA55C0A**** [OK] Task [benchmark-servicename-example-b514] is creating [OK] [Agnet: 0/1]: Succeed to start benchmark master [OK] [Agnet: 0/1]: Succeed to start benchmark master [OK] [Agnet: 1/1]: Benchmark task is Running [OK] Benchmark task is Running [OK] Click the link http://127.0.0.1:18222/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C. Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command: eascmd -c [config_file] bench visualize benchmark-servicename-example-b514
管理压测任务
查看压测任务列表
- 功能
通过
bench list
(或缩写bench ls
)命令查看当前用户创建的压测任务列表。 - 命令
eascmd bench ls
- 参数
无
- 示例
系统输出如下类似结果。eascmd bench ls
[RequestId]: 7F953F8E-8897-5785-808A-CA648302**** +-------------------------+--------------------------+-------------+----------------+---------+---------------------+ | TASKNAME | TASKID | REGION | AVAILABLEAGENT | STATUS | CREATETIME | +-------------------------+--------------------------+-------------+----------------+---------+---------------------+ | benchmark-xgb-test-7846 | eas-b-ql470xog6qeh25**** | cn-shanghai | 0 | Stopped | 2022-06-17 17:58:01 | | benchmark-xgb-test-b514 | eas-b-bdnzvwq0z0h3xq**** | cn-shanghai | 2 | Running | 2022-06-20 12:18:54 | +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
查看压测任务详情
- 功能
通过
bench desc
命令查看指定压测任务的详细信息。 - 命令
eascmd bench desc <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench desc benchmark-demo-test-c7eb
+----------------+------------------------------------------------------------------------------+ | TaskName | benchmark-xgb-test-b514 | | TaskId | eas-b-bdnzvwq0z0h3xq**** | | ServiceName | xgb_test | | Region | cn-shanghai | | DesiredAgent | 2 | | AvailableAgent | 2 | | Status | Running | | Message | Benchmark task is running | | CreateTime | 2021-10-20 12:38:35 | | UpdateTime | 2021-10-20 12:38:45 | | Config | { | | | "base": { | | | "agentCount": 2, | | | "concurrency": 40, | | | "duration": 1200, | | | "requestCount": | | | 922337203685477****, | | | }, | | | ... | | | } | +----------------+------------------------------------------------------------------------------+
启动压测任务实时可视化
- 功能
通过
bench visualize
命令启动压测任务的实时可视化功能。该命令执行完成后会在本地127.0.0.1启动一个由webserver提供的实时监控页面的展示。 - 命令
eascmd bench visualize <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench visualize benchmark-xgb-test-b514
使用浏览器打开链接[OK] Click the link http://127.0.0.1:18734/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C. Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command: eascmd -c [config_file] bench visualize benchmark-xgb-test-b514
http://127.0.0.1:18734/eas-benchmark/statsview
,即可查看实时数据结果。
停止压测任务
- 功能
通过
bench stop
命令停止当前正在运行的压测任务。 - 命令
eascmd bench stop <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench stop benchmark-xgb-test-b514
Are you sure to stop the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n] [OK] Task [benchmark-xgb-test-b514] is stopping [OK] [Agnet: 0/1]: Benchmark task is Running [OK] [Agnet: 0/1]: Benchmark task is Stopped [OK] Benchmark task is stopped
获取压测任务报告
- 功能通过
bench report
命令获取压测任务报告。说明 当压测任务状态为Stopped状态时,表示压测任务结束,压测报告会保存到OSS中。 - 命令
eascmd bench report <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench stop benchmark-xgb-test-b514
使用浏览器打开url后的链接,即可查看压测报告结果。[OK] Benchmark task benchmark-demo-test-c7eb report url: http://eas-benchmark.oss-cn-chengdu.aliyuncs.com/summary/benchmark-demo-test-c7eb-10004.html
启动压测任务
- 功能
通过
bench start
命令启动处于停止状态的压测任务。 - 命令
eascmd bench start <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench start benchmark-xgb-test-b514
Are you sure to start the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n] [OK] Task [benchmark-xgb-test-b514] is starting [OK] [Agnet: 0/1]: Succeed to start benchmark master [OK] [Agnet: 1/1]: Benchmark task is Running [OK] Benchmark task is Running [OK] Click the link http://127.0.0.1:18947/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C. Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command: eascmd -c [config_file] bench visualize benchmark-xgb-test-b514
动态修改客户端实例数量和并发数
- 功能
当压测模式为manual时,通过
bench update
命令动态修改客户端实例数量和并发数。 - 命令
eascmd bench update <benchmark_task_name> -Doptional.concurrency=<attr_value> -Doptional.agentCount=<attr_value>
- 参数
- benchmark_task_name表示压测任务名称。
- <attr_value>为具体取值。
- 示例
系统输出如下类似结果。eascmd bench update benchmark-demo-b99c -Doptional.concurrency=2 -Doptional.agentCount=1
[RequestId]: 9920C672-4D41-5CC4-8EC0-C690F76E**** [OK] Running [TaskName: benchmark-demo-b99c, DesiredAgent:1, AvailableAgent: 1, Message: Benchmark task is Updating] [OK] Benchmark task benchmark-demo-b99c was updated successfully
删除压测任务
- 功能
通过
bench delete
命令手动删除压测任务。删除压测任务后,该压测任务保存在OSS的压测报告同步删除。 - 命令
eascmd bench delete <benchmark_task_name>
- 参数
benchmark_task_name表示压测任务名称。
- 示例
系统输出如下类似结果。eascmd bench delete benchmark-xgb-test-b514
Are you sure to delete the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n] [OK] Benchmark task benchmark-xgb-test-b514 is Deleting [OK] Benchmark task was deleted successfully
删除服务实例(重启实例)
- 功能
通过
deleteworkers
(或缩写dw
)命令可以删除服务的一个或多个实例。由于删除实例后,系统会自动启动新实例进行替换,因此该命令也可以作为实例重启操作使用。 - 命令
eascmd dw <service_name> <instance_names>
- 参数
- <service_name>:表示服务名称。
- <instance_names>:表示待删除的服务实例名称,多个实例中间使用半角逗号(,)分隔。
- 示例
系统输出如下类似结果。eascmd dw mnist_saved_model_example mnist-saved-model-example-69cf5dd6c7-5****
输入Y后,系统输出如下类似结果。Are you sure to delete the instances [mnist-saved-model-example-69cf5dd6c7-5****] of service [mnist_saved_model_example] in [cn-shenzhen]? [Y/n]
[RequestId]: 564C8F56-D97A-555E-9E0B-22BE140A**** [OK] Instance(s) [mnist-saved-model-example-69cf5dd6c7-5****] for service [mnist_saved_model_example] in region [cn-shenzhen] was deleted successfully
Python SDK环境初始化
- 功能
通过
pysdk init
命令初始化Python SDK环境。 - 命令
eascmd64 pysdk init ./pysdk_demo
- 参数
无
- 示例
- 输入以下初始化命令。
系统输出如下类似结果。eascmd64 pysdk init ./pysdk_demo
[PYSDK] Please choose your python version [enter for 3.6]:
- 输入3.6,系统输出如下类似结果。
Collecting package metadata (current_repodata.json): done Solving environment: done ... [PYSDK] Installing python processor example app.py [PYSDK] Installing python service example app.json
- 输入以下初始化命令。
打包完整环境及代码
- 功能
通过
pysdk pack
命令打包完整环境。 - 命令
eascmd pysdk pack ./<demo>
- 参数
<demo>:环境或代码所在目录。
- 示例(假设需要打包的环境或代码所在目录为demo)
系统输出如下类似结果。eascmd pysdk pack ./demo
[PYSDK] Creating package: /mnt/workspace/demo.tar.gz
查看资源组列表
- 功能
通过
resource list
(或缩写resource ls
)命令可以查看当前账户下的资源组列表。 - 命令
eascmd resource ls
- 参数
无
- 示例
系统输出如下类似结果。eascmd resource ls
+--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+ | RESOURCENAME | CLUSTERID | INSTANCECOUNT | GPUCOUNT | CPUCOUNT | OWNERUID | CREATETIME | STATUS | +--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+ | eas-r-lzo32vrdbtukr7te3i | cn-shanghai | 1 | 0 | 16 | 182848887922**** | 2020-03-18 13:09:24 | ResourceReady | +--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+
查看资源组详情
- 功能
通过
resource desc
命令可以查看某个资源组的详细信息。 - 命令
eascmd resource desc <resource_id>
- 参数
<resource_id>表示待查看的资源组ID,即
resource list(ls)
命令返回结果中的RESOURCENAME字段。 - 示例
查看资源组ID为eas-r-lzo32vrdbtukr7te3i的资源组详情。
其中-c ~/.eas/shanghai2.conf表示使用其他配置文件,而不是使用默认的配置文件~/.eas/config。系统输出如下类似结果。eascmd -c ~/.eas/shanghai2.conf resource desc eas-r-lzo32vrdbtukr7te3i
+---------+-----------------+----------------------------------------------------------+ | Basic | ResourceName | eas-r-lzo32vrdbtukr7te3i | | | Region | cn-shanghai | | | CpuCount | 16 | | | GpuCount | 0 | | | instanceCount | 1 | | | CreateTime | 2020-03-18 13:09:24 | | | LastStatus | ResourceReady | | | Message | Resource is ready | | | RoleArn | acs:ram::xxx:role/AliyunPAIAccessingENIRole | | Network | VpcId | vpc-uf6s9pv47nu03srne**** | | | VSwitchId | vsw-uf6voq53e893k56ws**** | | | SecurityGroupId | sg-uf6c5twkfar8l06c**** | | | DestinationCIDR | | | | AuxVSwitchList | [] | +---------+-----------------+----------------------------------------------------------+
查看资源组实例列表
- 功能
通过
resource list_instance
(或缩写为resource li
)命令可以查看某个资源组的实例列表及每个实例的资源使用情况。 - 命令
eascmd resource list_instance <resource_id>
- 参数
<resource_id>表示待查看的资源组ID,即
resource list(ls)
命令返回结果中的RESOURCENAME字段。 - 示例
系统输出如下类似结果。eascmd resource li eas-r-lzo32vrdbtukr7te3i
+------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+ | INSTANCENAME | INSTANCEIP | STATUS | TOTAL/USED CPU | TOTAL/USED GPU | TOTAL/USED MEMORY | CREATETIME | INSTANCETYPE | CHARGETYPE | +------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+ | cn-shanghai.i-uf6dj71ir6mh3gjmaz3a | 10.224.XX.XX | Ready | 16/6 | 0/0 | 62240M/4200M | 2020-03-18 13:09:34 | ecs.g6.4xlarge | PostPaid | +------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+
配置资源组网络
- 功能
通过
resource network
命令可以设置某个资源组的直连情况,用于连通PAI-EAS VPC和用户VPC之间的网络。一方面可以在用户VPC内以直连软负载的方式调用PAI-EAS服务,另一方面可以在PAI-EAS Processor中反向访问用户VPC中的内网资源(例如RDS、Redis等)。 - 命令
eascmd resource network <resource_id> -s <network_cfg.json>
- 参数
- <resource_id>:表示查待看的资源组ID,即
resource list(ls)
命令返回结果中的RESOURCENAME字段。 - <network_cfg.json>:网络配置文件,该文件格式如下所示。
各参数的含义如下表所示。{ "Action":"create", "VSwitchId": "vsw-8vbsunr5bkcbyxh94****", "SecurityGroupId": "sg-8vbhwowdxzx5fjcx****", "VSwitchIdList": ["vsw-8xbsunr5abcbyqh93****", "vsw-8xbs1y7gu6cxbvqzw****"], "DestinationCIDR": "192.XX.XX.XX/16" }
参数 描述 是否必选 默认值 Action 网络设置的操作,取值范围如下: - create:开通直连。
- delete:关闭直连,此时无需配置其他参数。
是 无 VSwitchId 待连通的目标主vSwitch ID,PAI-EAS会自动在该vSwitch中创建ENI弹性网卡,请不要主动删除该ENI,否则会导致网络连通性问题。 是 无 SecurityGroupId 客户端ECS所在的安全组ID。 说明 客户端ECS必需归属于该安全组中,否则会导致网络连通性问题。是 无 VSwitchIdList 待打通的附属vSwitch列表,必须与主vSwitch在同一个VPC中,这些VSwitch的IP网段会自动被加入到PAI-EAS的路由表规则中。 否 空数组([]) DestinationCIDR 待打通的客户端目标网段,必须与主vSwitch在同一个VPC中,该网段会被自动加入到PAI-EAS的路由表规则中。 否 空字符串("") 说明 VSwitchIdList与DestinationCIDR原理相同,均是为了连通PAI-EAS集群与用户某个网段的网络。如果需要连通多个指定vSwitch,则使用VSwitchIdList。如果需要连通一个大网段(例如整个VPC),则使用DestinationCIDR字段。建议不要使用10.0.0.0/8、10.224.0.0/16或10.240.0.0/16网段,否则会导致网络冲突问题。如果有其他需求,请联系您的商务经理来处理。
- <resource_id>:表示查待看的资源组ID,即
预测
进行预测调用时,可以根据创建服务时生成的HTTP URL访问服务。预测服务的输入输出格式由Processor自定义,详细请参见模型服务调用章节中的通用Processor服务请求数据构造部分。