Vytváranie virtuálneho stroja je nuda. Vytváranie stoviek je časovo náročné. cloud-init vám umožňuje automatizovať vytváranie virtuálnych počítačov v Microsoft Azure.
Ak ste niekedy nastavovali virtuálny stroj, viete, ako to funguje. Kliknete sem a tam, preklikáte sa ešte a nakoniec máte systém nastavený. Potom však stále musíte nainštalovať softvér a nakonfigurovať VM podľa svojich preferencií.
Teraz si predstavte, že chcete nastaviť stovky VM. Preklikávanie sa inštaláciou nie je také efektívne. Namiesto toho musíte proces čo najviac zautomatizovať a tu prichádza na rad cloud-init.
Poďme sa pozrieť na to, ako môžete automatizovať inštaláciu OS a konfiguráciu virtuálneho počítača pomocou cloud-init v Microsoft Azure.
Prečo používať cloud-init na automatizáciu vytvárania virtuálnych počítačov?
cloud-init je výkonný nástroj na automatizáciu nasadenia, ktorý Canonical, spoločnosť stojaca za Ubuntu, vyvíja.
Pomocou cloud-init môžete nainštalovať a nasadiť operačné systémy Linux a nakonfigurovať ďalšie aspekty virtuálneho počítača. Môžete napríklad použiť cloud-init na nastavenie používateľských účtov, inštaláciu a konfiguráciu softvéru, pridanie kľúčov SSH, čokoľvek.
V súčasnosti väčšina poskytovateľov cloudových služieb, ako sú Azure, Linode a Amazon Web Services (AWS), podporuje cloud-init.
Hoci cloud-init začal na Ubuntu, teraz podporuje všetky hlavné linuxové distribúcie, ako napríklad openSUSE, Debian, Red Hat Enterprise Linux (RHEL) atď.
Okrem nasadenia softvéru v cloude môžete cloud-init použiť aj na konfiguráciu a inštaláciu softvéru na servery alebo virtuálne prostredia, ako sú VirtualBox, KVM a VMware.
Cloudovú platformu Microsoft Azure použijeme na automatizáciu nasadenia servera Ubuntu pomocou cloud-init.
Krok 1: Vytvorenie skriptu cloud-init
cloud-init skripty používajú moduly na konfiguráciu rôznych aspektov vášho systému. Napríklad použijete používateľov modul na konfiguráciu používateľských informácií a účtov a drôtový strážca modul na konfiguráciu WireGuard atď. Existuje veľa ďalších modulov, ktoré môžete použiť hneď po vybalení.
Poďme vytvoriť cloud-init skript na automatizáciu väčšiny vecí, ktoré konfigurujete pri nastavovaní nového virtuálneho počítača.
Vytvoríme používateľa s názvom „mwiza“ a priradíme mu heslo. Pre jednoduchosť použite heslo s obyčajným textom, ale ak chcete, môžete ho zašifrovať. Okrem toho pridajte kľúč SSH používateľa k autorizovaným kľúčom. To vám umožní neskôr zakázať prihlásenie pomocou hesla SSH pre lepšiu bezpečnosť.
Okrem vytvorenia nového používateľa by mal skript vykonať nasledujúce:
- Zápis súboru: Vytvorte jednoduchý súbor a zapíšte doň obsah pomocou write_files modul. Súbor bude umiestnený v domovskom adresári. Rovnaké koncepty môžete použiť na vytváranie zložitejších súborov v budúcnosti.
- Spustené príkazy: Spustíme jednoduché príkazy na konfiguráciu brány firewall UFW, ale môže to byť akýkoľvek iný príkaz Linux. Využite runcmd modul na spustenie ľubovoľného príkazu podľa vášho výberu; je to podobné ako spúšťanie príkazov Linuxu pomocou vykonávanie Bash skriptov.
- Konfigurácia miestnych nastavení: Týmto nastavíte preferované miestne nastavenia, ako je rozloženie klávesnice, preferovaný jazyk, časové pásmo atď.
- Inštalácia balíkov: Na inštaláciu balíkov do vášho systému použite svojho obľúbeného správcu balíkov. Napríklad na systémoch založených na Debiane môžete použiť APT.
Toto sú len niektoré z modulov, ktoré môžete použiť z cloud-init; existuje niekoľko ďalších modulov na automatizáciu najrôznejších vecí.
Tu je úplný skript cloud-init na konfiguráciu nového používateľského účtu. Nezabudnite nahradiť kľúč SSH správnym. Môžete tiež zmeniť používateľské meno a ďalšie podrobnosti.
vim: syntax=yaml
# Tu pridajte používateľov systému
používatelia:
- meno: mwiza
skupiny: užívatelia, sudo
shell: /bin/bash
gecos: mwiza
plain_text_passwd: Live-laugh-love12345G123
lock_passwd: nepravda
ssh_authorized_keys:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGDSDJ1KSDB: PWELJWEEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]# Nainštalujte, aktualizujte a aktualizujte balíky
package_upgrade: true
package_update: true
package_reboot_if_require: truebalíky:
- stopová cesta
- sieťové nástroje
- fail2ban# Nastavte miestne nastavenia
miestne nastavenie: en_UK
časové pásmo: atď/UTC
klávesnica:
rozloženie: nbwrite_files:
- cesta: /etc/salt/minion.d/master_ip_port.conf
obsah: |
majster: soľ
master_port: 4506
publish_port: 4505
- cesta: /home/mwiza/cloud-init.txt
obsah: |
vytvorené cloud-init v azúrovej farbe# Spustenie príkazov Bash na konfiguráciu softvéru a služieb
runcmd:
- povoliť ufw
- ufw povoliť ssh
- ufw povoliť 80
- systemctl povoliť ufw
# Po dokončení inicializácie vypnite VM
vypnutie: vypnutie
Skript cloud-init používa YAML, takže sa uistite, že odsadenie je správne, inak to nebude fungovať podľa očakávania.
Krok 2: Vytvorenie prostriedku virtuálneho stroja
Ďalším krokom je vytvorenie potrebného prostriedku v Azure pre virtuálny počítač. Prihláste sa do Azure, ak už máte účet, alebo si vytvorte bezplatný skúšobný účet tak, že prejdete na azure.microsoft.com.
Na domovskej stránke portálu Azure kliknite na Vytvorte zdroj tlačidlo. Zo zoznamu najobľúbenejších služieb Azure vyberte Virtuálny prístroj.
Na ďalšej stránke nájdete informácie o vytváraní prostriedkov VM, ako je pevný disk, sieť atď.
Dajte svojmu virtuálnemu počítaču zmysluplný názov a vyberte oblasť nasadenia. Vytvorte tiež skupinu prostriedkov pre svoj VM alebo použite existujúcu.
Pod Overenie typ, vyberte heslo a zadajte svoje používateľské meno a silné heslo.
Po vyplnení všetkých polí na tejto stránke by vaše údaje mali byť podobné nasledujúcim.
Krok 3: Pridanie skriptu cloud-init
Ďalej kliknite na Pokročilé pridajte skript cloud-init. Skopírujte a prilepte skript cloud-init z prvého kroku do poľa vlastných údajov.
Nakoniec kliknite na Skontrolovať + vytvoriť tlačidlo. Ak je všetko v poriadku, test prejde. V opačnom prípade vás tvorca virtuálnych počítačov Azure prevedie opravami, ktoré je potrebné vykonať.
Krok 4: Prihláste sa do svojho virtuálneho počítača
Použite prehľad VM na získanie verejnej IP adresy vášho virtuálneho počítača a prihlásenie cez SSH. Ak ste použili správny kľúč SSH, systém vás nevyzve na zadanie hesla používateľa.
Po prihlásení môžete skontrolovať, či tam sú súbory, ktoré ste chceli vytvoriť pomocou skriptu. tiež vyhľadajte nainštalované balíky pomocou APT a skontrolujte, či bol firewall správne nakonfigurovaný pomocou stav sudo ufw príkaz.
cloud-init tiež zaznamenáva dôležité informácie do /var/log/cloud-init.log súbor. Obsahuje podrobné správy o všetkých udalostiach, ktoré sa stali počas inicializácie cloudu. Tento súbor môžete skontrolovať pomocou príkazu cat takto:
cat /var/log/cloud-init.log
Automatizujte vytváranie virtuálnych strojov pomocou cloud-init
cloud-init je výkonný nástroj, ktorý vám pomôže automatizovať inštaláciu a nastavenie systému Linux. Môžete ho použiť v cloude a na vlastných serveroch. Či už chcete len automatizovať nasadenie virtuálneho počítača alebo potrebujete nasadiť servery Linux vo veľkom rozsahu, cloud-init je skvelá voľba.
V súvislosti s tým vždy zabezpečte svoje prihlasovacie údaje SSH pre svoje virtuálne počítače v cloude, aby ste predišli narušeniu bezpečnosti.