创建一个新的云容器实例
名称
sco cci apps create - 创建一个新的云容器实例
说明
sco cci apps create [APP_NAME] --workspace-name=*WORKSPACE_NAME* --config=*CONFIG_FILE* [--ports=PORTS]
描述
使用 YAML 配置文件创建一个新的云容器实例。所有应用参数(显示名称、资源池、容器、调度等)必须在 YAML 配置文件中指定。
命令行标志
必要参数:
--workspace-name, -w: 指定云容器实例的workspace name。--config: YAML 配置文件路径,描述应用及其资源配置。
可选参数:
[APP_NAME]: 应用名称。如果未提供,将自动生成一个随机名称。--ports: 服务端口列表,逗号分隔(例如:1002,1003)。
配置文件示例
简单配置示例
display_name: simple-app
resource_pool:
name: production-cluster
available_zone: cn-sh-01z
replicas: 1
template:
containers:
- name: main-app
image_path: registry.sensecore.tech/example/ubuntu22.04-pytorch2.1.0-py310-cuda12.2:latest
resource_request:
cpu: '12'
nvidia.com/gpu: '1'
memory: 120GiB
command:
- sleep 60
volume_mounts: []
init_containers: []
resource_spec:
name: N2lS.Ie.I60.1
详细配置示例
# 必需:应用的显示名称
display_name: my-awesome-app
# 必需:资源池配置
resource_pool:
# 必需:资源池名称
name: production-cluster
# 公共集群必需:可用区
available_zone: cn-sh-01a
# 可选:VPC ID
vpc_id: 1ea621c2-75fc-11ed-a98c-221b47e4aadd
# 必需:副本数
replicas: 2
template:
# 必需:容器列表
containers:
- name: main-app
image_path: registry.sensecore.tech/example/ubuntu22.04-pytorch2.1.0-py310-cuda12.2:latest
resource_request:
nvidia.com/gpu: '1'
cpu: '12'
memory: 120GiB
# 存储挂载示例
volume_mounts:
- type: PV_AFS # 枚举:PV_AFS (AFS持久卷), CONFIGMAP (ConfigMap), SECRET (Secret)
id: 0197a0f6-2afc-71b3-aa3d-07a5d5035ac8
mount_path: /data
subdir: /
zone: cn-sh-01a
display_name: shared-storage-volume
command:
- sleep 60
- name: sidecar-app
image_path: registry.sensecore.tech/example/cambricon-base-pytorch:v0.0.1
resource_request:
nvidia.com/gpu: '1'
cpu: '12'
memory: 120GiB
volume_mounts: []
command:
- sleep 70
# 可选:初始化容器列表
init_containers:
- name: init-setup
image_path: registry.sensecore.tech/example/ubuntu22.04-pytorch2.1.0-py310-cuda12.2:latest
resource_request:
cpu: '2'
memory: 4GiB
env:
- name: INIT_DB_HOST
value: db.example.com
need_mosaic: false
- name: INIT_DB_PORT
value: '5432'
need_mosaic: false
- name: INIT_MODE
value: setup
need_mosaic: false
volume_mounts: []
command:
- echo "Initializing..." && sleep 10
# 必需:资源规格名称
resource_spec:
name: N3lS.Ii.I60.2
# 必需:调度选项
scheduling:
# 必需:优先级(枚举:NORMAL, HIGH, HIGHEST)
priority: HIGH
# 必需:配额类型(枚举:RESERVED, SPOT)
quota_type: RESERVED
# 必需:实例亲和性(枚举:POD_AFFINITY_TYPE_UNSPECIFIED, POD_AFFINITY, POD_ANITAFFINITY)
instance_affinity: POD_AFFINITY
# 可选:滚动更新策略
rolling_update_strategy:
max_unavailable: 1% # 字符串,百分比或数字
max_surge: 100% # 字符串,百分比或数字
# 可选:终止优雅期(秒)
termination_grace_period_seconds: 300
枚举选项参考
- priority: NORMAL | HIGH | HIGHEST
- quota_type: RESERVED | SPOT
- instance_affinity: POD_AFFINITY_TYPE_UNSPECIFIED | POD_AFFINITY | POD_ANITAFFINITY
- storage mount type: PV_AFS | CONFIGMAP | SECRET
示例
使用 YAML 配置文件创建应用:
sco cci apps create your-appname \
--workspace-name your-workspace-name \
--config ./config.yaml \
--ports 1002,1003
创建应用并指定名称:
sco cci apps create my-app \
--workspace-name fc05f98b-2196-4d41-9ea0-c85232e1defa \
--config ./config.yaml