3.17. Solución de problemas de cloud-init

Puede solucionar los problemas de su instancia después de que se haya ejecutado cloud-init examinando su configuración y los archivos de registro. Una vez que haya identificado el problema, puede volver a ejecutar cloud-init en su instancia.

Puede ejecutar cloud-init desde la línea de comandos utilizando el comando cloud-init. Para ver la sintaxis del comando, junto con una descripción de los argumentos y subcomandos opcionales, ejecute el comando cloud-init --help. La sintaxis básica es la siguiente.

cloud-init [-h] [--version] [--file FILES] [--debug] [--force]
{init,modules,single,query,dhclient-hook,features,analyze,devel,collect-logs,clean,status}

El procedimiento que sigue ofrece ideas para identificar problemas con cloud-init y muestras para volver a ejecutar el programa.

Procedimiento

  1. Revise los archivos de configuración de cloud-init.

    1. Examine el archivo de configuración /etc/cloud/cloud.cfg. Compruebe qué módulos están incluidos en cloud_init_modules, cloud_config_modules, y cloud_final_modules.
    2. Compruebe las directivas (archivos*.cfg ) en el directorio /etc/cloud/cloud.cfg.d.
  2. Revise los archivos /var/log/cloud-init.log y /var/log/cloud-init-output.log para obtener detalles sobre un problema específico. Por ejemplo, si el problema era que la partición raíz no se extendía automáticamente, compruebe los mensajes de registro de growpart. Si el sistema de archivos no se extendió, revise los mensajes de registro para resizefs. A continuación se muestra un ejemplo de comando grep para resizefs.

    # grep resizefs /var/log/cloud-init.log
    Nota

    growpart no soporta LVM. Si su partición raíz está basada en LVM, la partición raíz no se extiende automáticamente en el primer arranque.

  3. Vuelva a ejecutar cloud-init. A continuación se presentan ejemplos de escenarios. Ejecute los comandos como root.

    • Vuelva a ejecutar cloud-init sólo con los módulos init.

      /usr/bin/cloud-init -d init
    • Vuelva a ejecutar cloud-init con todos los módulos de su configuración.

      /usr/bin/cloud-init -d módulos
    • Borrar la caché de cloud-init y forzar la ejecución de cloud-init tras el arranque.

      rm -rf /var/lib/cloud/* && /usr/bin/cloud-init -d init
    • Ejecute los siguientes comandos para limpiar los directorios y simular una instancia limpia.

      rm -Rf /var/lib/cloud/instances/*
      rm -Rf /var/lib/cloud/instance
      rm -Rf /var/lib/cloud/data/*
      reboot
    • Ejecute los siguientes comandos para volver a ejecutar cloud-init.

      cloud-init init --local
      cloud-init init

Recursos adicionales