Cloud-init

Gotowe obrazy systemów operacyjnych, które wspierają technologię cloud-init są autokonfigurowane za pomocą oprogramowania Cloud-init.

Oprócz standardowych akcji, takich jak konfiguracja sieci, dysku czy kluczy SSH, umożliwia ono wstępną konfigurację systemu za pomocą metadanych przekazywanych do wirtualnej maszyny za pomocą API metadanych, a konkretnie pola user-data.


Ustawienie user-data dla serwera

Pole user-data można ustawić na trzy sposoby:

  • Podczas tworzenia wirtualnej maszyny za pomocą API EC2 (metoda RunInstances)
  • Podczas tworzenia wirtualnej maszyny za pomocą formularza w panelu
  • Edytując w panelu, dla istniejącej wirtualnej maszyny

Format user-data dla cloud-init

Dane konfiguracyjne przekazywane dla cloud-init maja format pliku YAML, zaczynającego się od linijki #cloud-config. Po niej następują kolejno dyrektywy określające akcje do wykonania przez cloud-init. Pełną ich listę można znaleźć na stronie projektu.


Przykłady zastosowania cloud-init

Automatyczna aktualizacja po instalacji

#cloud-config
package_upgrade: true

Ustawienie hostname

#cloud-config
hostname: nowyhost123
fqdn: nowyhost123.e24cloud.com
manage_etc_hosts: true

Automatyczna aktualizacja, instalacja pakietów i plików konfiguracyjnych

#cloud-config
package_upgrade: true

packages:
 - rng-tools

write_files:
  - content: |
      HRNGDEVICE=/dev/hwrng
    path: /etc/default/rng-tools
    permissions: '0644'