使用msctl部署服务
工具使用
MindIE MS Deployer提供命令行工具,可供用户使用,当前提供的对外命令为:
指令 |
类型 |
说明 |
---|---|---|
./bin/msctl create infer_server -f ./conf/infer_server.json |
create |
客户端服务部署。 配置文件需要不大于640权限,否则启动失败。 |
./bin/msctl delete infer_server -n {服务名称} |
delete |
卸载服务,删除服务相关的Kubernetes资源,停止对外服务。 |
./bin/msctl get infer_server -n {服务名称} |
get |
获取服务状态,包括服务是否已就绪。 |
./bin/msctl -h/--help |
- |
命令使用帮助。 |
./bin/msctl update infer_server -f ./conf/update_server.json |
update |
更新推理服务配置。 |
客户端部署命令
使用MindIE MS命令行客户端msctl发送部署请求命令,如下所示。
./bin/msctl create infer_server -f ./conf/infer_server.json
回显如下所示,则表示部署请求命令下发成功。
{ "message": "creating the server!", "status": "0" }
执行以下Kubernetes查询指令,查询是否部署成功。
kubectl get pod -A
如下图所示,在Kubernetes的Pod资源用户自定义的{namespace}中,存在{server_name}-deployment-0-xxx且状态为Running时,则表示部署成功。
{server_name}和{namespace}为RESTful接口API中用户自行编写的json配置文件中的“server_name”和“namespace”参数值。
如果部署失败,请参见表2中的volumes参数,根据挂载的物理日志路径中的日志文件定位具体问题。
客户端卸载命令
./bin/msctl delete infer_server -n {server_name}
回显如下所示,则表示卸载请求命令下发成功且服务删除成功。
{ "message": "succeed to clear resources", "status": "0" }
也可以使用Kubernetes命令查看该服务是否已删除或者处于非Running状态,如下图所示。
kubectl get pod -A
客户端查询命令
./bin/msctl get infer_server -n {server_name}
回显如下所示,则表示查询请求命令下发成功。
{ "data": { "instances_status": [ { "liveness": true, "pod_name": "mindie-server-zsm-586c8fb5f8-vtx2n", "readiness": true } ], "model_info": { "docker_label": null, "max_batch_total_tokens": 8192, "max_best_of": 1, "max_concurrent_requests": 200, "max_input_length": 2048, "max_stop_sequences": null, "max_waiting_tokens": null, "models": [ { "max_total_tokens": 2560, "model_device_type": "npu", "model_dtype": "float16", "model_id": "llama2_7b", "model_pipeline_tag": "text-generation", "model_sha": null } ], "sha": null, "validation_workers": null, "version": "1.0.RC3", "waiting_served_ratio": null }, "server_name": "mindie-server-zsm" }, "message": "success", "status": "0" }
重要参数解释:
- “liveness”:表示服务存活状态。
- “true”:表示服务存活。
- “false”:表示服务未存活。
- “readiness”:表示服务实例启动状态。
- “true”:表示服务实例已启动完成并进入就绪状态。
- “false”:表示服务实例未启动完成。
客户端滚动更新命令
./bin/msctl update infer_server -f ./conf/update_server.json
回显如下所示,则表示更新请求命令下发成功。
{ "message": "update server success.", "status": "0" }