Generalidades
Al usar la línea de comandos de OpenStack para crear una instancia, puedes proporcionar un archivo de datos de usuario durante el inicio para configurar tu instancia. Esto te permite establecer variables del sistema o instalar paquetes durante el inicio.
Esto es posible gracias a cloud-init, que está instalado en varios sistemas Linux de forma predeterminada. Esta descripción es del sitio web de cloud-init:
"cloud-init es el paquete de Ubuntu que se encarga de la inicialización temprana de una instancia en la nube. Está instalado en las Ubuntu Cloud Images y también en las imágenes oficiales de Ubuntu disponibles en EC2."
¿Qué es un archivo de datos de usuario?
Un archivo de datos de usuario es un archivo de texto que puedes incluir al correr el comando openstack server create. Este archivo se usa para personalizar tu instancia durante el inicio. Revisa la siguiente página para ver una lista de 'User Data Input Formats'.
Puedes colocar los datos en un archivo local y pasarlos usando el parámetro --user-data <user-data-file> al crear la instancia. Esto muestra cómo pasar un archivo llamado my-script.sh a una imagen de Ubuntu-16.04.
[user@localhost]$ openstack server create --flavor 300 \ --image 23f77038-51dc-40f3-8714-50612b0efb24 \ --key-name myKey \ --security-group 29afef85-b89f-43a0-babf-6a5bb5cc7bed \ --user-data my-script.sh \ myNewServer
¿Cómo se ve un ejemplo de script de datos de usuario?
Este ejemplo simple muestra cómo instalar pip3 durante la creación de la instancia.
#!/bin/sh # Example script to run at boot # This installs pip3 apt update apt -y install python3-pip pip3 install --upgrade pip
Ahora, cuando inicies sesión en la instancia, pip3 ya estará instalado.