Kurti virtualią mašiną yra nuobodu. Sukurti šimtus užima daug laiko. „Cloud-init“ leidžia automatizuoti virtualios mašinos kūrimą „Microsoft Azure“.

Jei kada nors nustatėte virtualią mašiną, žinote, kaip ji veikia. Spustelite čia ir ten, dar kartą spustelėsite savo kelią ir galų gale jūs turite sistemą. Bet tada vis tiek turite įdiegti programinę įrangą ir sukonfigūruoti VM pagal savo pageidavimus.

Dabar įsivaizduokite, kad norite nustatyti šimtus VM. Diegimo spustelėjimas nėra toks efektyvus. Vietoj to, jums reikia kiek įmanoma labiau automatizuoti procesą, ir čia atsiranda debesų init.

Pažiūrėkime, kaip galite automatizuoti OS diegimą ir virtualios mašinos konfigūraciją naudodami debesies įrankį Microsoft Azure.

Kodėl norint automatizuoti VM kūrimą naudoti debesies įrankį?

„Cloud-init“ yra galingas diegimo automatizavimo įrankis, kurį kuria „Canonical“, „Ubuntu“ įmonė.

Naudodami „Cloud-init“ galite įdiegti ir įdiegti „Linux“ operacines sistemas bei konfigūruoti kitus VM aspektus. Pavyzdžiui, galite naudoti debesies įvedimą, kad nustatytumėte vartotojų paskyras, įdiegtumėte ir konfigūruodami programinę įrangą, pridėtumėte SSH raktus.

instagram viewer

Šiuo metu dauguma debesų paslaugų teikėjų, tokių kaip Azure, Linode ir Amazon Web Services (AWS), palaiko debesies įvedimą.

Nors „Cloud-init“ pradėjo veikti „Ubuntu“, dabar jis palaiko visas pagrindines „Linux“ paskirstymo versijas, tokias kaip „openSUSE“, „Debian“, „Red Hat Enterprise Linux“ (RHEL) ir kt.

Be programinės įrangos diegimo debesyje, taip pat galite naudoti „Cloud-init“ programinei įrangai konfigūruoti ir įdiegti vietiniuose serveriuose arba virtualiose aplinkose, tokiose kaip „VirtualBox“, KVM ir VMware.

Naudosime „Microsoft Azure“ debesies platformą, kad automatizuotume Ubuntu serverio diegimą naudodami debesies įrankį.

1 veiksmas: sukurkite debesies inicijavimo scenarijų

„Cloud-init“ scenarijai naudoja modulius skirtingiems jūsų sistemos aspektams konfigūruoti. Pavyzdžiui, naudosite vartotojų modulis, skirtas konfigūruoti vartotojo informaciją ir paskyras, ir vielos apsauga modulis WireGuard konfigūravimui ir kt. Yra daugybė kitų modulių, kuriuos galite naudoti iš karto.

Sukurkime debesies inicijavimo scenarijų, kad automatizuotume daugumą dalykų, kuriuos konfigūruojate nustatydami naują virtualią mašiną.

Sukursime vartotoją pavadinimu „mwiza“ ir priskirsime jam slaptažodį. Paprastumo dėlei naudokite paprasto teksto slaptažodį, bet jei norite, galite jį užšifruoti. Be to, pridėkite vartotojo SSH raktą prie įgaliotųjų raktų. Tai leidžia vėliau išjungti SSH slaptažodžių prisijungimus, kad būtų užtikrintas didesnis saugumas.

Be naujo vartotojo sukūrimo, scenarijus turėtų atlikti šiuos veiksmus:

  • Failo rašymas: Sukurkite paprastą failą ir įrašykite turinį naudodami rašyti_failai modulis. Failas bus patalpintas į pagrindinį katalogą. Ateityje kurdami sudėtingesnius failus galite naudoti tas pačias sąvokas.
  • Vykdomos komandos: Vykdysime paprastas UFW ugniasienės konfigūravimo komandas, tačiau tai gali būti bet kuri kita Linux komanda. Pasinaudokite runcmd modulis, skirtas paleisti bet kurią jūsų pasirinktą komandą; tai panašu į Linux komandų vykdymą vykdo Bash scenarijus.
  • Lokalių konfigūravimas: Taip nustatomos pageidaujamos lokalės, pvz., klaviatūros išdėstymas, pageidaujama kalba, laiko juosta ir kt.
  • Įdiegti paketus: Norėdami įdiegti paketus savo sistemoje, naudokite savo mėgstamą paketų tvarkyklę. Pavyzdžiui, Debian pagrindu veikiančiose sistemose galite naudoti APT.

Tai tik dalis modulių, kuriuos galite naudoti iš „Cloud-init“; Yra keletas kitų modulių, skirtų automatizuoti įvairius dalykus.

Čia yra visas debesies inicijavimo scenarijus, skirtas konfigūruoti naują vartotojo abonementą. Nepamirškite pakeisti SSH rakto tinkamu. Taip pat nedvejodami pakeiskite vartotojo vardą ir bet kokią kitą informaciją.

vim: sintaksė=yaml

# Pridėkite sistemos naudotojus čia
vartotojai:
- vardas: mwiza
grupės: vartotojai, sudo
apvalkalas: /bin/bash
Gecos: mwiza
plain_text_passwd: Live-laugh-love12345G123
lock_passwd: klaidingas
ssh_authorized_keys:
- ssh-ed25519 BHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# Įdiekite, atnaujinkite ir atnaujinkite paketus
package_upgrade: tiesa
package_update: tiesa
package_reboot_if_require: true

paketai:
- traceroute
- tinklo įrankiai
- fail2ban

# Nustatyti lokales
lokalė: en_UK
laiko juosta: Etc/UTC
klaviatūra:
išdėstymas: nb

write_files:
- kelias: /etc/salt/minion.d/master_ip_port.conf
turinys: |
meistras: druska
master_port: 4506
publikavimo prievadas: 4505
- kelias: /home/mwiza/cloud-init.txt
turinys: |
sukūrė cloud-init žydroje spalvoje

# „Bash“ komandų vykdymas programinei įrangai ir paslaugoms konfigūruoti
runcmd:
- ufw įjungti
- ufw leisti ssh
- ufw leisti 80
- systemctl įgalinti ufw

# Užbaigus inicijavimą, išjunkite VM
išjungimas: išjungimas

Debesų inicijavimo scenarijus naudoja YAML, todėl įsitikinkite, kad įtrauka yra teisinga, kitaip jis neveiks taip, kaip tikėtasi.

2 veiksmas: sukurkite virtualios mašinos išteklius

Kitas veiksmas – sukurti virtualiajai mašinai būtinus išteklius „Azure“. Prisijunkite prie „Azure“, jei jau turite paskyrą arba sukurkite nemokamą bandomąją paskyrą, eidami į azure.microsoft.com.

„Azure“ portalo pagrindiniame puslapyje spustelėkite Sukurkite šaltinį mygtuką. Iš populiariausių Azure paslaugų sąrašo pasirinkite Virtuali mašina.

Kitame puslapyje pateikiama informacija, kaip sukurti VM išteklius, tokius kaip standusis diskas, tinklas ir kt.

Suteikite savo VM prasmingą pavadinimą ir pasirinkite diegimo regioną. Taip pat sukurkite savo VM išteklių grupę arba naudokite esamą.

Pagal Autentifikavimas tipo, pasirinkite Slaptažodis parinktį ir pateikite savo vartotojo vardą bei tvirtą slaptažodį.

Kai užpildysite visus šio puslapio laukus, jūsų informacija turėtų būti panaši į toliau pateiktą.

3 veiksmas: pridėkite savo debesies inicijavimo scenarijų

Tada spustelėkite Išplėstinė skirtuką, kad pridėtumėte debesies inicijavimo scenarijų. Nukopijuokite ir įklijuokite debesies inicijavimo scenarijų nuo pirmojo veiksmo į tinkintų duomenų lauką.

Galiausiai spustelėkite Peržiūrėkite + kurkite mygtuką. Jei viskas gerai, testas bus sėkmingas. Kitu atveju „Azure VM“ kūrėjas patars, kaip atlikti pataisymus.

4 veiksmas: prisijunkite prie savo virtualios mašinos

Naudokite VM apžvalgos informaciją, kad gautumėte viešąjį virtualios mašinos IP adresą ir prisijunkite per SSH. Jei naudojote teisingą SSH raktą, sistema neprašys įvesti vartotojo slaptažodžio.

Prisijungę galite patikrinti, ar ten yra failai, kuriuos norėjote sukurti naudodami scenarijų. Taip pat ieškokite įdiegtų paketų su APT ir patikrinkite, ar ugniasienė tinkamai sukonfigūruota naudojant sudo ufw būsena komandą.

„Cloud-init“ taip pat registruoja svarbią informaciją /var/log/cloud-init.log failą. Jame yra išsamių pranešimų apie visus įvykius, įvykusius inicijuojant debesį. Šį failą galite patikrinti naudodami komandą cat taip:

cat /var/log/cloud-init.log

Automatizuokite virtualios mašinos kūrimą naudodami „Cloud-init“.

„Cloud-init“ yra galingas įrankis, padedantis automatizuoti „Linux“ diegimą ir sąranką. Galite naudoti jį debesyje ir vietiniuose serveriuose. Nesvarbu, ar tiesiog norite automatizuoti virtualiosios mašinos diegimą, ar reikia diegti dideliu mastu „Linux“ serverius, „Cloud-init“ yra puikus pasirinkimas.

Taip pat visada apsaugokite savo SSH prisijungimus prie debesies pagrįstų virtualių mašinų, kad išvengtumėte saugumo pažeidimų.