Creación de una imagen a partir de un archivo ISO
Escenarios
Un archivo ISO es una imagen de disco de un disco óptico. Un gran número de archivos de datos se pueden comprimir en un solo archivo ISO. Del mismo modo, para acceder a los archivos almacenados en una ISO, el archivo ISO debe descomprimirse. Por ejemplo, puede utilizar un CD-ROM virtual para abrir un archivo ISO o grabar el archivo ISO en un CD o DVD y, a continuación, utilizar el CD-ROM para leer la imagen.
Esta sección describe cómo usar las API para crear una imagen privada a partir de un archivo ISO.
Las API involucradas
- API de IMS utilizada para crear una imagen privada mediante un archivo de imagen cargado en el bucket OBS
Formato URI: POST https://IMS endpoint/v2/cloudimages/action
- API de ECS utilizada para crear un ECS (pago por uso)
Formato URI: POST https://ECS endpoint/v1/project_id/cloudservers
- API de IMS utilizada para crear una imagen de disco de sistema a partir de un disco de datos
Formato URI: POST https://IMS endpoint/v2/cloudimages/action
Procedimiento
- Consulte Autenticación para obtener el token.
- Cree una imagen privada utilizando un archivo de imagen ISO cargado en el bucket OBS.
- Envíe POST https://IMS endpoint/v2/cloudimages/action.
- Agregue X-Auth-Token al encabezado de solicitud.
- Establezca los siguientes parámetros en el cuerpo de la solicitud:
Para obtener más información sobre los parámetros, consulte Creación de una imagen.
{ "name": "ims_test_file", //Image name (mandatory, string) "description": "Image creation using an image file uploaded to the OBS bucket", //Image description (optional, string) "image_url": "ims-image:centos70.iso", //Image file address in an OBS bucket (mandatory, string) "os_type": "Linux", //OS type (optional, string) "os_version": "CentOS 7.0 64bit", //OS version (mandatory, string) "type": "IsoImage", //Image type (mandatory, string) "min_disk": 40, //Minimum system disk space (mandatory, integer) "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] //Image tags (optional, array of objects) }
- Obtenga el ID de imagen consultando los detalles del trabajo según el job_id devuelto. Consulte Consulta del estado de un trabajo asincrónico para obtener más detalles.
- Cree un ECS temporal a partir de la imagen ISO.
- Solo puede seleccionar una variante de cómputo general con 2 vCPU, 4 GB o más de memoria y tipo de virtualización KVM.
- Es necesario crear un disco del sistema y un disco de datos para el ECS. El sistema operativo se instalará en el disco de datos de forma predeterminada.
- Envíe POST https://ECS endpoint/v1/project_id/cloudservers.
- Agregue X-Auth-Token al encabezado de solicitud.
- Establezca los siguientes parámetros en el cuerpo de la solicitud:
Los siguientes parámetros son obligatorios. Para obtener más detalles sobre los parámetros, consulte Creación de un ECS (pago por uso).
{ "server": { "imageRef": "fac42d61-ea1e-4271-94ba-6543a852d2c6", //Image 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" } } }
- Obtenga el ID de ECS consultando los detalles del trabajo según el job_id devuelto. Para obtener más detalles, consulte Consulta de estado de ejecución de tarea.
- Consulte los detalles de ECS basándose en el ID de ECS para obtener el ID de disco de datos (volume_id) requerido en 4. Para obtener más detalles, consulte Consulta de detalles sobre un ECS.
- Utilice el ECS temporal para crear una imagen privada estándar.
- Envíe POST https://IMS endpoint/v2/cloudimages/action.
- Agregue X-Auth-Token al encabezado de solicitud.
- Establezca los siguientes parámetros en el cuerpo de la solicitud:
Para obtener más información sobre los parámetros, consulte Creación de una imagen.
{ "name": "ims_test", //Image name (a mandatory string) "description": "Creating a system disk image from a data disk", //Image description (optional, string) "volume_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", //Data disk ID (mandatory, string) "type": "ECS", //Image type (mandatory, string) "os_version": "CentOS 7.0 64bit", //OS version (mandatory, string) "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}] //Image tags (optional, array of objects) }
- Obtenga el ID de imagen consultando los detalles del trabajo según el job_id devuelto. Consulte Consulta del estado de un trabajo asincrónico para obtener más detalles.