Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Subir imágenes

Actualmente, hay tres formas que se admiten para crear una imagen: subir imágenes a través de URL, subir imágenes a través de archivos locales y crear imágenes a través de volúmenes.

Subir imágenes a través de URL

  • INTERFAZ DE USUARIO

  • API

  • Terraform

Para importar imágenes de máquinas virtuales en la página de Imágenes, introduce una URL que pueda ser accedida desde el clúster. La descripción y las etiquetas son opcionales.

  • El nombre de la imagen se completa automáticamente utilizando el nombre del archivo en la dirección URL. Puedes personalizar el nombre de la imagen en cualquier momento.

  • Evita usar una URL de compilación diaria (por ejemplo, el compilación diaria de Ubuntu Jammy). Cuando se pierden todas las réplicas de una imagen de respaldo de Longhorn, Longhorn intenta descargar el archivo nuevamente para fines de auto-reparación. Usar una URL de compilación diaria es problemático porque la URL en sí cambia, causando un desajuste de suma de comprobación y un conflicto que resulta en réplicas perdidas.

Los archivos de imagen grandes pueden causar problemas de memoria en SUSE Virtualization cuando utilizas clases de almacenamiento de terceros con URLs de descarga que están alojadas en servidores que no soportan solicitudes de rango HTTP (por ejemplo, el http.server de Python). Para descargas fiables, utiliza NGINX o Apache en su lugar. (Este problema se ha corregido en v1.6.1.)

upload image

Para importar una imagen de máquina virtual de un repositorio utilizando la API, crea un objeto VirtualMachineImage. Debes especificar una URL que pueda ser accedida desde el clúster.

Ejemplo:

apiVersion: harvesterhci.io/v1beta1
kind: VirtualMachineImage
metadata:
  name: opensuse-leap
  namespace: default
spec:
  description: A human-readable description for the VM image
  displayName: openSUSE-Leap
  sourceType: download
  url: "https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2"
  checksum: 80c27afb7cd791ac86ee1b0b0c572a242f6142579db5beac841e71151d370cd6

Para más información, consulta la referencia de la API.

resource "harvester_image" "opensuse154" {
  name      = "opensuse154"
  namespace = "harvester-public"

  display_name = "openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
  source_type  = "download"
  url          = "https://downloadcontent-us1.opensuse.org/repositories/Cloud:/Images:/Leap_15.4/images/openSUSE-Leap-15.4.x86_64-NoCloud.qcow2"
}

Subir imágenes a través de archivo local

Actualmente, se admiten imágenes qcow2, raw e ISO.

  • Por favor, no actualices la página hasta que la carga del archivo haya finalizado.

upload image local

Error HTTP 413 en SUSE Rancher Prime Gestión de Múltiples Clústeres

Puedes subir imágenes desde la pantalla Gestión de Múltiples Clústeres en la interfaz SUSE Rancher Prime UI. Cuando el estado de una imagen es _Subiendo pero el indicador de progreso muestra 0% durante un período prolongado, verifica el código de estado de la respuesta HTTP. 413 indica que el tamaño del cuerpo de la solicitud excede el límite.

img 413 code

El tamaño máximo del cuerpo de la solicitud debe ser específico para el clúster que está alojando SUSE Rancher Prime (por ejemplo, los clústeres RKE2 tienen un límite predeterminado de 1 MB, pero no existe tal límite en los clústeres K3s).

La solución actual es subir imágenes desde la interfaz SUSE Virtualization UI. Si eliges subir imágenes desde la interfaz SUSE Rancher Prime UI, es posible que necesites configurar ajustes relacionados en el servidor de ingreso (por ejemplo, proxy-body-size en NGINX).

Si SUSE Rancher Prime está desplegado en un clúster RKE2, realiza los siguientes pasos:

  1. Edita el ingreso de SUSE Rancher Prime.

    kubectl -n cattle-system edit ingress rancher
  2. Especifica un valor para nginx.ingress.kubernetes.io/proxy-body-size.

    Ejemplo:

    img ingress client body

  3. Elimina la imagen atascada y luego reinicia el proceso de carga.

Subida Prolongada de Imágenes Grandes en SUSE Rancher Prime Gestión de Múltiples Clústeres

Si subes una imagen grande (más de 10 GB) desde la pantalla Gestión de Múltiples Clústeres en la interfaz SUSE Rancher Prime UI, la operación puede tardar más de lo habitual y el estado de la imagen (Subiendo) puede no cambiar.

Este comportamiento está relacionado con proxy-request-buffering en la configuración de ingress, que también es específica para el clúster que está alojando SUSE Rancher Prime.

La solución actual es subir imágenes desde la interfaz SUSE Virtualization UI. Si eliges subir imágenes desde la interfaz SUSE Rancher Prime UI, es posible que necesites configurar ajustes relacionados en el servidor de ingreso (por ejemplo, proxy-request-buffering en NGINX).

Si SUSE Rancher Prime está desplegado en un clúster RKE2, realiza los siguientes pasos:

  1. Edita el ingreso de SUSE Rancher Prime.

    kubectl -n cattle-system edit ingress rancher
  2. Desactiva nginx.ingress.kubernetes.io/proxy-request-buffering.

    Ejemplo:

    img ingress request proxy buffering

  3. Elimina la imagen atascada y luego reinicia el proceso de carga.

Subiendo imágenes previamente descargadas desde SUSE Virtualization

A partir de v1.5.5, Longhorn comprime imágenes de respaldo para descargar. Si intentas subir una imagen de respaldo comprimida, SUSE Virtualization rechaza el intento y muestra el mensaje La carga falló: el tamaño del archivo subido xxxx debe ser un múltiplo de 512 bytes ya que Longhorn utiliza directIO por defecto porque los datos comprimidos violan la alineación de datos de Longhorn.

Antes de subir, descomprime las imágenes de respaldo utilizando el comando gzip -d <file name>.

Crea Imágenes a través de Volúmenes

En la página de Volúmenes, haz clic en Exportar Imagen. Introduce el nombre de la imagen y selecciona una Clase de Almacenamiento para crear una imagen.

export volume to image 1

Clase de Almacenamiento de Imagen

Al crear una imagen, puedes seleccionar una Clase de Almacenamiento y utilizar sus parámetros predefinidos como réplicas, selectores de nodo y selectores de disco.

La imagen no utiliza directamente la StorageClass seleccionada aquí. Es solo una plantilla de StorageClass.

En su lugar, crea una Clase de Almacenamiento especial en segundo plano con un nombre de prefijo de longhorn-. Esto lo hace automáticamente el sistema secundario de SUSE Virtualization, pero hereda los parámetros de la Clase de Almacenamiento que has seleccionado.

image storageclass

Etiquetas de Imagen

Puedes añadir etiquetas a la imagen, lo que ayuda a identificar el tipo de SO con mayor precisión. Además, puedes añadir cualquier etiqueta personalizada para filtrar si es necesario.

Si el nombre de tu imagen o URL contiene información válida, la interfaz de usuario reconoce automáticamente el tipo de SO y la categoría de imagen por ti. Si no, también puedes especificar manualmente esas etiquetas correspondientes en la interfaz de usuario.

image labels