Capítulo 3. Configuración de cloud-init
Este capítulo incluye ejemplos de las tareas de configuración más comunes para cloud-init
.
Su configuración de cloud-init
puede requerir que añada directivas al archivo cloud.cfg
y al directorio cloud.cfg.d
. Por otra parte, su fuente de datos específica puede requerir que añada directivas a archivos, como un archivo de datos de usuario y un archivo de metadatos. Una fuente de datos puede requerir que cargue sus directivas en un servidor HTTP. Compruebe los requisitos de su fuente de datos y añada las directivas en consecuencia.
3.1. Creación de una máquina virtual que incluye cloud-init para un origen de datos NoCloud
Lo que sigue es un procedimiento de ejemplo para crear una nueva máquina virtual que incluya cloud-init
. En este procedimiento, se crea un archivo meta-data
y user-data
. Su archivo meta-data
incluye los detalles de la instancia. Su archivo user-data
incluye información para crear un usuario y concederle acceso. A continuación, se incluyen estos archivos en una nueva imagen ISO y se adjunta el archivo ISO a una nueva máquina virtual creada a partir de una imagen de invitado KVM. En este caso, la fuente de datos es NoCloud.
Procedimiento
Cree un directorio llamado
cloudinitiso
y muévase a él.$ mkdir cloudinitiso $ cd cloudinitiso
Cree un archivo llamado
meta-data
. Añade la siguiente información al archivo.instance-id: citest local-hostname: citest-1
Cree un archivo llamado
user-data
. Incluya la siguiente información en el archivo.#cloud-config password: cilogon chpasswd: {expire: False} ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AAA...fhHQ== sample@redhat.com
NotaLa última línea del archivo
user-data
hace referencia a una clave pública SSH. Encuentre sus claves públicas SSH en~/.ssh/id_rsa.pub
. Cuando intente este procedimiento de ejemplo, modifique la línea para incluir una de sus claves públicas.Utilice el comando
genisoimage
para crear una imagen ISO que incluyauser-data
ymeta-data
.# genisoimage -output ciiso.iso -volid cidata -joliet -rock user-data meta-data I: -input-charset not specified, using utf-8 (detected in locale settings) Total translation table size: 0 Total rockridge attributes bytes: 331 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 0 183 extents written (0 MB)
-
Descargue una imagen de invitado KVM desde el Portal del Cliente de Red Hat al directorio
/var/lib/libvirt/images
. Cree una nueva VM a partir de la imagen huésped de KVM utilizando el comando
virt-install
. Incluya la imagen ISO que ha creado como archivo adjunto a la imagen.virt-install \ --memory 4096 \ --vcpus 4 \ --name mytestcivm \ --disk /var/lib/libvirt/images/rhel-8.1-x86_64-kvm.qcow2,device=disk,bus=virtio,format=qcow2 \ --disk /home/sample/cloudinitiso/ciiso.iso,device=cdrom \ --os-type Linux \ --os-variant rhel8.0 \ --virt-type kvm \ --graphics none \ --import
Acceda a su imagen como
cloud-user
. Su contraseña escilogon
.citest-1 login: cloud-user Password: [cloud-user@citest-1 ~]$
Pasos de verificación
Compruebe el estado de
cloud-init
para ver si ha completado sus tareas.[cloud-user@citest-1 instance]$ cloud-init status status: done
cloud-init
crea la disposición del directoriocloud-init
bajo/var/lib/cloud
cuando se ejecuta, y actualiza o cambia ciertos contenidos del directorio basándose en las directivas que has especificado.Por ejemplo, puede confirmar que la fuente de datos es
NoCloud
comprobando el archivo de la fuente de datos.$ cd /var/lib/cloud/instance $ cat datasource DataSourceNoCloud: DataSourceNoCloud [seed=/dev/sr0][dsmode=net]
cloud-init
copia los datos del usuario en/var/lib/cloud/instance/user-data.txt
.$cat user-data.txt #cloud-config password: cilogon chpasswd: {expire: False} ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AAA...fhHQ== sample@redhat.com
Estos son ejemplos. El diseño del directorio
cloud-init
incluye mucha más información.
En el caso de OpenStack, la Guía de instancias e imágenes incluye información para configurar una instancia mediante cloud-init
. Consulte Creación de una instancia personalizada para conocer los procedimientos específicos.
Recursos adicionales