Ustvarjanje virtualnega stroja je dolgočasno. Ustvarjanje stotin je zamudno. cloud-init vam omogoča avtomatizacijo ustvarjanja navideznega stroja v Microsoft Azure.

Če ste kdaj postavili virtualni stroj, veste, kako deluje. Klikneš sem in tja, še malo klikneš po svoje in na koncu imaš nastavljen sistem. Toda potem morate še vedno namestiti programsko opremo in konfigurirati VM po svojih željah.

Zdaj pa si predstavljajte, da želite nastaviti na stotine navideznih strojev. Klikanje po namestitvi ni tako učinkovito. Namesto tega morate postopek čim bolj avtomatizirati, in tu nastopi cloud-init.

Oglejmo si, kako lahko avtomatizirate namestitev operacijskega sistema in konfiguracijo navideznega stroja z uporabo cloud-init v Microsoft Azure.

Zakaj uporabljati cloud-init za avtomatizacijo ustvarjanja VM?

cloud-init je zmogljivo orodje za avtomatizacijo uvajanja, ki ga razvija Canonical, podjetje za Ubuntu.

Z cloud-init lahko namestite in uvedete operacijske sisteme Linux ter konfigurirate druge vidike VM. Cloud-init lahko na primer uporabite za nastavitev uporabniških računov, namestitev in konfiguracijo programske opreme, dodajanje ključev SSH, če želite.

instagram viewer

Trenutno večina ponudnikov storitev v oblaku, kot so Azure, Linode in Amazon Web Services (AWS), podpira zagon v oblaku.

Čeprav se je cloud-init začel na Ubuntuju, zdaj podpira vse glavne distribucije Linuxa, kot so openSUSE, Debian, Red Hat Enterprise Linux (RHEL) itd.

Poleg uvajanja programske opreme v oblaku lahko uporabite tudi cloud-init za konfiguracijo in namestitev programske opreme na strežnikih na strežnikih ali virtualnih okoljih, kot so VirtualBox, KVM in VMware.

Platformo v oblaku Microsoft Azure bomo uporabili za avtomatizacijo uvajanja strežnika Ubuntu z uporabo cloud-init.

1. korak: Ustvarjanje skripta za zagon oblaka

skripti cloud-init uporabljajo module za konfiguriranje različnih vidikov vašega sistema. Na primer, uporabili boste uporabniki modul za konfiguracijo uporabniških informacij in računov ter wireguard modul za konfiguracijo WireGuard itd. Na voljo je ogromno drugih modulov, ki jih lahko uporabite takoj.

Ustvarimo skript za zagon v oblaku za avtomatizacijo večine stvari, ki jih konfigurirate pri nastavitvi novega virtualnega stroja.

Ustvarili bomo uporabnika z imenom "mwiza" in mu dodelili geslo. Za poenostavitev uporabimo geslo z navadnim besedilom, vendar ga lahko šifrirate, če želite. Poleg tega dodajte uporabniški ključ SSH avtoriziranim ključem. To vam omogoča, da pozneje onemogočite prijave z geslom SSH za večjo varnost.

Poleg ustvarjanja novega uporabnika mora skript storiti naslednje:

  • Pisanje datoteke: Ustvarite preprosto datoteko in vanjo zapišite vsebino z uporabo pisanje_datotek modul. Datoteka bo postavljena v domači imenik. Iste koncepte lahko uporabite za ustvarjanje bolj zapletenih datotek v prihodnosti.
  • Izvajanje ukazov: Zagnali bomo preproste ukaze za konfiguracijo požarnega zidu UFW, vendar je to lahko kateri koli drug ukaz Linuxa. Uporabite runcmd modul za izvajanje katerega koli ukaza po vaši izbiri; je podobno izvajanju ukazov Linuxa z izvajanje skriptov Bash.
  • Konfiguriranje jezikov: To nastavi vaše prednostne področne nastavitve, kot so razporeditev tipkovnice, želeni jezik, časovni pas itd.
  • Namesti pakete: Za namestitev paketov v sistem uporabite svojega najljubšega upravitelja paketov. Na primer, v sistemih, ki temeljijo na Debianu, lahko uporabite APT.

To je samo nekaj modulov, ki jih lahko uporabite iz cloud-init; obstaja več drugih modulov za avtomatizacijo najrazličnejših stvari.

Tukaj je celoten skript za zagon v oblaku za konfiguracijo novega uporabniškega računa. Ne pozabite zamenjati ključa SSH s pravilnim. Prav tako lahko spremenite uporabniško ime in druge podrobnosti.

vim: sintaksa=yaml

# Tukaj dodajte uporabnike sistema
uporabniki:
- ime: mwiza
skupine: uporabniki, sudo
lupina: /bin/bash
gecos: mwiza
plain_text_passwd: Živi-smeh-ljubezen12345G123
lock_passwd: napačno
ssh_authorized_keys:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGSSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi uporabniški ključ@email.com

# Namestite, posodobite in nadgradite pakete
package_upgrade: drži
package_update: res
package_reboot_if_require: res

paketi:
- traceroute
- net-orodja
- fail2ban

# Nastavite lokalne nastavitve
jezik: en_UK
časovni pas: Etc/UTC
tipkovnica:
postavitev: nb

pisanje_datotek:
- pot: /etc/salt/minion.d/master_ip_port.conf
vsebina: |
mojster: sol
glavna_vrata: 4506
public_port: 4505
- pot: /home/mwiza/cloud-init.txt
vsebina: |
ustvaril cloud-init v azuru

# Izvajanje ukazov Bash za konfiguriranje programske opreme in storitev
runcmd:
- ufw omogoči
- ufw dovoljuje ssh
- ufw dovoljuje 80
- systemctl omogoči ufw

# Po končani inicializaciji izklopite VM
izklop: izklop

Skript za zagon v oblaku uporablja YAML, zato se prepričajte, da je zamik pravilen, sicer ne bo deloval po pričakovanjih.

2. korak: Ustvarjanje vira navideznega stroja

Naslednji korak je ustvariti potreben vir v Azure za virtualni stroj. Prijavite se v Azure, če že imate račun, ali pa ustvarite brezplačen poskusni račun tako, da se pomaknete na azure.microsoft.com.

Na domači strani portala Azure kliknite na Ustvarite vir gumb. Na seznamu najbolj priljubljenih storitev Azure izberite Navidezni stroj.

Na naslednji strani so informacije za ustvarjanje virov VM, kot so trdi disk, mreženje itd.

Dajte svojemu VM smiselno ime in izberite območje uvedbe. Ustvarite tudi skupino virov za svoj VM ali uporabite obstoječo.

Pod Preverjanje pristnosti vrsto, izberite Geslo možnost in navedite svoje uporabniško ime in močno geslo.

Ko izpolnite vsa polja na tej strani, bi morali biti vaši podatki podobni naslednjim.

3. korak: Dodajanje skripta za zagon oblaka

Nato kliknite na Napredno zavihek za dodajanje skripta za zagon oblaka. Kopirajte in prilepite skript cloud-init iz prvega koraka v podatkovno polje po meri.

Na koncu kliknite na Pregled + ustvarjanje gumb. Če je vse v redu, bo test uspel. V nasprotnem primeru vas bo ustvarjalec Azure VM vodil glede popravkov, ki jih morate narediti.

4. korak: Prijava v vaš virtualni stroj

Uporabite informacije o pregledu VM, da pridobite javni naslov IP vašega virtualnega stroja in se prijavite prek SSH. Če ste uporabili pravilen ključ SSH, vas sistem ne bo pozval k vnosu uporabniškega gesla.

Ko se prijavite, lahko preverite, ali so datoteke, ki ste jih želeli ustvariti s skriptom, tam. tudi poiščite nameščene pakete z APT in preverite, ali je bil požarni zid pravilno konfiguriran z uporabo stanje sudo ufw ukaz.

cloud-init beleži tudi pomembne informacije v /var/log/cloud-init.log mapa. Vsebuje podrobna sporočila o vseh dogodkih, ki so se zgodili med inicializacijo oblaka. To datoteko lahko preverite z ukazom cat na naslednji način:

mačka /var/log/cloud-init.log

Avtomatizirajte ustvarjanje virtualnega stroja z inicializacijo v oblaku

cloud-init je zmogljivo orodje, ki vam pomaga avtomatizirati namestitev in nastavitev Linuxa. Uporabljate ga lahko v oblaku in na strežnikih on-prem. Ne glede na to, ali želite samo avtomatizirati uvajanje svojega virtualnega stroja ali morate uvesti strežnike Linux v velikem obsegu, je cloud-init odlična izbira.

V zvezi s tem vedno zaščitite svoje prijave SSH za svoje virtualne stroje v oblaku, da se izognete kršitvam varnosti.