使用ISO文件创建镜像
场景描述
ISO是一种光盘映像文件,通过特定的压缩方式,将大量的数据文件统一为一个后缀名为iso的映像文件。ISO文件可以理解为从光盘中复制出来的数据文件,所以ISO文件无法直接使用,需要利用一些工具进行解压后才能使用。例如使用虚拟光驱打开,或者将ISO文件刻录到光盘中后,使用光驱来进行读取。
本章介绍通过ISO文件创建私有镜像的API操作过程。
涉及API
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。
具体步骤
- Token认证,具体操作请参考认证鉴权。
- 使用上传至OBS桶中的ISO镜像文件制作私有镜像。
- 发送“POST https://{IMS的Endpoint}/v2/cloudimages/action”。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入如下参数:
详细的参数说明请参见“制作镜像”。
{ "name": "ims_test_file", //镜像名称(必填String) "description": "OBS文件制作镜像", //镜像描述(非必填String) "image_url": "ims-image:centos70.iso", //OBS桶中外部镜像文件地址(必填String) "os_type": "Linux", //操作系统类型(非必填String) "os_version": "CentOS 7.0 64bit", //操作系统版本(必填String) "type": "IsoImage", //镜像的类型(必填String) "min_disk": 40, //最小系统盘大小(必填Integer) "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] //镜像标签列表(非必填Array of objects) }
- 请求响应成功后,返回job_id,根据job_id查询job详情,可以获取镜像ID。具体操作请参考异步任务查询。
- 根据ISO镜像创建一台临时云服务器。
- 创建云服务器时,只能选择通用计算型、2 vCPU、内存为4G及以上的KVM类型的规格。
- 通过ISO镜像创建云服务器必须创建两块盘,一块系统盘一块数据盘,在安装操作系统时,操作系统默认安装至数据盘中。
- 发送“POST https://{ECS的Endpoint}/v1/{project_id}/cloudservers”。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入如下参数:
以下参数均为必填项,详细的参数说明请参见“创建云服务器(按需)”。
{ "server": { "imageRef": "fac42d61-ea1e-4271-94ba-6543a852d2c6", //上一步获取的镜像ID "flavorRef": "rc6.large.2_manage", "name": "instance-test", "vpcid": "18ec99f0-7159-4d7b-ad27-f32315d5af61", "nics": [{ "subnet_id": "81a4ecb0-0451-4c60-8373-8b923238ec40" }], "root_volume": { "volumetype": "SATA", "size": "40" }, "data_volumes": [{ "volumetype": "SATA", "size": "40" }], "availability_zone": "az-1a", "metadata": { "virtual_env_type": "IsoImage" }, "extendparam": { "diskPrior": "true" } } }
- 请求响应成功后,返回job_id,根据job_id查询job详情,可以获取云服务器ID。具体操作请参考“查询任务的执行状态”。
- 根据云服务器ID查询云服务器详情,可以获取4中需要用到的数据盘ID(volume_id)。具体操作请参考“查询云服务器详情”。
- 使用临时云服务器创建标准私有镜像。
- 发送“POST https://{IMS的Endpoint}/v2/cloudimages/action”。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入如下参数:
详细的参数说明请参见“制作镜像”。
{ "name": "ims_test", //镜像名称(必填String) "description": "数据盘制作系统盘镜像", //镜像描述(非必填String) "volume_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", //数据盘ID(必填String) "type": "ECS", //镜像的类型(必填String) "os_version": "CentOS 7.0 64bit", //操作系统版本(必填String) "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] //镜像标签列表(非必填Array of objects) }
- 请求响应成功后,返回job_id,根据job_id查询job详情,可以获取镜像ID。具体操作请参考异步任务查询。