Diferencia entre revisiones de «Cloud-init»
| Línea 38: | Línea 38: | ||
* Configuramos a zona horaria a Europa/Madrid. | * Configuramos a zona horaria a Europa/Madrid. | ||
| − | No vídeo, executamos o comando tail -f /var/log/cloud-init-output.log | + | No vídeo, executamos o comando: |
| + | tail -f /var/log/cloud-init-output.log | ||
| + | |||
| + | Así veremos as accións que está a desenvolver cloud-init: | ||
= Referencias = | = Referencias = | ||
* [https://docs.cloud-init.io/en/latest/index.html Documentación oficial de cloud-init] | * [https://docs.cloud-init.io/en/latest/index.html Documentación oficial de cloud-init] | ||
Revisión del 12:19 4 mar 2026
Cloud-init
O termo cloud computing foi definido como un modelo para facer posible o acceso a rede axeitado e baixo demanda a un conxunto de recursos de computación configurables e compartidos (por exemplo, redes, servidores, almacenamento, aplicacións e servizos...) onde o seu aprovisionamento e liberación pode realizarse con rapidez e cun mínimo esforzo de xestión e interacción por parte do proveedor do cloud. A orixe do térmo está no gráfico de uso común para representar Internet como se fose unha nube (cloud). Os recursos de computación (hardware e software) destos modelos están dispoñibles a través de Internet.
Cloud computing
Fig. Cloud computing. Fonte: Wikipedia . Licenza CC
Unha característica do cloud computing especialmente interesante para a nosa docencia é a súa capacidade de creación, inicio e configuración de máquinas virtuais (instancias) dun xeito moi rápido e automatizado. Nos sistemas cloud empréganse 'cloud images' que veñen sendo plantillas de sistemas operativos preconfigurados que permiten iniciar novas instancias. A modo de exemplo, Canonical proporciona imaxes cloud de Ubuntu a través de https://cloud-images.ubuntu.com.
Ubuntu Cloud Images
Fig. Imaxes cloud de Ubuntu - https://cloud-images.ubuntu.com/
Ubuntu Cloud Images
Fig. Imaxes cloud de Ubuntu Focal Fossa - https://cloud-images.ubuntu.com/focal/current/
Cada instancia ó crearse é un clon idéntico de calquera outra instancia xa que son creadas a partir da mesma imaxe; sendo normal que desexemos configurar as nosas instancias despois de arrincar para instalar algúns paquetes, crear usuarios e/ou grupos, iniciar servizos, ... Aquí é onde entran dúas tecnoloxías:
- User data
- permite a un usuario pasar información contida nun arquivo local a unha instancia no momento do lanzamento.
- Cloud-init
- para facer algo útil cos user-data, a imaxe da máquina virtual debe estar preparada para correr un servizo ó arrincar que recolla esa información e execute as accións pertinentes en base ó seu contido. Cloud-init é unha ferramenta deseñada para facer isto; xa que ó arrincar a instancia, aplicará os user-data que se lle pasen. Cloud-init soporta varios formatos para recibir os user-data, sendo os shell scripts e os arquivos cloud-config os máis usados.
Despois de traballar con contedores LXC podemos deducir que moito do falado neste punto élle de aplicación:
- Arrincamos contedores a partir de imaxes cloud dispoñibles en repositorios.
- Ó crearse un contedor temos unha nova instancia semellante á imaxe de partida e semellante a todos os contedores creados a partir da mesma plantilla.
- A creación e inicio das instancias é moi rápida, sendo posible facer lanzamentos masivos de contedores en pouco tempo. O mesmo acontece coa destrucción dos contedores.
O que queda por ver é como facer os despregues conseguindo instancias personalizadas en base ás nosas necesidades; e como unha tecnoloxía orientada á nube como é LXC/Incus, está preparada para aproveitarse de user-data e cloud-init.
No seguinte vídeo pode verse como en minuto e medio creamos unha máquina Ubuntu Server e grazas a cloud-init entre outras cousas:
- Creamos un usuario administrador chamado magasix.
- Autorizamos unha identidade dixital para acceder por ssh como magasix.
- Configuramos a rede.
- Instalamos apache+php+mysql.
- Configuramos os repositorios desexados e indicamos que se empregue un servidor apt-cacher-ng.
- Configuramos a zona horaria a Europa/Madrid.
No vídeo, executamos o comando:
tail -f /var/log/cloud-init-output.log
Así veremos as accións que está a desenvolver cloud-init: