命令使用说明

通过eascmd,您可以方便地管理您的EAS服务,包括创建服务、更新服务、查看服务详情以及管理压测任务等。本文为您提供了每个命令的使用说明和相关示例,帮助您更好地使用eascmd的功能。

操作命令合集

使用eascmd命令行工具管理服务,相关的操作命令如下。

说明

使用eascmd客户端执行命令时,具体使用的客户端名称以实际为准。

类型

功能

操作入口

服务相关

支持以下两种方式使用eascmd命令行工具:

  • 自行下载eascmd客户端,详细请参见下载并认证客户端

  • DSWTerminal中,DSW已经内置了eascmd命令行工具。

资源组相关

创建服务

  • 功能

    通过create命令创建服务。创建服务时,需要提供资源(模型或Processor)的HTTPOSS地址,您可以将资源上传至OSS,并获取上传后的OSS地址。

  • 命令

    <eascmd64> create <service_desc_json>
  • 参数

    service_desc_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文件内的参数说明,详情请参见服务模型所有相关参数说明

  • 示例(假设描述服务相关信息的JSON文件为pmml.json

    <eascmd64> create pmml.json

    系统输出如下类似结果。

    [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
    +-------------------+----------------------------------------------------------------------------+
    | Intranet Endpoint | http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/savedmodel_example |
    |             Token | YjQxZDYzZTBiZTZjMzQ5ZmE0MzczZjIxMGZiNzZmMDBkY2VjMDg4****                   |
    +-------------------+----------------------------------------------------------------------------+
    [OK] Creating api gateway
    [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_example_cn-shanghai:v0.0.1-20190224001315]
    [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_example_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

修改配置

  • 功能

    对于InstanceCPUmetadata信息,可以直接使用modify命令的-D参数进行修改。

  • 命令

    <eascmd64> modify <service_name> -Dmetadata.<attr_name>=<attr_value>

    支持同时配置多个参数,详情请参见示例。

  • 参数

    • <service_name>:服务名称。

    • <attr_name>:参数名称。

    • <attr_value>:参数取值。

  • 示例

    Instance数量配置为10,且每个Instance中的Quota数量为5(5核+20 GB)。

    <eascmd64> modify service_test -Dmetadata.instance=10 -Dmetadata.cpu=5

    扩缩容时,可以只修改服务的metadata.instance参数。如果指定的Instance数量大于服务当前的Instance数量,则系统启动新的Instance,以达到要求的Instance数量,原有实例的运行不受影响。如果指定的Instance数量小于当前Instance数量,则系统停止部分Instance,以达到要求的Instance数量,其他实例的运行不受影响。

    说明

    只修改Instance的更新操作与全量更新不同,前者不会触发服务的滚动更新。

修改服务配置

  • 功能

    通过modify命令可以对已部署的服务进行配置修改。

  • 命令

    <eascmd64> modify <service_name> -s <service_desc_json>
  • 参数

    • <service_name>:服务名称。

    • <service_desc_json>:服务描述文件。

      说明

      在服务描述文件中,仅写需要修改的参数即可,其他不必要参数不写。如果写了模型文件信息及processor信息,则会被认定为增加一个新的服务版本。

增加服务版本

  • 功能

    通过modify命令可以对已部署的服务增加服务版本。

  • 命令

    <eascmd64> modify <service_name> -s <service_desc_json>
  • 参数

    • <service_name>:服务名称。

    • <service_desc_json>:服务描述文件。

      说明

      需要在服务描述文件中指定模型文件信息及processor信息。

停止服务

  • 功能

    通过stop命令可以停止一个运行中的服务。

  • 命令

    <eascmd64> stop <service_name>
  • 参数

    <service_name>表示待停止的服务名称。

启动服务

  • 功能

    通过start命令可以重新启动一个已停止的服务。

  • 命令

    <eascmd64> start <service_name>
  • 参数

    <service_name>表示待启动的服务名称。

删除服务

  • 功能

    通过delete命令可以删除服务,但是只能删除当前地域的服务。

  • 命令

    <eascmd64> delete <service_name>
  • 参数

    <service_name>表示待删除的服务名称。

  • 示例

    假设服务名称为savedmodel_example,删除该服务的步骤如下:

    1. 执行删除服务的命令。

      <eascmd64> delete savedmodel_example

      系统输出如下类似结果。

      Are you sure to delete the service [savedmodel_example] in [cn-shanghai]? [Y/n]
    2. 输入Y。系统输出如下类似结果。

      [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
      [OK] Service [savedmodel_example] 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),您无须修改客户端调用代码。

    说明

    蓝绿发布不适用于网络直连访问的方式。

  • 命令

    1. 创建关联服务

      <eascmd64> create <service_desc_json> -r
    2. 对蓝绿服务进行切流。

      <eascmd64> release <service_name> -w <weight>
  • 参数

    • <service_desc_json>:服务信息描述的JSON文件。

    • <service_name>:创建的新服务名称。

    • <weight>:新服务承载的流量百分比。

  • 示例(假设服务信息描述文件为pmml.json

    1. 创建关联服务

      <eascmd64> create pmml.json -r

      系统输出以下类似信息。

      [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_example_9c16a222_cn-shanghai:v0.0.1-20190224001315]
      [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_example_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

      上述输出表示创建了一个名为savedmodel_example_9c16a222的服务,且两个服务分别有独立的流量入口,可以被单独调用。您对新服务可以进行独立测试,不会影响已有服务的线上运行,测试完成后,可以对服务进行切流操作。

    2. 对蓝绿服务进行流量切换。

      <eascmd64> 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]
    3. 输入Y,并单击Enter键,系统输出如下类似结果。

      [RequestId]: 9258EEDE-6F99-4C3B-841B-B6E9774F****
      [OK] Service [savedmodel_example_9c16a222] is weighted to 20% now

切换版本

  • 功能

    您可以先通过desc命令查看服务的最新版本和当前版本,再通过version命令切换服务至最新版本之前的任意版本。

  • 命令

    <eascmd64> version <service_name> <version_id>
  • 参数

    • <service_name>:服务名称。

    • <version_id>:待切换服务的版本ID。

查看服务列表

  • 功能

    使用list(或缩写ls)命令可以查看当前用户已部署的服务列表。

  • 命令

    <eascmd64> ls
  • 参数

  • 示例

    <eascmd64> 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命令可以查看已部署服务的详情信息。

  • 命令

    <eascmd64> desc <service_name>
  • 参数

    <service_name>表示服务名称。

  • 示例

    <eascmd64> 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)命令可以查看服务正在运行的进程状态。

  • 命令

    <eascmd64> w <service_name>
  • 参数

    <service_name>表示服务名称。

  • 示例

    <eascmd64> 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

    实例上次重启的状态。LASTSTATEreasonOOMKIlled时,表示实例发生了OOM。

创建压测任务

  • 功能

    通过bench create命令对已部署的服务创建压测任务。

  • 命令

    <eascmd64> bench create <bench_desc_json>
  • 参数

    bench_desc_json表示压测任务相关信息的JSON文件,该文件的示例如下。

    {
        "service": {
            "serviceName": "servicename_example"
        },
        "data": {
            "content": "W1sxLDAsMCwwLDEsMSwwLDEsMCwxLDEsMCwwLDEsMCwxLDAsMSwwLDAsMSwxLDEsMCwxLDEsMCwwLDAsMSwxLDEsMCwxLDEsMSwxLDAsMSwxLDEsMCwxLDAsMCwwLDEsMSwwLDAsMCwxLDAsMSwwLDEsMCwwLDEsMCwwLDEsMCwxLDAsMCwxLDAsMCwwLDAsMSwwLDEsMCwxLDAsMCwxLDEsMSwwLDAsMSwwLDAsMCwwLDEsMSwxLDAsMSwxLDAsMCwxLDAsMSwwLDEsMSwxLDEsMCwxLDAsMCwxLDEsMSwxLDAsMCwwLDEsMSwwXV0K"
        }
    }
                    

    您可以通过path指定多个OSS文件作为压测数据,配置示例如下。如需批量配置多条压测数据,可以直接将多个请求数据打包成zip包,通过oss://XX.zippath进行配置。

    {
        "service": {
            "serviceName": "servicename_example"
        },
        "data": {
            "path": "oss://examplebucket/test1.bin,oss://examplebucket/test2.bin"
        }
    }
                    

    JSON文件的相关参数说明,详情请参见创建压测任务

  • 示例(假设描述压测任务相关信息的JSON文件为bench.json)

    <eascmd64> 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)命令查看当前用户创建的压测任务列表。

  • 命令

    <eascmd64> bench ls
  • 参数

  • 示例

    <eascmd64> 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命令查看指定压测任务的详细信息。

  • 命令

    <eascmd64> bench desc <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> 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提供的实时监控页面的展示。

  • 命令

    <eascmd64> bench visualize <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> 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命令停止当前正在运行的压测任务。

  • 命令

    <eascmd64> bench stop <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> 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中。

  • 命令

    <eascmd64>  bench report <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> bench report benchmark-xgb-test-b514

    系统输出如下类似结果。

    [OK] Benchmark task benchmark-demo-test-c7eb report url: http://eas-benchmark.oss-cn-chengdu.aliyuncs.com/summary/benchmark-demo-test-c7eb-10004.html

    使用浏览器打开url后的链接,即可查看压测报告结果。

启动压测任务

  • 功能

    通过bench start命令启动处于停止状态的压测任务。

  • 命令

    <eascmd64> bench start <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> 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命令动态修改客户端实例数量和并发数。

  • 命令

    <eascmd64> bench update <benchmark_task_name> -Doptional.concurrency=<attr_value> -Doptional.agentCount=<attr_value>
  • 参数

    • benchmark_task_name表示压测任务名称。

    • <attr_value>为具体取值。

  • 示例

    <eascmd64> 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的压测报告同步删除。

  • 命令

    <eascmd64> bench delete <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例

    <eascmd64> 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)命令可以删除服务的一个或多个实例。由于删除实例后,系统会自动启动新实例进行替换,因此该命令也可以作为实例重启操作使用。

  • 命令

    <eascmd64> dw <service_name> <instance_names>
  • 参数

    • <service_name>:表示服务名称。

    • <instance_names>:表示待删除的服务实例名称,多个实例中间使用半角逗号(,)分隔。

  • 示例

    <eascmd64> dw mnist_saved_model_example mnist-saved-model-example-69cf5dd6c7-5****

    系统输出如下类似结果。

    Are you sure to delete the instances [mnist-saved-model-example-69cf5dd6c7-5****] of service [mnist_saved_model_example] in [cn-shenzhen]? [Y/n]

    输入Y后,系统输出如下类似结果。

    [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环境初始化

说明

Linux系统支持。

  • 功能

    通过pysdk init命令初始化Python SDK环境。

  • 命令

    <eascmd64> pysdk init ./pysdk_demo
  • 参数

  • 示例

    1. 输入以下初始化命令。

      <eascmd64> pysdk init ./pysdk_demo

      系统输出如下类似结果。

      [PYSDK] Please choose your python version [enter for 3.6]:
    2. 输入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

打包完整环境及代码

说明

Linux系统支持。

  • 功能

    通过pysdk pack命令打包完整环境。

  • 命令

    <eascmd64> pysdk pack ./<demo>
  • 参数

    <demo>:环境或代码所在目录。

  • 示例(假设需要打包的环境或代码所在目录为demo)

    <eascmd64> pysdk pack ./demo

    系统输出如下类似结果。

    [PYSDK] Creating package: /mnt/workspace/demo.tar.gz

查看资源组列表

  • 功能

    通过resource list(或缩写resource ls)命令可以查看当前账户下的资源组列表。

  • 命令

    <eascmd64> resource ls
  • 参数

  • 示例

    <eascmd64> 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命令可以查看某个资源组的详细信息。

  • 命令

    <eascmd64> resource desc <resource_id>
  • 参数

    <resource_id>表示待查看的资源组ID,即resource list(ls)命令返回结果中的RESOURCENAME字段。

  • 示例

    查看资源组IDeas-r-lzo32vrdbtukr7te3i的资源组详情。

    <eascmd64> -c ~/.eas/shanghai2.conf resource desc eas-r-lzo32vrdbtukr7te3i

    其中-c ~/.eas/shanghai2.conf表示使用其他配置文件,而不是使用默认的配置文件~/.eas/config。系统输出如下类似结果。

    +---------+-----------------+----------------------------------------------------------+
    |   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)命令可以查看某个资源组的实例列表及每个实例的资源使用情况。

  • 命令

    <eascmd64> resource list_instance <resource_id>
  • 参数

    <resource_id>表示待查看的资源组ID,即resource list(ls)命令返回结果中的RESOURCENAME字段。

  • 示例

    <eascmd64> 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命令可以设置某个资源组的直连情况,用于连通EAS VPC和用户VPC之间的网络。一方面可以在用户VPC内以直连软负载的方式调用EAS服务,另一方面可以在EAS Processor中反向访问用户VPC中的内网资源(例如RDS、Redis等)。

  • 命令

    <eascmd64> 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,EAS会自动在该vSwitch中创建ENI弹性网卡,请不要主动删除该ENI,否则会导致网络连通性问题。

      SecurityGroupId

      客户端ECS所在的安全组ID。

      说明

      客户端ECS必须归属于该安全组中,否则会导致网络连通性问题。

      VSwitchIdList

      待打通的附属vSwitch列表,必须与主vSwitch在同一个VPC中,这些vSwitchIP网段会自动被加入到EAS的路由表规则中。

      空数组([])

      DestinationCIDR

      待打通的客户端目标网段,必须与主vSwitch在同一个VPC中,该网段会被自动加入到EAS的路由表规则中。

      空字符串("")

      说明

      VSwitchIdListDestinationCIDR原理相同,均是为了连通EAS集群与用户某个网段的网络。如果需要连通多个指定vSwitch,则使用VSwitchIdList。如果需要连通一个大网段(例如整个VPC),则使用DestinationCIDR字段。建议不要使用10.0.0.0/810.224.0.0/1610.240.0.0/16网段,否则会导致网络冲突问题。如果有其他需求,请联系您的商务经理来处理。

相关文档