|
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. |
Referencia de SeedImage
Un SeedImage recurso permite construir un medio de instalación que se puede utilizar para instalar SUSE® Rancher Prime: OS Manager en un nodo.
Requiere un baseImage, es decir, una URL a una ISO de instalación de SUSE® Rancher Prime: OS Manager o una imagen de contenedor de nodo, y una registrationRef referencia a un recurso MachineRegistration, del cual se extrae la parte de registro de la configuración de SUSE® Rancher Prime: OS Manager y se inyecta en el medio para producir la imagen de semilla final.
También es posible inyectar personalizaciones en el campo cloud-config. Se admiten tanto la sintaxis de yip como la de cloud-init. Consulta la Referencia de Configuración de Nube para obtener información completa.
Una vez que la imagen de semilla está lista, la URL de descarga se comparte en el campo .status.downloadURL.
Permanece disponible para descarga durante cleanupAfterMinutes minutos (el valor predeterminado es 60, 1 hora), después de lo cual se elimina.
Configurar retriggerBuild a true reactiva el proceso de construcción de la imagen de semilla, mientras que configurar cleanupAfterMinutes a 0 mantiene la imagen de semilla hasta que se elimine el recurso SeedImage.
El recurso SeedImage también tiene un campo type que se puede establecer en iso, para construir una ISO, o en raw para construir una imagen de disco en bruto. Las imágenes de disco en bruto se pueden copiar directamente en la unidad de destino y, en el primer arranque, se iniciarán automáticamente en una partición de recuperación para expandir la unidad y utilizar el espacio disponible en disco y registrar el nodo, después de lo cual se reiniciará de la misma manera que para la instalación ISO.
Si no se especifica ningún BuildContainer para la imagen de semilla, se rellenará automáticamente en función de los valores predeterminados y type.
Construir una SeedImage para una plataforma diferente se logra utilizando el campo targetPlatform. La plataforma se especifica utilizando os/arch, por ejemplo (linux/x86_64 o linux/aarch64). Por defecto, la imagen se construirá para la misma plataforma en la que se aloja el operador.
|
Las imágenes de semilla pueden llenar el almacenamiento local.
Las imágenes de semilla se mantienen en el almacenamiento local del nodo: presta atención al número de recursos |
Referencia de SeedImageSpec
| Key | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
imagenBase |
cadena |
vaciar |
La imagen Elemental base utilizada para construir la imagen de semilla. |
registrationRef |
referencia de objeto. |
null |
Una referencia a un MachineRegistration que se utilizará para registrar todas las máquinas instaladas. |
buildContainer |
object |
null |
Configuraciones para un contenedor personalizado utilizado para generar la imagen descargable. (Ver documentación). |
cleanupAfterMinutes |
int |
60 |
El tiempo después del cual se limpiará la imagen de semilla construida. Las descargas activas finalizarán antes de que se elimine la imagen. |
repetirConstrucción |
bool |
false |
Disparador para construir de nuevo una imagen de semilla limpiada. |
tamaño |
cadena |
6Gi |
Especifica el tamaño del volumen utilizado para almacenar la imagen. |
tipo |
cadena |
iso |
Especifica el tipo de imagen de semilla a construir. |
targetPlatform |
cadena |
vaciar |
Especifica la plataforma objetivo para la imagen construida. Ejemplo: |
cloud-config |
object |
null |
Contiene datos de cloud-config que se incluirán en la imagen generada. (Ver documentación). |
BuildContainer
Los ajustes de buildContainer se pueden utilizar para personalizar el contenedor init build dentro del pod del SeedImage.
Este podría ser el caso, por ejemplo, al construir imágenes Elemental personalizadas.
buildContainer:
name: "custom-build"
image: my.registry.com/elemental-custom-builder:1.2.3
command:
- build-image
args:
- foo
- bar
imagePullPolicy: Always
Ten en cuenta que el contenedor también tendrá dos volúmenes montados en /iso y /overlay.
El proceso de construcción de SeedImage espera que el contenedor de construcción coloque el artefacto de construcción en /iso/$(ELEMENTAL_OUTPUT_NAME).
Los archivos de configuración están disponibles en:
-
/overlay/reg/livecd-cloud-config.yaml: Un archivo de configuración que puede ser utilizado porelemental-registerpara registrar la máquina. -
/overlay/iso-config/cloud-config.yaml: El cloud-config definido enSeedImage.spec.cloud-config
La siguiente lista de variables de entorno también puede ser utilizada dentro del contenedor de construcción personalizado:
-
ELEMENTAL_DEVICE: El valor deMachineRegistration.spec.config.elemental.install.device. -
ELEMENTAL_REGISTRATION_URL: La URL única de la MachineRegistration. -
ELEMENTAL_BASE_IMAGE: La imagen base definida enSeedImage. -
ELEMENTAL_OUTPUT_NAME: El nombre de archivo esperado del artefacto de construcción.
Imágenes ISO y Raw
El SeedImage es capaz de construir tipos de imagen iso o raw.
Ten en cuenta que Elemental envía dos sabores diferentes de imágenes, tipos iso o container. Consulta tipo de versión de ManagedOS.
Al construir un iso SeedImage, puedes utilizar una imagen Elemental iso. Las imágenes iso contienen un artefacto .iso preconstruido. Esta es la forma predeterminada de Elemental para enviar ISOs oficiales, de modo que no necesiten ser reconstruidas cada vez que defines un SeedImage.
Haz clic aquí para un ejemplo de ISO SeedImage
apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
name: fire-iso
namespace: fleet-default
spec:
type: iso
baseImage: registry.suse.com/suse/sl-micro/6.0/baremetal-iso-image:2.1.1-3.36
registrationRef:
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
name: fire-nodes
namespace: fleet-default
Alternativamente, al construir un raw SeedImage, deberías utilizar imágenes Elemental container. Estas imágenes también se utilizan durante el proceso de actualización (Consulta: ManagedOSImage), pero también pueden ser utilizadas para construir raw SeedImages.
Haz clic aquí para el ejemplo de Raw SeedImage
apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
name: fire-raw
namespace: fleet-default
spec:
type: raw
baseImage: registry.suse.com/suse/sl-micro/6.0/baremetal-os-container:2.1.1-3.29
registrationRef:
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
name: fire-nodes
namespace: fleet-default
Compatibilidad con diversas plataformas
Elemental distribuye imágenes linux/x86_64 y linux/aarch64 para la mayoría de las versiones.
Para determinar si una imagen ManagedOSVersion es compatible con ambas plataformas, puedes verificar los valores de ManagedOSVersion.spec.metadata.platform. (Consulta documentación).
Al definir un SeedImage, puedes usar este valor para el targetPlatform de la imagen.
Dejar el targetPlatform vacío, se ajustará a la plataforma donde se esté ejecutando el elemental-operator.
Haz clic aquí para el ejemplo de Raw aarch64 SeedImage
apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
name: fire-raw-aarch64
namespace: fleet-default
spec:
targetPlatform: linux/aarch64
type: raw
baseImage: registry.suse.com/suse/sl-micro/6.0/baremetal-os-container:2.1.1-3.29
registrationRef:
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
name: fire-nodes
namespace: fleet-default
URLs descargables
El recurso SeedImage rastrea el proceso de construcción de la imagen semilla a través de dos condiciones de estado:
-
Ready: rastrea la creación de todos los recursos secundarios necesarios que realizan el proceso de construcción real.
-
SeedImageReady: rastrea el estado del proceso de construcción en los recursos secundarios.
Alternativamente, también es posible esperar a que el pod SeedImage esté listo:
kubectl wait --for=condition=ready pod -n fleet-default fire-img
Esperar las condiciones de Ready es una buena práctica antes de descargar cualquier artefacto.
Una vez que un SeedImage esté listo, el .status.downloadURL contendrá la URL descargable.
Ten en cuenta que la URL utilizará el mismo punto final que Rancher, así que ten cuidado con la validación HTTPS al usar certificados autofirmados.
kubectl get seedimage -n fleet-default fire-img -o jsonpath="{.status.downloadURL}"
La suma de comprobación de la imagen también está disponible para verificar que la descarga fue correcta:
kubectl get seedimage -n fleet-default fire-img -o jsonpath="{.status.checksumURL}"