Configuración de capacidades de imagen para imágenes personalizadas

Las capacidades de imagen son las opciones de configuración disponibles al iniciar una instancia desde una imagen. Algunos ejemplos de capacidad de imagen son el firmware que se utiliza para iniciar la instancia, los tipos de asociación de volumen soportados, etc. El juego completo de capacidades de imagen proporcionadas por Oracle Cloud Infrastructure Compute se definen en el esquema de capacidad de imagen global. También puede crear sus propios esquemas de capacidad de imagen personalizados en función del esquema de capacidad de imagen global para especificar y configurar capacidades de imagen para las imágenes personalizadas. Con estos esquemas, puede personalizar la configuración de la imagen y las opciones disponibles cuando los usuarios inicien instancias desde las imágenes personalizadas.

Atención

El uso de esta función permite personalizar las capacidades de imagen a partir de las capacidades por defecto que Oracle recomienda, y debe utilizarse solo para escenarios de imagen personalizada avanzados. Asegúrese de que comprende las opciones de configuración óptimas para la imagen personalizada.

Esquema de capacidad de imagen global

El siguiente JSON es el que se devuelve al utilizar la operación de API GetComputeGlobalImageCapabilitySchemaVersion o el comando de CLI global-image-capability-schema-version. Representa el juego completo de capacidades de imagen disponibles para las imágenes. Los valores por defecto especificados para cada elemento son los valores recomendados para cada opción.

Puede personalizar estas opciones creando esquemas de capacidad de imagen. Al crear un esquema de capacidad de imagen, puede especificar un subjuego de los valores que se incluyen en el esquema de capacidades global. Los valores que no se incluyen en el esquema de capacidades globales no se pueden proporcionar en un esquema de capacidad de imagen.

{
  "Compute.AMD_SecureEncryptedVirtualization": {
    "descriptorType": "boolean",
    "source": "IMAGE",
    "defaultValue": false
  },
  "Compute.Firmware": {
    "descriptorType": "enumstring",
    "values": [
      "BIOS",
      "UEFI_64"
    ],
    "defaultValue": "UEFI_64"
  },
  "Compute.SecureBoot": {
      "descriptorType": "boolean",
      "defaultValue": false
  },
  "Compute.LaunchMode": {
    "descriptorType": "enumstring",
    "values": [
      "NATIVE",
      "EMULATED",
      "PARAVIRTUALIZED",
      "CUSTOM"
    ],
    "defaultValue": "PARAVIRTUALIZED"
  },
  "Network.AttachmentType": {
    "descriptorType": "enumstring",
    "values": [
      "E1000",
      "VFIO",
      "PARAVIRTUALIZED"
    ],
    "defaultValue": "PARAVIRTUALIZED"
  },
  "Storage.BootVolumeType": {
    "descriptorType": "enumstring",
    "values": [
      "ISCSI",
      "SCSI",
      "IDE",
      "PARAVIRTUALIZED"
    ],
    "defaultValue": "PARAVIRTUALIZED"
  },
  "Storage.LocalDataVolumeType": {
    "descriptorType": "enumstring",
    "values": [
      "ISCSI",
      "SCSI",
      "IDE",
      "PARAVIRTUALIZED"
    ],
    "defaultValue": "PARAVIRTUALIZED"
  },
  "Storage.RemoteDataVolumeType": {
    "descriptorType": "enumstring",
    "values": [
      "ISCSI",
      "SCSI",
      "IDE",
      "PARAVIRTUALIZED"
    ],
    "defaultValue": "PARAVIRTUALIZED"
  },
  "Storage.ConsistentVolumeNaming": {
    "descriptorType": "boolean",
    "defaultValue": "true"
  },
  "Storage.ParaVirtualization.EncryptionInTransit": {
    "descriptorType": "boolean",
    "defaultValue": "true"
  },
  "Storage.ParaVirtualization.AttachmentVersion": {
    "descriptorType": "enuminteger",
    "values": [
      1,
      2
    ],
    "defaultValue": 2
   },
   "Storage.Iscsi.MultipathDeviceSupported": {
    "descriptorType": "boolean",
    "defaultValue": false
   }
}

Elementos del esquema

En la siguiente lista se describen todos los elementos disponibles en el esquema de capacidades de imagen global.

  • Compute.AMD_SecureEncryptedVirtualization: proporciona informática confidencial a los usuarios de máquinas virtuales utilizando la virtualización cifrada segura (SEV) de AMD en unidades AMD. Los datos se cifran durante el uso, y puede verificar la confidencialidad mediante un proceso de acreditación seguro. El valor por defecto es false.
  • Compute.Firmware: firmware utilizado para iniciar la instancia de máquina virtual. El valor por defecto es UEFI_64.

  • Compute.SecureBoot: si la instancia puede utilizar el inicio seguro. El valor por defecto es false.

    Importante

    Las imágenes personalizadas no soportan el inicio seguro.
  • Compute.LaunchMode: modo de configuración para iniciar instancias. El valor por defecto es PARAVIRTUALIZADO.

  • Network.AttachmentType: tipo de emulación para la VNIC principal, que se crea y se asocia automáticamente cuando se inicia la instancia. El valor por defecto es PARAVIRTUALIZADO.

  • Storage.BootVolumeType: especifica las opciones de controlador para el volumen de inicio de la imagen. El valor por defecto es PARAVIRTUALIZADO.

  • Storage.LocalDataVolumeType: especifica las opciones de controlador para que la imagen acceda a volúmenes de almacenamiento locales. El valor por defecto es PARAVIRTUALIZADO.

  • Storage.RemoteDataVolumeType: especifica las opciones de controlador para que la imagen acceda a volúmenes de almacenamiento remotos. El valor por defecto es PARAVIRTUALIZADO.

  • Storage.ConsistentVolumeNaming: especifica si se activan para la imagen las rutas de dispositivo consistentes para volúmenes en bloque asociados paravirtualizados e iSCI. Si están activadas, la imagen debe soportar nombres de dispositivo consistentes. El valor por defecto es verdadero.

  • Storage.ParaVirtualization.EncryptionInTransit: especifica si el cifrado en tránsito está activado para la asociación de volumen de inicio de la imagen. Solo se aplica a las asociaciones de volumen de inicio paravirtualizadas. El valor por defecto es verdadero.

  • Storage.ParaVirtualization.AttachmentVersion: especifica la versión de paravirtualización para asociaciones de volumen en bloque y de volumen de inicio. Solo se aplica a las asociaciones de volumen paravirtualizadas. El valor por defecto es 2.

  • Storage.Iscsi.MultipathDeviceSupported: especifica si están soportadas las asociaciones activadas para rutas múltiples para la imagen. Solo se aplica a las asociaciones de volumen iSCSI. El valor por defecto es false.

Política de IAM necesaria

Para utilizar Oracle Cloud Infrastructure, un administrador debe otorgarle acceso de seguridad en una política . Este acceso está requerido tanto si está utilizando la consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indica que no tiene permiso o no está autorizado, verifique con su administrador qué tipo de acceso tiene y en qué compartimento  debe trabajar.

Si no está familiarizado con las políticas, consulte Introducción a las políticas y Políticas comunes. Para obtener material de referencia sobre políticas de escritura para instancias, redes en la nube u otros recursos de la API de servicios principales, consulte Detalles de los servicios principales.

Para los administradores, la siguiente política proporcionan acceso completo al marco de esquema de capacidad de imagen:

Allow group IAM_group_name to manage compute-image-capability-schema in tenancy

Uso de la consola

  1. Abra el menú de navegación y haga clic en Recursos informáticos. En Compute, haga clic en Imágenes personalizadas.
  2. Haga clic en la imagen personalizada que le interese.

  3. Haga clic en Editar capacidades de imagen.

  4. Edite las capacidades de imagen que desea configurar. Para obtener detalles sobre cada capacidad de imagen, consulte Elementos del esquema.

  5. Haga clic en Guardar cambios.

Uso de la CLI

Para obtener información sobre el uso de la CLI, consulte Interfaz de línea de comandos (CLI). Para trabajar con esquemas de capacidad de imagen mediante la CLI, abra un símbolo del sistema y ejecute cualquiera de los siguientes comandos.

Para mostrar el esquema de capacidad de imagen global:

oci compute global-image-capability-schema list

Para mostrar las versiones del esquema de capacidad de imagen global:

oci compute global-image-capability-schema-version list --global-image-capability-schema-id <global_image_capability_schema_OCID>

Para recuperar la versión del esquema de capacidad de imagen global:

oci compute global-image-capability-schema-version get --global-image-capability-schema-id <global_image_capability_schema_OCID> --global-image-capability-schema-version-name <version_name>

Para mostrar los esquemas de capacidad de imagen en el compartimento especificado:

oci compute image-capability-schema list --compartment-id <compartment_OCID>

Para recuperar el esquema de capacidad de imagen para el ID especificado:

oci compute image-capability-schema get --image-capability-schema-id <image_capability_schema_OCID>

Para actualizar el esquema de capacidad de imagen especificado:

oci -d compute image-capability-schema update --image-capability-schema-id <image_capability_schema_OCID> --schema-data file://<schema_data_file>.json

Para crear un esquema de capacidad de imagen:

oci compute image-capability-schema create --schema-data file://<schema_data_file>.json --compartment-id <compartment_OCID> --image-id <image_OCID> --global-image-capability-schema-version-name <version_name>

Al crear el esquema, especifique el OCID de imagen para la imagen personalizada a la que desea aplicar el esquema de capacidad de imagen.

Para suprimir el esquema de capacidad de imagen especificado:

oci -d compute image-capability-schema delete --image-capability-schema-id <image_capability_schema_OCID>

Uso de la API

Ejemplo

En este ejemplo, se muestra cómo utilizar la CLI para actualizar el esquema de capacidad de imagen para una imagen personalizada. Para obtener información sobre el uso de la CLI, consulte Interfaz de línea de comandos (CLI).

  1. Abra un símbolo del sistema y ejecute el siguiente comando para recuperar el esquema global actual de la región:

    oci compute global-image-capability-schema list

    La respuesta es similar a la siguiente:

    {
      "data":
      [
        {
          "compartment-id": null,
          "current-version-name": "<version_name>",
          "defined-tags":
          {},
          "display-name": "OCI.ComputeGlobalImageCapabilitySchema",
          "freeform-tags":
          {},
          "id": "ocid1.computeglobalimgcapschema.oc1.phx.<unique_ID>",
          "time-created": "2020-03-23T19:20:39.656000+00:00"
        }
      ],
      "opc-next-page": "<unique_ID>"
    }
  2. Mediante el OCID y el nombre de versión del esquema de capacidad de imagen global que ha recuperado en el paso anterior, ejecute el siguiente comando para obtener el esquema de capacidad de imagen global:
    oci compute global-image-capability-schema-version get --global-image-capability-schema-id <global_image_capability_schema_OCID> --global-image-capability-schema-version-name <version_name>

    La respuesta contiene el esquema de capacidad de imagen global.

  3. Busque el elemento de esquema que desea actualizar y, a continuación, haga lo siguiente:

    1. Copie el elemento de esquema que desea actualizar. En este ejemplo, se utiliza el elemento de esquema Storage.ParaVirtualization.EncryptionInTransit.
    2. Si el elemento de esquema contiene un campo source, cambie el valor de GLOBAL a IMAGE. Por ejemplo:

      {
        "Storage.ParaVirtualization.EncryptionInTransit":
        {
          "default-value": true,
          "descriptor-type": "boolean",
          "source": "IMAGE"
        }
      }
    3. Guarde los elementos de esquema actualizados como un archivo .json.
  4. Para verificar si la imagen ya está utilizando la capacidad de imagen, ejecute el siguiente comando:

    oci compute image-capability-schema list --image-id <image_OCID>
    • Si la imagen utiliza la capacidad de imagen, la respuesta contiene una línea similar a la siguiente:

      "compute-global-image-capability-schema-version-name": "<version_name>"

      La respuesta también contiene el OCID de esquema de capacidad de imagen.

    • Si la imagen no utiliza la capacidad de imagen, cree un esquema de capacidad de imagen para la imagen ejecutando el siguiente comando:

      oci compute image-capability-schema create --global-image-capability-schema-version-name <version_name> --image-id <image_OCID> --schema-data file://<schema_data_file>.json --compartment-id <compartment_OCID>

      <schema_data_file> es la ruta al archivo .json que contiene los elementos de esquema que desea actualizar, que ha creado en el paso anterior.

      La respuesta es similar a la siguiente:

      {
        "data":
        {
          "compartment-id": "ocid1.compartment.oc1..<unique_ID>",
          "compute-global-image-capability-schema-id": "ocid1.computeglobalimgcapschema.oc1.phx.<unique_ID>",
          "compute-global-image-capability-schema-version-name": "<version_name>",
          "defined-tags":
          {},
          "display-name": "<compute_img_capability_schema_name>",
          "freeform-tags":
          {},
          "id": "ocid1.computeimgcapschema.oc1.phx.<unique_ID>",
          "image-id": "ocid1.image.oc1.phx.<unique_ID>",
          "schema-data":
          {
            "Storage.ParaVirtualization.EncryptionInTransit":
            {
              "default-value": false,
              "descriptor-type": "boolean",
              "source": "IMAGE"
            }
          },
          "time-created": "2021-07-01T22:42:56.140000+00:00"
        },
        "etag": "<etag>"
      }
  5. Para actualizar el esquema de capacidad de imagen, ejecute el siguiente comando:

    oci compute image-capability-schema update --image-capability-schema-id <image_capability_schema_OCID> --schema-data file://<schema_data_file>.json

    <schema_data_file> es la ruta al archivo .json que contiene los elementos de esquema que desea actualizar.