按量付费开发机

本文为您详细介绍通过控制台和命令行创建开发机的步骤和参数配置。

前提
  • 已创建集群,详情请参考:创建集群
  • 账户未欠费且账户余额或代金券余额充足。

通过控制台创建

💡 注意
旧版开发机目前无法开启docker功能,如需使用,请停止并删除旧版开发机,创建新的开发机使用。
  1. 登录英博云控制台。
  2. 在页面左侧导航栏,选择 开发机,进入开发机列表页面。
  3. 在开发机列表页面,单击左上角 创建开发机,配置创建开发机所需的参数。

开发机配置

参数说明
集群选择开发机归属的的集群,选择集群后必须选择命名空间
命名空间选择开发机部署的命名空间,支持选择自定义创建的命名空间或 Kubernetes 自建的命名空间
实例名称根据提示的命名规则,自定义开发机名称。2-8字符,仅支持小写字母开头,内容支持包含小写字母、数字
目标节点池选择共享节点池,共享节点池资源通过按量付费模式计费。
竞价开关关闭竞价实例开关。
资源类型选择GPU卡类型或CPU
GPU驱动版本选择您需要的GPU驱动版本,不同的驱动版本匹配不同的CUDA镜像版本
规格选择不同GPU或CPU资源的规格
镜像容器使用的镜像,支持选择预置镜像、自定义镜像、外部镜像以及共享镜像,其中自定义、外部镜像和共享镜像支持用户配置启动命令
Docker容器Docker容器开关,默认关闭,开启后,可以在开发机内使用docker run的命令启动docker容器
存储每个开发机默认30GB系统盘
支持通过PVC挂载多块共享存储卷,按容量计费,支持SSD和HDD两种存储类型
支持通过PVC挂载多块块存储卷,按容量计费
数量支持一次创建多台同配置开发机
备注支持输入开发机备注信息
💡 注意
竞价实例开发机目前仅对邀测用户开放,如有需要请联系我们

通过kubectl命令行创建

前提
  1. 创建开发机的 YAML 文件。示例文件demo.yaml代码如下:
apiVersion: apps.ebcloud.com/v1alpha1
kind: ContainerServer
metadata:
  name: demo
  annotations:
    eks.ebcloud.com/enable-spot: "false" # 启用竞价实例
spec:
  command: # 开发机的自定义启动命令
  enableDocker: false # 是否启用内置docker
  enableSystemDisk: true # cs2.0专用的,需要设置为true
  image: registry-cn-huabei1-internal.ebcloud.com/ebsys/pytorch:2.5.1-cuda12.2-python3.10-ubuntu22.04-v09 # 开发机使用的基础镜像
  jupyterAccess:
    enable: true # 启用jupyter 访问通路
    port: 8888   # jupyter端口
    token: "9rVtdXoM8oBW-Dni5w9leJBTPBrE7KQ28lRr7xsX2eTyu9qO" # jupyter访问的token
  enablePrePaid: false  # 是否为预付费(使用节点池中的节点)
  initRootPassword: "k@z2a8v.yp(R6037" # 开发机的root初始密码
  command:
    - bash
    - -c
    - |-
        # 1. Initialize 阶段: 安装必要软件包,初始化环境配置
        if [ -z "${EBCS_SYS_INITIALIZED}"] || [ "${EBCS_SYS_INITIALIZED}" = "False" ]; then
          # 1.1 Initialize Package 子阶段: 安装必要软件包
          echo "do nothing"

          # 1.2 Initialize Config 子阶段: 初始化环境配置
          # 初始化 root 密码
          echo "root:$EBCS_SYS_ROOT_PASSWORD" | chpasswd

          # 初始化 k8s 环境变量
          if [ -f /proc/1/environ ]; then
            echo 'while IFS= read -r line; do export "$line"; done < <(tr "\\0" "\\n" < /proc/1/environ)' >> /etc/profile
            echo "Init k8s env complete."
          fi
        fi

        # 2. Launch 阶段: 启动 jupyter-lab 后台运行,启动 sshd 作为主进程运行
        # 后台启动 jupyter-lab
        if command -v jupyter-lab >/dev/null 2>&1 && [ -n "$EBCS_JUPYTER_PORT" ] && [ -n "$EBCS_JUPYTER_TOKEN" ]; then
          cd /root && jupyter-lab --allow-root --ip=0.0.0.0 --port=$EBCS_JUPYTER_PORT  --NotebookApp.token=$EBCS_JUPYTER_TOKEN --no-browser --NotebookApp.allow_origin='*' --NotebookApp.allow_remote_access=True > /dev/null 2>&1 &
        fi

        # 启动 sshd 服务,作为主进程
        if service ssh start -D; then
          echo "service ssh start failed."
        else
          /usr/sbin/sshd -D
          echo "sshd start as daemon failed."
        fi
  plannedPoweroff:
    execTime: "2025-09-30 19:24:00" # 定时关机
  network:
    public: false  # 开启公网IP
    tcp:
      ports:      # 对外暴露的端口
      - 80
      - 443
  power: "ON"      # ON开机 / OFF关机
  sshAccess:       # ssh直连服务
    enable: true   # 开启SSH直连服务
    targetPort: 22 # SSH 端口
  volumeMounts: # 挂载 存储卷
  - name: dem1 # 挂载卷名称,可与存储卷名称保持一致
    mountPath: /data # 挂载路径
    persistentVolumeClaim:
      claimName: dem1 # 存储卷名称
  resources:       # 资源配置
    cpu:           # vCPU 数(核)
      count: "10"
    memory:        # 内存 容量(G)
      count: 100Gi
    gpu:
      type: "A800_NVLINK_80GB" # GPU类型(A800_NVLINK_80GB, H800_NVLINK_80GB,RTX_4090, RTX_4090D)
      driver: "580.65.06" # 指定GPU驱动
      count: "1"

2.执行以下命令,创建开发机。

kubectl apply -f demo.yaml