Stvaranje virtualnog stroja je dosadno. Stvaranje stotina oduzima puno vremena. cloud-init vam omogućuje automatizaciju stvaranja virtualnog stroja u Microsoft Azureu.
Ako ste ikada postavili virtualni stroj, znate kako radi. Klikneš tu i tamo, klikneš još malo i na kraju imaš postavljen sustav. Ali onda još uvijek morate instalirati softver i konfigurirati VM prema svojim željama.
Sada zamislite da želite postaviti stotine VM-ova. Klikanje kroz instalaciju nije tako učinkovito. Umjesto toga, trebate automatizirati proces što je više moguće, a tu na scenu stupa cloud-init.
Pogledajmo kako možete automatizirati instalaciju OS-a i konfiguraciju virtualnog stroja koristeći cloud-init u Microsoft Azureu.
Zašto koristiti cloud-init za automatiziranje stvaranja VM-a?
cloud-init je moćan alat za automatizaciju implementacije koji razvija Canonical, tvrtka koja stoji iza Ubuntua.
Pomoću cloud-init-a možete instalirati i implementirati Linux operativne sustave i konfigurirati druge aspekte VM-a. Na primjer, možete koristiti cloud-init za postavljanje korisničkih računa, instalaciju i konfiguraciju softvera, dodavanje SSH ključeva, kako hoćete.
Trenutačno većina pružatelja usluga u oblaku kao što su Azure, Linode i Amazon Web Services (AWS) podržava pokretanje u oblaku.
Iako je cloud-init započeo na Ubuntuu, sada podržava sve glavne distribucije Linuxa, kao što su openSUSE, Debian, Red Hat Enterprise Linux (RHEL), itd.
Osim postavljanja softvera u oblaku, također možete koristiti cloud-init za konfiguriranje i instaliranje softvera na on-prem poslužiteljima ili virtualnim okruženjima kao što su VirtualBox, KVM i VMware.
Koristit ćemo platformu oblaka Microsoft Azure za automatizaciju postavljanja Ubuntu poslužitelja pomoću cloud-init-a.
Korak 1: Stvaranje skripte za pokretanje oblaka
cloud-init skripte koriste module za konfiguriranje različitih aspekata vašeg sustava. Na primjer, upotrijebit ćete korisnika modul za konfiguriranje korisničkih podataka i računa, i čuvar žice modul za konfiguraciju WireGuarda itd. Postoji mnoštvo drugih modula koje možete koristiti odmah.
Kreirajmo skriptu za pokretanje oblaka za automatizaciju većine stvari koje konfigurirate prilikom postavljanja novog virtualnog stroja.
Stvorit ćemo korisnika pod nazivom "mwiza" i dodijeliti mu lozinku. Radi jednostavnosti, upotrijebimo zaporku u običnom tekstu, ali je možete šifrirati ako želite. Osim toga, dodajte korisnički SSH ključ ovlaštenim ključevima. To vam omogućuje da kasnije onemogućite prijavu SSH lozinkom radi bolje sigurnosti.
Osim stvaranja novog korisnika, skripta bi trebala učiniti sljedeće:
- Pisanje datoteke: Stvorite jednostavnu datoteku i zapišite sadržaj u nju pomoću pisanje_datoteka modul. Datoteka će biti smještena u početni direktorij. Iste koncepte možete koristiti za stvaranje složenijih datoteka u budućnosti.
- Pokretanje naredbi: Pokrenut ćemo jednostavne naredbe za konfiguriranje UFW vatrozida, ali to može biti bilo koja druga Linux naredba. Iskoristite runcmd modul za pokretanje bilo koje naredbe po vašem izboru; slično je pokretanju Linux naredbi pomoću izvršavanje Bash skripti.
- Konfiguriranje lokaliteta: Ovo postavlja vaše željene lokalne postavke kao što su raspored tipkovnice, željeni jezik, vremenska zona itd.
- Instalirajte pakete: Koristite svoj omiljeni upravitelj paketa za instaliranje paketa na vašem sustavu. Na primjer, na sustavima temeljenim na Debianu, možete koristiti APT.
Ovo su samo neki od modula koje možete koristiti iz cloud-init-a; postoji nekoliko drugih modula za automatizaciju raznih stvari.
Ovdje je potpuna skripta za pokretanje oblaka za konfiguraciju novog korisničkog računa. Ne zaboravite zamijeniti SSH ključ ispravnim. Također, slobodno promijenite korisničko ime i sve druge detalje.
vim: sintaksa=yaml
# Ovdje dodajte korisnike sustava
korisnici:
- naziv: mwiza
grupe: korisnici, sudo
ljuska: /bin/bash
gecos: mwiza
plain_text_passwd: Živi-smij-ljubav12345G123
lock_passwd: lažno
ssh_autorizirani_ključevi:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]# Instalirajte, ažurirajte i nadogradite pakete
package_upgrade: istina
paket_ažuriranje: istina
package_reboot_if_require: istinapaketi:
- traceroute
- net-alati
- fail2ban# Postavite lokalne postavke
lokalizacija: en_UK
vremenska zona: Itd/UTC
tipkovnica:
raspored: nbpisanje_datoteka:
- put: /etc/salt/minion.d/master_ip_port.conf
sadržaj: |
majstor: sol
master_port: 4506
public_port: 4505
- put: /home/mwiza/cloud-init.txt
sadržaj: |
kreirao cloud-init u azuru# Pokretanje Bash naredbi za konfiguriranje softvera i usluga
runcmd:
- ufw omogućiti
- ufw dopustiti ssh
- ufw dopusti 80
- systemctl omogući ufw
# Isključite VM nakon završetka inicijalizacije
isključivanje: isključivanje
Cloud-init skripta koristi YAML, stoga provjerite je li uvlaka ispravna jer inače neće raditi kako se očekuje.
Korak 2: Stvaranje resursa virtualnog stroja
Sljedeći korak je stvaranje potrebnih resursa u Azureu za virtualni stroj. Prijavite se na Azure ako već imate račun ili kreirajte besplatni probni račun tako što ćete prijeći na azure.microsoft.com.
Na početnoj stranici portala Azure kliknite na Stvorite resurs dugme. Odaberite s popisa najpopularnijih Azure usluga Virtualni stroj.
Sljedeća stranica daje vam informacije za stvaranje VM resursa kao što su tvrdi disk, umrežavanje itd.
Dajte svom VM-u smisleno ime i odaberite regiju implementacije. Također, stvorite grupu resursa za svoj VM ili upotrijebite postojeću.
Ispod Ovjera vrsta, odaberite Lozinka opciju i navedite svoje korisničko ime i jaku lozinku.
Nakon što ispunite sva polja na ovoj stranici, vaši podaci trebali bi biti slični sljedećim.
Korak 3: Dodavanje vaše skripte za pokretanje oblaka
Zatim kliknite na Napredna za dodavanje skripte za pokretanje oblaka. Kopirajte i zalijepite skriptu za pokretanje oblaka iz prvog koraka u polje prilagođenih podataka.
Na kraju kliknite na Pregledajte + izradite dugme. Ako je sve u redu, test će proći. U suprotnom, kreator Azure VM-a uputit će vas o ispravcima koje trebate izvršiti.
Korak 4: Prijava u vaš virtualni stroj
Upotrijebite informacije o pregledu VM-a da dobijete javnu IP adresu vašeg virtualnog stroja i prijavite se putem SSH-a. Ako ste upotrijebili ispravan SSH ključ, sustav vas neće tražiti da unesete korisničku lozinku.
Nakon što se prijavite, možete provjeriti postoje li datoteke koje ste željeli stvoriti putem skripte. Također, potražite instalirane pakete s APT-om i provjerite je li vatrozid ispravno konfiguriran pomoću sudo ufw status naredba.
cloud-init također bilježi važne informacije u /var/log/cloud-init.log datoteka. Sadrži detaljne poruke o svim događajima koji su se dogodili tijekom inicijalizacije cloud-init-a. Ovu datoteku možete provjeriti pomoću naredbe cat na sljedeći način:
mačka /var/log/cloud-init.log
Automatizirajte stvaranje virtualnog stroja pomoću pokretanja u oblaku
cloud-init je moćan alat koji vam pomaže automatizirati instalaciju i postavljanje Linuxa. Možete ga koristiti u oblaku i na on-prem poslužiteljima. Bilo da samo želite automatizirati implementaciju svog virtualnog stroja ili trebate implementirati Linux poslužitelje u velikoj mjeri, cloud-init je odličan izbor.
S tim u vezi, uvijek osigurajte svoje SSH prijave za svoje virtualne strojeve temeljene na oblaku kako biste izbjegli proboje sigurnosti.