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 Copiar enlaceEnlace copiado en el portapapeles!
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
cloudinitisoy muévase a él.$ mkdir cloudinitiso $ cd cloudinitisoCree un archivo llamado
meta-data. Añade la siguiente información al archivo.instance-id: citest local-hostname: citest-1Cree 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.comNotaLa última línea del archivo
user-datahace 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
genisoimagepara crear una imagen ISO que incluyauser-dataymeta-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 \ --importAcceda 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-initpara ver si ha completado sus tareas.[cloud-user@citest-1 instance]$ cloud-init status status: donecloud-initcrea la disposición del directoriocloud-initbajo/var/lib/cloudcuando 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
NoCloudcomprobando el archivo de la fuente de datos.$ cd /var/lib/cloud/instance $ cat datasource DataSourceNoCloud: DataSourceNoCloud [seed=/dev/sr0][dsmode=net]cloud-initcopia 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.comEstos son ejemplos. El diseño del directorio
cloud-initincluye 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