Capítulo 1. Introducción a cloud-init

cloud-init es un paquete de software que automatiza la inicialización de las instancias de la nube durante el arranque del sistema. Puedes configurar cloud-init para que realice una variedad de tareas. Algunos ejemplos de tareas que puede realizar cloud-init son:

  • Configurar un nombre de host
  • Instalación de paquetes en una instancia
  • Ejecución de guiones
  • Suprimir el comportamiento por defecto de la máquina virtual

El lugar donde se obtiene la imagen para configurar cloud-init depende del uso que se le quiera dar.

  • El paquete cloud-init se instala en las imágenes de huésped KVM que se descargan desde el Portal del Cliente de Red Hat. Cuando se lanza una instancia, se habilita cloud-init. Las Imágenes de Huésped KVM que se descargan desde el Portal del Cliente de Red Hat están pensadas para ser utilizadas con Red Hat Virtualization (RHV) y Red Hat OpenStack Platform (RHOSP). También puede crear una imagen desde cero para RHV y RHOSP.
  • Otra opción es descargar una imagen ISO desde el Portal del Cliente de Red Hat o crear una. En este caso, debe instalar cloud-init en su imagen ISO.
  • Si planea utilizar una imagen con un proveedor de nube (por ejemplo, AWS o Azure), utilice Red Hat Image Builder para crear la imagen. Las imágenes de Image Builder están personalizadas para su uso con proveedores de nube específicos. Los tipos de imagen AMI, VHD y qcow2 incluyen cloud-init ya instalado. Consulte Composición de una imagen de sistema RHEL personalizada para obtener información sobre Image Builder.

La mayoría de las plataformas en la nube admiten cloud-init, aunque los procedimientos de configuración y las opciones admitidas varían. Como alternativa, puede configurar cloud-init para un entorno NoCloud.

Puede configurar cloud-init en una máquina virtual (VM) y luego utilizar esa VM como plantilla para VMs adicionales o clusters de VMs.

Productos específicos de Red Hat (por ejemplo, Red Hat Virtualization) tienen procedimientos documentados para configurar cloud-init para su uso con esos productos.

Este documento hace referencia a la documentación de cloud-init en varios lugares. Consulte la documentación de cloud-init a la que se hace referencia para obtener información completa sobre cloud-init.

Requisitos previos

Recursos adicionales

1.1. configuración de cloud-init

cloud-init utiliza instrucciones de archivos con formato YAML para realizar las tareas. Usted decide la configuración inicial que desea que cloud-init realice proporcionando instrucciones dentro de los archivos YAML. Cuando una instancia arranca, el servicio cloud-init se inicia y busca y ejecuta las instrucciones. Las tareas se completan durante el primer arranque o en los siguientes arranques de la máquina virtual, según la configuración de cloud-init.

Las tareas se definen configurando el archivo /etc/cloud/cloud.cfg y añadiendo directivas en el directorio /etc/cloud/cloud.cfg.d/.

  • El archivo cloud.cfg incluye directivas, como las de acceso y autenticación de usuarios e información del sistema.

    El archivo también incluye módulos por defecto y opcionales para cloud-init. Los módulos se ejecutan en orden dentro de tres fases que incluyen la fase de inicialización cloud-init, la fase de configuración y la fase final. Dentro del archivo cloud.cfg, los módulos para las tres fases se enumeran bajo cloud_init_modules, cloud_config_modules, y cloud_final_modules, respectivamente.

  • El directorio cloud.cfg.d es donde se pueden añadir directivas adicionales para cloud-init. Cuando se añaden directivas al directorio cloud.cfg.d, normalmente se añaden a un archivo llamado *.cfg, y siempre se incluye #cloud-config al principio del archivo.