最近更新时间:2025-09-11 09:10:06
Serverless 计算引擎支持自定义Application作业,即用户可将任意计算任务及依赖统一打包为镜像,直接提交至Serverless 资源池,可不指定特定的计算引擎,实现通用化无服务器化运行,提升复杂定制化任务的管理效率和执行灵活性。
ksc-serverless-tool是金山云Serverless 计算引擎进行作业提交的客户端工具,您可以在本地电脑(支持mac、liunx、window操作系统)或者金山云VPC内进行安装使用。客户端支持作业提交、查看日志及监控指标等,可在一个客户端工具内面实现Serverless Spark,Serverless Ray,Serverless Flink作业相关操作,免部署、免登录、无需考虑环境依赖,有网即可使用。
在提交Application作业前,您需要先创建工作空间,具体创建流程详见:创建工作空间 。
如果使用IAM用户(子账号)提交作业,您需要赋予子账号相应KMR及KS3权限,具体操作步骤详见:子账号授权。
提交作业前,您需要所运行的代码脚本压缩为ZIP包后上传至KS3,具体操作详见:文件上传。
单击ksc-serverless-tool.tar.gz,下载客户端。
执行以下命令,解压并安装。
tar -zxvf ksc-serverless-tool.tar.gz解压完成后生成如下目录:
ksc-serverless-tool/ # 客户端的主目录
ksc-serverless-tool/bin/ # bin目录,里面包含了不同环境可执行文件
ksc-serverless-tool/bin/ksc-serverless-tool # bin目录下的可执行文件,会根据不同操作系统自动选择执行哪个进程
ksc-serverless-tool/bin/ksc-serverless-tool-linux # bin目录下的可执行文件,适用于Linux操作系统
ksc-serverless-tool/bin/ksc-serverless-tool-mac # bin目录下的可执行文件,适用于Mac操作系统
ksc-serverless-tool/bin/ksc-serverless-tool.exe # bin目录下的可执行文件,适用于Window操作系统
ksc-serverless-tool/conf/ # Conf目录,里面包含配置文件信息
ksc-serverless-tool/conf/appversion # Conf目录下的配置文件,可查看当前版本号,选择自动升级
ksc-serverless-tool/conf/connection.properties # Conf目录下的配置文件,包含作业提交相关的鉴权和配置信息
ksc-serverless-tool/README.md # 客户端的相关配置适用说明执行以下命令,修改connection.properties中的配置。
vim ksc-serverless-tool/conf/connection.properties推荐按照如下内容对文件进行配置,参数格式为key=value,示例如下:
[Properties]
AccessKeyId ="****"
AccessKeySecret ="*****"
Region ="cn-beijing-6"
WorkspaceId ="xxx"
Endpoint = "http://kmr.cn-beijing-6.api.ksyun.com"
EngineType = "flink"参数说明
参数 | 是否必填 | 说明 |
AccessKeyId | 是 | 执行Flink作业使用的金山云账号或RAM用户的AccessKey ID,获取操作详见:获取AK/SK |
AccessKeySecret | 是 | 执行Flink作业使用的金山云账号或RAM用户的AccessKey Secret |
Region | 是 | 地域ID,目前仅支持北京:cn-beijing-6 |
workspaceId | 是 | 工作空间ID |
Endpoint | 是 | 服务地址 |
EngineType | 否 | 默认提交spark任务,提交自定义Application作业需指定为application |
服务接入点
地域名称 | 地域ID | 公网接入地址 | VPC接入地址 |
华北1(北京) | cn-beijing-6 | kmr.cn-beijing-6.api.ksyun.com | kmr.cn-beijing-6.internal.api.ksyun.com |
执行以下命令,进入客户端工具目录:
cd ksc-serverless-tool请按照以下格式提交作业:
./bin/ksc-serverless-tool \
--engine application \
--image hub.kce.ksyun.com/ksyun/nginx:1.26.2 \
--name nginx \
--command "sh,-c,echo 'Job started'; sleep 120; echo 'Job completed'" \
--worker-cores 1 \
--worker-num 3 \
--worker-memory 2Gi
--env shu=chang参数说明
参数名称 | 示例值 | 是否必填 | 说明 |
--engine | application | 是 | 未指定该参数默认提交spark作业,也可以在配置文件中设置EngineType来区分作业类型 |
--name | nginx | 是 | 作业名称 |
--image | xxxx | 是 | 作业使用的镜像地址。使用自定义镜像具体操作详见:自定义镜像 |
--worker-cores | 1 | 是 | application作业的Job核数 |
--worker-memory | 2Gi | 是 | application作业的Job内存 |
--worker-gpus | 1 | 是 | application作业的Job Gpu卡数 |
--worker-num | 1 | 是 | application 并行度数量 |
--env | "key1=value1" | 否 | 作业的环境变量设置 |
--args | "sh,-c,echo 'Job started'; sleep 120; echo 'Job completed'" | 否 | 作业命令行参数,参数之间使用逗号(,)分隔 |
--command | "sh,-c,echo 'Job started'; sleep 120; echo 'Job completed'" | 否 | 作业命令行,参数之间使用逗号(,)分隔 |
--high-priority | p0 | 否 | 默认优先级是p1, 指定高优先级需要指定p0 |
--net-id | 1564ba1a-0cb9-49d2-beef-24fb538xxxxx | 否 | 如果需连接用户自有VPC下服务或数据源,需配置该参数,填写网络连接ID |
查询作业详情
./bin/ksc-serverless-tool --detail application-2025031218xxxx-gxxxuf查询作业状态
./bin/ksc-serverless-tool --status application-2025031218xxxx-gxxxuf终止作业
./bin/ksc-serverless-tool --kill application-2025031218xxxx-gxxxuf作业重跑
./bin/ksc-serverless-tool --restart application-2025031218xxxx-gxxxuf查询作业列表
./bin/ksc-serverless-tool --list 2 #展示两条查询工作空间资源使用情况
./bin/ksc-serverless-tool --detail-workspace
纯净模式
