云服务器内容精选

  • 响应示例 { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "deploy_mode": "virtualmachine", "vpc_id": "234241234124xxvasf2342xxxxxxxxxxx", "resources": [ { "id": "329b135e-7b31-4ea6-afb9-b69017bd0a80", "type": "ecs", "name": "ecs-test" } ], "creator": "ss-test", "create_time": 1578984198394, "update_time": 1578984198394, "labels": null }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json;charset=utf8”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。
  • 响应消息 表3 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 deploy_mode String 环境类型。 vpc_id String 虚拟私有云ID。 creator String 环境创建人。 create_time Integer 环境创建时间。 update_time Integer 环境修改时间。 labels Array of objects 标签,可使用标签管理服务通过标签过滤资源,请参考表4。 resources Array of objects 资源,请参考表5。 表4 labels 参数 参数类型 描述 key String 标签名称。 value String 标签值。 表5 resources 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 资源类型。 vpc,虚拟私有云。 eip,弹性公网IP。 elb,弹性负载均衡。 cce,云容器引擎。 ecs,弹性云服务器。 as,弹性伸缩组。 cse,微服务引擎。 dcs,分布式缓存服务。 rds,云数据库。
  • 前提条件 根据实际需要创建需纳管的基础资源: 已创建环境待纳管的状态为运行中的弹性 云服务器ECS ,E CS 和环境所在的VPC需要一致,且不能被其他环境纳管。 弹性云服务器ECS用于“虚拟机”类型环境下部署和运行组件。创建弹性云服务器ECS,请参考自定义购买ECS。 已创建环境待纳管的弹性伸缩组AS,AS和环境所在的VPC需要一致,且不能被其他环境纳管。且AS中已包含弹性云服务器。 弹性伸缩组AS用于“虚拟机”类型环境下部署和运行组件。创建弹性伸缩组AS,请参考创建伸缩组。 已创建环境待纳管的弹性负载均衡ELB,ELB和环境所在的VPC需要一致。 用于支持通过绑定了弹性公网IP的ELB以公网 域名 方式访问组件提供的服务,或者通过ELB灰度发布升级容器部署方式部署的组件。请参考下表根据实际应用场景创建弹性负载均衡ELB。 使用场景 参考章节 使用域名访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 容器部署方式部署的组件适用。 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 已创建环境待纳管的弹性IP。 弹性IP用于通过弹性IP访问方式访问组件提供的服务。创建弹性IP,请参考申请弹性公网IP。 已创建环境待纳管的 虚拟私有云VPC 。虚拟私有云VPC提供了逻辑隔离的、由您自主配置和管理的虚拟网络环境,旨在提升您的云资源安全性,简化您的网络部署。 创建虚拟私有云VPC,请参考创建虚拟私有云和子网。 已创建环境待纳管的虚拟私有云子网。虚拟私有云子网是VPC中的一个网段,属于三层网络,一个VPC可以创建多个子网,用来分类管理有不同业务需求的云资源。 创建虚拟私有云子网,请参考创建虚拟私有云和子网。 已创建环境待纳管的网络ACL,用于为与其关联了的子网提供安全防护。 创建网络ACL,请参考创建网络ACL。 已创建环境待纳管的分布式缓存DCS,DCS和环境所在的VPC需要一致。 分布式缓存DCS用于在应用运行时读取环境变量来获取分布式缓存的相关信息。创建分布式缓存DCS,请参考购买Redis实例。 已创建环境待纳管的MySQL数据库引擎的云数据库RDS实例,RDS和环境所在的VPC需要一致。 云数据库RDS用于应用数据持久化存储。创建云数据库RDS,请参考购买RDS for MySQ L实例 。 已创建环境待纳管的ServiceComb引擎(即微服务引擎,请参见微服务引擎概述),如果微服务引擎与环境所在VPC不一致,需正确配置VPC连通。 微服务引擎用于将运行在环境下的微服务接入引擎,实现微服务注册发现、服务治理和配置管理。创建微服务引擎,请参考创建微服务引擎。 已创建环境待纳管的注册配置中心。如果注册配置中心与环境所在VPC不一致,需正确配置VPC连通。 注册配置中心用于将运行在环境下的微服务接入引擎,实现微服务注册发现和配置管理。创建注册配置中心,请参考创建注册配置中心。
  • 纳管基础资源 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 参考下表纳管需要纳管到环境下的基础资源。 资源类型 资源名称 操作方法 计算 云容器引擎 CCE 请参考绑定CCE集群。 Kubernetes类型的环境支持绑定CCE集群资源。如需管理环境下的CCE集群资源,请参考管理CCE资源。 弹性云服务器 ECS 选择“计算”资源下的“弹性云服务器 ECS”。 单击“纳管资源”。 勾选待纳管的ECS资源。 单击“确定”。 虚拟机类型的环境支持纳管ECS资源。 同一VPC下,已被其他环境纳管的ECS资源,不支持被再次纳管。 如果纳管的ECS资源Agent状态为“缺少Agent,请先安装”,请参考安装虚拟机Agent完成Agent安装。 弹性伸缩组 AS 选择“计算”资源下的“弹性伸缩组 AS”。 单击“纳管资源”。 勾选待纳管的AS资源。 单击“确定”。 虚拟机类型的环境支持纳管AS资源。 同一VPC下,已被其他环境纳管的AS资源,不支持被再次纳管。 如果纳管的AS资源下选择的ECS Agent状态为“缺少Agent,请先安装”,请参考安装虚拟机Agent完成Agent安装。 网络 弹性负载均衡 ELB 选择“网络”资源下的“弹性负载均衡 ELB”。 单击“纳管资源”。 勾选待纳管的ELB资源。 单击“确定”。 弹性IP EIP 选择“网络”资源下的“弹性IP EIP”。 单击“纳管资源”。 勾选待纳管的EIP资源。 单击“确定”。 虚拟私有云 VPC 选择“网络”资源下的“虚拟私有云 VPC”。 单击“纳管资源”。 勾选待纳管的VPC资源。 单击“确定”。 子网 Subnet 选择“网络”资源下的“子网 Subnet”。 单击“纳管资源”。 勾选待纳管的VPC子网资源。 单击“确定”。 网络 ACL 选择“网络”资源下的“网络 ACL”。 单击“纳管资源”。 勾选待纳管ACL资源。 单击“确定”。 中间件 分布式缓存 DCS 选择“中间件”资源下的“分布式缓存 DCS”。 单击“纳管资源”。 勾选待纳管的DCS资源。 单击“确定”。 ServiceComb引擎 选择“中间件”资源下的“ServiceComb引擎”。 单击“纳管资源”。 选择待纳管的ServiceComb资源。 单击“确定”。 注册配置中心 选择“中间件”资源下的“注册配置中心”。 单击“纳管资源”。 勾选待纳管的注册配置中心资源。 单击“确定”。 云数据库 RDS 选择“中间件”资源下的“云数据库 RDS”。 单击“纳管资源”。 勾选待纳管的RDS资源。 单击“确定”。
  • 注意事项 本文旨在指导如何在Snt9b裸金属服务器上,进行磁盘合并挂载、安装docker等环境配置。在配置前请注意如下事项: 首次装机时需要配置存储、固件、驱动、网络访问等基础内容,这部分配置尽量稳定减少变化。 裸机上的开发形式建议开发者启动独立的Docker容器作为个人开发环境。Snt9b的裸机包含8卡算力资源,一般来说多人可以共用这个裸机完成开发与调测工作。多人使用为了避免冲突,建议各自在自己的docker容器中进行独立开发,并提前规划好每个人使用的具体卡号,避免相互影响。 ModelArts提供了标准化基础容器镜像,在容器镜像中已经预置了基础MindSpore或PyTorch框架和开发调测工具链,推荐用户直接使用该镜像,用户也可以使用自己的业务镜像或昇腾AscendHub提供的镜像。如果镜像中预置的软件版本不是您期望的版本,可以自行安装替换。 开发形式推荐通过容器中暴露的SSH端口以远程开发的模式(VSCode SSH Remote、 Xshell)连接到容器中进行开发,可以在容器中挂载宿主机的个人存储目录,用于存放代码和数据。 当前指导中很多操作步骤在最新发放的Snt9b裸机环境中已经预置,无需用户再手动配置,用户在操作中如发现某个步骤已有预置配置可直接跳过该步骤。
  • 请求示例 如下以创建名为“notebook-instance”,配置ID为“Python3-gpu”的实例为例。 请求示例 { "name": "notebook-instance", "description": "", "profile_id": "Multi-Engine 1.0 (python3)-gpu", "flavor": "modelarts.bm.gpu.v100NV32", "spec": { "storage": { "location": { "volume_size": 5 }, "type": "evs" }, "auto_stop": { "enable": true, "duration": 3600 } }, "workspace": { "id": "0" }}
  • 响应示例 成功响应示例 { "ai_project": { "id": "default-ai-project" }, "creation_timestamp": "1594887749962", "description": "", "flavor": "modelarts.bm.gpu.v100NV32", "flavor_details": { "name": "modelarts.bm.gpu.v100NV32", "params": { "CPU": 8, "GPU": 1, "gpu_type": "v100NV32", "memory": "64GiB" }, "status": "onSale", "type": "GPU" }, "id": "DE-7d558ef8-c73d-11ea-964c-0255ac100033", "latest_update_timestamp": "1594887749962", "name": "notebook-c6fd", "profile": { "de_type": "Notebook", "description": "multi engine, gpu, python 3.6 for notebook", "flavor_type": "GPU", "id": "Multi-Engine 1.0 (python3)-gpu", "name": "Multi-Engine 1.0 (python3)-gpu", "provision": { "spec": { "engine": "CCE", "params": { "image_name": "mul-kernel-gpu-cuda-cp36", "image_tag": "2.0.5-B003", "namespace": "atelier" } }, "type": "Docker" } }, "spec": { "annotations": { "target_domain": "https://modelarts-notebook-2.xxxx.com", "url": "" }, "auto_stop": { "duration": 3600, "enable": true, "prompt": true }, "storage": { "location": { "path": "/home/ma-user/work", "volume_size": 5 }, "type": "evs" } }, "status": "CREATING", "user": { "id": "15dda26361214ca2a5953917d2f48ffb", "name": "ops_dev_env" }, "workspace": { "id": "0" }} 失败响应示例 { "error_message": "The param path needs to end with /.", "error_code": "ModelArts.6318"}
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 arch String 该镜像所支持处理器架构类型。枚举值如下: X86_64:x86处理器架构。 AARCH64:ARM体系架构。 create_at Long 镜像创建的时间,UTC毫秒。 description String 该镜像所对应的描述信息,长度限制512个字符。 dev_services Array of strings 镜像支持的服务。枚举值如下: NOTEBOOK:镜像支持通过https协议访问Notebook。 SSH:镜像支持本地IDE通过SSH协议远程连接Notebook。 id String 待创建Notebook实例的镜像,需要指定镜像ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。预置镜像的ID参考查询支持的镜像列表获取。 name String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 namespace String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 origin String 指定镜像来源,可选项,默认自定义构建镜像为CUSTOMIZE。枚举值如下: CUSTOMIZE:用户自定义构建镜像。 IMAGE_SAVE:Notebook实例保存镜像。 resource_categories Array of strings 镜像支持的规格。枚举值如下: CPU GPU ASCEND service_type String 镜像支持服务类型。枚举值如下: COMMON:通用镜像。 INFERENCE: 建议仅在推理部署场景使用。 TRAIN: 建议仅在训练任务场景使用。 DEV: 建议仅在开发调测场景使用。 UNKNOWN: 未明确设置的镜像支持的服务类型。 size Long 镜像大小(单位KB)。 status String 镜像状态。枚举值如下: INIT:初始化。 CREATING:镜像保存中,此时Notebook不可用。 CREATE_FAILED:镜像保存失败。 ERROR:错误。 DELETED:已删除。 ACTIVE:镜像保存成功,保存的镜像可以在SWR控制台查看,同时可以基于保存的镜像创建Notebook实例。 status_message String 镜像保存操作过程中,构建信息展示。 support_res_categories Array of strings 镜像支持的规格。 枚举值如下: CPU GPU ASCEND swr_path String SWR镜像地址。 tag String 镜像Tag。 type String 镜像类型。枚举值如下: BUILD_IN:系统内置镜像。 DEDICATED:用户保存的镜像。 update_at Long 镜像最后更新的时间,UTC毫秒。 visibility String 镜像可见度。枚举值如下: PRIVATE:私有镜像。 PUBLIC: 所有用户可以根据ImageId来进行只读使用。 workspace_id String 工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 请求示例 将运行的实例可以保存成容器镜像。设置镜像名称为“pytorch1_4”,镜像所属组织为“atelier-auto”。 { "name" : "pytorch1_4", "namespace" : "atelier-auto", "tag" : "20221223", "description" : "save from notebook-x21d", "workspace_id" : "0"}
  • 响应示例 状态码:200 OK { "arch" : "x86_64", "create_at" : 1671786468811, "description" : "notebook2.0 20200816", "dev_services" : [ "SSH", "NOTEBOOK" ], "id" : "4e0d1854-63e5-4517-b683-a0ee97a692a1", "name" : "pytorch1_4", "namespace" : "atelier-auto", "origin" : "IMAGE_SAVE", "resource_categories" : [ "CPU", "GPU" ], "service_type" : "TRAIN", "status" : "INIT", "swr_path" : "swr.xxxxx.com/atelier-auto/pytorch1_4:20221223", "tag" : "20221223", "type" : "DEDICATED", "update_at" : 1671786468811, "visibility" : "PRIVATE", "workspace_id" : "0"}
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 description 否 String 该镜像所对应的描述信息,长度限制512个字符。 name 否 String 镜像名称,长度限制512个字符,支持小写字母、数字、中划线、下划线和点。 namespace 否 String 镜像所属组织,可以在SWR控制台“组织管理”创建和查看。 tag 否 String 镜像tag,长度限制64个字符,支持大小写字母、数字、中划线、下划线和点。 workspace_id 否 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 响应示例 状态码: 200 权限数据,list类型数据 [ { "region" : "region", "id" : 99213234, "name" : "环境创建者", "role_id" : "0", "devuc_role_id_list" : null, "environment_id" : "be3e9690d6f64b23b54e79cd02c4b156", "can_view" : true, "can_edit" : true, "can_delete" : true, "can_deploy" : true, "can_manage" : true, "create_time" : "2024-06-21 17:23:55.0", "update_time" : "2024-06-21 17:23:55.0", "role_type" : "environment-creator"}, { "region" : "region", "id" : 99213235, "name" : "项目管理员", "role_id" : "a2e65d2647574f8491cac659a0249d24", "devuc_role_id_list" : null, "environment_id" : "be3e9690d6f64b23b54e79cd02c4b156", "can_view" : true, "can_edit" : true, "can_delete" : true, "can_deploy" : true, "can_manage" : true, "create_time" : "2024-06-21 17:23:55.0", "update_time" : "2024-06-21 17:23:55.0", "role_type" : "project"} ]
  • 训练输出保存结构说明 ModelArts训练作业的模型输出和日志信息会定时同步到指定的OBS中,本示例中模型输出路径和日志输出路径分别为f"{default_obs_dir}/mindspore_model/output/"和f"{default_obs_dir}/mindspore_model/logs/",用户可以在OBS中查看训练输出信息。 本示例中训练输出保存在OBS的目录结构如下所示: ${your_bucket}└── intermidiate├── dataset│ └── flower_photos│ └── flower_photos.zip└── mindspore_model├── logs│ └── xxx-xxx-xxx--0.log├── output│ └── 20220627-105226-resnet50-224└── mindspore-image-models.zip
  • 提交训练作业常见问题 报错信息:Exception: You have attempted to create more buckets than allowed 原因分析:由于桶的数量多于限额,无法自动创建。 解决方法:用户可以删除一个桶,或者直接指定一个已存在的桶(修改变量obs_bucket的值)。 报错信息:"errorMessage":"The number of namespaces exceeds the upper limit"或"namespace is invalid" 原因分析:SWR组织数限额,SWR组织默认最多只能创建5个组织。 解决方法:用户可以删除一个SWR组织,或者直接指定一个已存在的SWR组织(修改变量image_organization的值)。 报错信息:standard_init_linux.go:224: exec user process caused "exet format error" 原因分析:可能由于训练规格错误导致训练作业卡死。 解决方法:请参考说明查询资源规格。 报错信息:报错镜像失败,报错:401,'Unauthorized',b'{errors":[{"errorCode":"SVCSTG.SWR.4010000",errorMessage":"Authenticate Error",……}] 原因分析:远程连接Notebook时需要输入鉴权信息。 解决方法:传入AK,SK信息。 123456 # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;# 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。__AK = os.environ["HUAWEICLOUD_SDK_AK"]__SK = os.environ["HUAWEICLOUD_SDK_SK"]# 如果进行了加密还需要进行解密操作session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***')