使用命令行工具 (v1rc1)

安装

参见 SCC 命令行

启动一个带持久存储的 jupyter lab 服务

以下操作假设使用集群 NC-N30 和帐号 pcs

  1. 设置或查看当前使用的集群帐号

    Input
    scc eci ctx create myn30 -a pcs -c NC-N30
    Input
    scc eci ctx ls
    Output
    Name           Account   Cluster   Server
    myn30 *        pcs       NC-N30    https://eci.paracloud.com
    • 这个设置只会影响本地环境, 用于减少每次执行命令都需要指定集群和账号
    • 当有多个 context 时,可以通过 scc eci ctx use <name> 切换
    • 也可通过 scc eci ctx rm <name> 删除本地保存的设置
  2. 查询支持的实例规格

    Input
    scc eci res ls
    Output
    Cluster      Name           CPUCores   CPUModel     MemoryGB   GPUCount   GPUModel
    NC-N30       n30.xlarge     6          EPYC7452     60         1          RTX3090
    NC-N30       n30.2xlarge    12         EPYC7452     120        2          RTX3090
    NC-N30       n30.4xlarge    24         EPYC7452     240        4          RTX3090
    NC-N30       n30.8xlarge    48         EPYC7452     480        8          RTX3090
    • 可以执行 scc eci res ls -c - 查看所有集群支持的实例规格
  3. 创建一个持久卷 (可选)

    Input
    scc eci vol create myvol -s
    Output
    volume/mylov created
    https://ncn30-pcs-myvol:lqwp26b7f2hzxlz2hsbbvrw4rqx7dsvc@webdav.eci.paracloud.com published
    sftp://ncn30-pcs-myvol:lqwp26b7f2hzxlz2hsbbvrw4rqx7dsvc@sftp.eci.paracloud.com:2022 published
    ⚠️Please remember your password as it cannot be retrieved again.
    • -s 开启以 webdav & sftp 协议访问 volume 功能,用于上传或者下载数据
    • 列出集群账号下的 volume 执行 scc eci vol ls, 当 Volume 的状态变为 Available 表示准备好了
    • 移除集群账号下的某个 volume 执行 scc eci vol rm <name>
  4. 启动 jupyter lab 服务

    Input
    scc eci con run -r n30.xlarge --name myjupyter \
        -v myvol:/data -p https:lab \
        jupyter/minimal-notebook:lab-4.0.3 \
        -- jupyter lab --port \$BAT_PORT_lab --NotebookApp.token mytoken --no-browser --allow-root
    Output
    container/myjupyter created
    https://nc-n30-pcs-myjupyter-lab.eci.paracloud.com -> port/lab published
    • -r n30.xlarge 指定实例规格为 n30.xlarge
    • -v myvol:/data 使用上面创建 volume myvol 挂载到容器内 /data
    • -p https:lab 以 https 协议暴露端口名 lab (服务内会生成随机端口), 容器内的服务通过环境变量 BAT_PORT_lab 获取这个端口号进行监听
    • -l k1=v1 设置服务的 labels (可选), 不影响容器的运行,仅标记该容器
    • -- jupyter lab ... 中的 -- 在容器内执行命令包含参数时是必须的
    • 列出集群账号下的容器实例执行 scc eci con ls, 当容器状态变为 Running 时表示可以正常使用了
    • 移除集群账号下的某个容器实例执行 scc eci con rm <name>