Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> Image Management Service> Referencia de la API> Ejemplos> Creación de una imagen a partir de un archivo ISO
Actualización más reciente 2022-11-07 GMT+08:00

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.

APIs involucradas

If you use a token for authentication, you must obtain the token and add X-Auth-Token to the request header of the IMS API when making an API call.

  • IAM API used to obtain the token

    URI format: POST https://IAM endpoint/v3/auth/tokens

  • 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

  1. Obtener el token haciendo referencia a Autenticación.
  2. Cree una imagen privada utilizando un archivo de imagen ISO cargado en el bucket OBS.
    1. Enviar POST https://IMS endpoint/v2/cloudimages/action.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. 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 (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)
      }
    4. Obtenga el ID de imagen consultando los detalles del trabajo según el job_id devuelto. Para más detalles, consulte Consulta de Trabajo Asincrónico.
  3. Cree un ECS temporal a partir de la imagen ISO.
    • Solo puede seleccionar un tipo de computación general con 2 vCPUs, 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.
    1. Enviar POST https://ECS endpoint/v1/project_id/cloudservers.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. Establezca los siguientes parámetros en el cuerpo de la solicitud:

      Los siguientes parámetros son obligatorios. Para obtener más información 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"
              }
          }
      }
    4. Obtenga el ID de ECS consultando los detalles del trabajo según el job_id devuelto. Para obtener más información, consulte Consulta de estado de ejecución de tareas.
    5. 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 información, consulte Consulta de detalles sobre un ECS.
  4. Utilice el ECS temporal para crear una imagen privada estándar.
    1. Enviar POST https://IMS endpoint/v2/cloudimages/action.
    2. Agregue X-Auth-Token al encabezado de solicitud.
    3. 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)
      }
    4. Obtenga el ID de imagen consultando los detalles del trabajo según el job_id devuelto. Para más detalles, consulte Consulta de Trabajo Asincrónico.