Virtuālās mašīnas izveide ir garlaicīga. Simtu izveide ir laikietilpīga. Cloud-init ļauj automatizēt virtuālās mašīnas izveidi programmā Microsoft Azure.

Ja kādreiz esat iestatījis virtuālo mašīnu, jūs zināt, kā tā darbojas. Jūs noklikšķiniet šeit un tur, noklikšķiniet vēl vairāk, un galu galā sistēma ir iestatīta. Bet tad jums joprojām ir jāinstalē programmatūra un jākonfigurē VM pēc jūsu izvēles.

Tagad iedomājieties, ka vēlaties iestatīt simtiem virtuālo mašīnu. Noklikšķināšana uz instalācijas ceļu nav tik efektīva. Tā vietā jums ir pēc iespējas vairāk jāautomatizē process, un tieši šeit parādās mākoņa init.

Apskatīsim, kā jūs varat automatizēt OS instalēšanu un virtuālās mašīnas konfigurāciju, izmantojot Microsoft Azure mākoņprogrammu.

Kāpēc izmantot mākoņa-init, lai automatizētu VM izveidi?

cloud-init ir jaudīgs izvietošanas automatizācijas rīks, ko izstrādā Canonical, Ubuntu uzņēmums.

Izmantojot mākoņa init, varat instalēt un izvietot Linux operētājsistēmas un konfigurēt citus virtuālās mašīnas aspektus. Piemēram, varat izmantot mākonis init, lai iestatītu lietotāju kontus, instalētu un konfigurētu programmatūru, pievienotu SSH atslēgas, jūs to nosaucat.

Pašlaik lielākā daļa mākoņpakalpojumu sniedzēju, piemēram, Azure, Linode un Amazon Web Services (AWS), atbalsta mākoņa init.

Lai gan mākoņa-init sākās Ubuntu, tagad tas atbalsta visus lielākos Linux izplatījumus, piemēram, openSUSE, Debian, Red Hat Enterprise Linux (RHEL) utt.

Papildus programmatūras izvietošanai mākonī varat arī izmantot mākoņa iniciatoru, lai konfigurētu un instalētu programmatūru uz vietas esošajos serveros vai virtuālās vidēs, piemēram, VirtualBox, KVM un VMware.

Mēs izmantosim Microsoft Azure mākoņa platformu, lai automatizētu Ubuntu servera izvietošanu, izmantojot mākoņa init.

1. darbība: izveidojiet mākoņa iniciēšanas skriptu

mākoņa iniciēšanas skripti izmanto moduļus dažādu jūsu sistēmas aspektu konfigurēšanai. Piemēram, jūs izmantosit lietotājiem modulis, lai konfigurētu lietotāja informāciju un kontus, un vadu aizsargs modulis WireGuard konfigurēšanai utt. Ir daudz citu moduļu, kurus varat izmantot ārpus kastes.

Izveidosim mākoņa iniciēšanas skriptu, lai automatizētu lielāko daļu lietu, ko konfigurējat, iestatot jaunu virtuālo mašīnu.

Mēs izveidosim lietotāju ar nosaukumu "mwiza" un piešķirsim tam paroli. Vienkāršības labad izmantosim vienkārša teksta paroli, taču, ja vēlaties, varat to šifrēt. Turklāt autorizētajām atslēgām pievienojiet lietotāja SSH atslēgu. Tas ļauj vēlāk atspējot SSH paroles pieteikšanos, lai nodrošinātu labāku drošību.

Papildus jauna lietotāja izveidei skriptam ir jāveic šādas darbības:

  • Faila rakstīšana: Izveidojiet vienkāršu failu un ierakstiet tajā saturu, izmantojot write_files modulis. Fails tiks ievietots mājas direktorijā. Jūs varat izmantot tos pašus jēdzienus, lai nākotnē izveidotu sarežģītākus failus.
  • Darbojas komandas: Mēs izpildīsim vienkāršas komandas UFW ugunsmūra konfigurēšanai, taču tā var būt jebkura cita Linux komanda. Izmantojiet runcmd modulis jebkuras komandas palaišanai pēc jūsu izvēles; tas ir līdzīgs Linux komandu palaišanai izpildot Bash skriptus.
  • Lokalizāciju konfigurēšana: Tas iestata vēlamās lokalizācijas, piemēram, tastatūras izkārtojumu, vēlamo valodu, laika joslu utt.
  • Instalējiet pakotnes: Izmantojiet savu iecienītāko pakotņu pārvaldnieku, lai instalētu pakotnes savā sistēmā. Piemēram, sistēmās, kuru pamatā ir Debian, varat izmantot APT.

Šie ir tikai daži moduļi, kurus varat izmantot no Cloud-init; ir vairāki citi moduļi, lai automatizētu visu veidu lietas.

Šeit ir pilns mākoņa iniciēšanas skripts, lai konfigurētu jauno lietotāja kontu. Atcerieties aizstāt SSH atslēgu ar pareizo. Varat arī mainīt lietotājvārdu un jebkuru citu informāciju.

vim: sintakse=yaml

# Šeit pievienojiet sistēmas lietotājus
lietotāji:
- vārds: mwiza
grupas: lietotāji, sudo
apvalks: /bin/bash
Gecos: mwiza
plain_text_passwd: Live-smejies-mīlestība12345G123
lock_passwd: nepatiess
ssh_authorized_keys:
- ssh-ed25519 BHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# Instalējiet, atjauniniet un jauniniet pakotnes
package_upgrade: taisnība
package_update: patiess
package_reboot_if_require: true

iepakojumi:
- traceroute
- tīkla rīki
- fail2ban

# Iestatiet lokalizācijas
lokalizācija: en_UK
laika josla: utt/UTC
tastatūra:
izkārtojums: nb

write_files:
- ceļš: /etc/salt/minion.d/master_ip_port.conf
saturs: |
meistars: sāls
master_port: 4506
publish_port: 4505
- ceļš: /home/mwiza/cloud-init.txt
saturs: |
izveidoja cloud-init debeszilā

# Bash komandu palaišana, lai konfigurētu programmatūru un pakalpojumus
runcmd:
- ufw iespējot
- ufw atļaut ssh
- ufw atļaut 80
- systemctl enable ufw

# Izslēdziet virtuālo mašīnu pēc inicializācijas pabeigšanas
izslēgšana: izslēgšana

Mākoņa iniciēšanas skripts izmanto YAML, tāpēc pārliecinieties, vai atkāpe ir pareiza, pretējā gadījumā tas nedarbosies, kā paredzēts.

2. darbība: izveidojiet virtuālās mašīnas resursu

Nākamais solis ir izveidot virtuālajai mašīnai nepieciešamo resursu Azure. Piesakieties Azure, ja jums jau ir konts, vai arī izveidojiet bezmaksas izmēģinājuma kontu, dodoties uz azure.microsoft.com.

Azure portāla sākumlapā noklikšķiniet uz Izveidojiet resursu pogu. Populārāko Azure pakalpojumu sarakstā atlasiet Virtuālā iekārta.

Nākamajā lapā ir sniegta informācija par VM resursu, piemēram, cietā diska, tīkla izveides, izveidi.

Piešķiriet savam VM jēgpilnu nosaukumu un atlasiet izvietošanas reģionu. Izveidojiet arī resursu grupu savai virtuālajai mašīnai vai izmantojiet esošu.

Saskaņā Autentifikācija veidu, atlasiet Parole opciju un norādiet savu lietotājvārdu un spēcīgu paroli.

Kad esat aizpildījis visus šīs lapas laukus, jūsu informācijai jābūt līdzīgai tālāk norādītajai.

3. darbība: pievienojiet mākoņa iniciēšanas skriptu

Pēc tam noklikšķiniet uz Papildu cilni, lai pievienotu mākoņa iniciēšanas skriptu. Kopējiet un ielīmējiet mākoņa iniciēšanas skriptu no pirmās darbības pielāgotajā datu laukā.

Visbeidzot noklikšķiniet uz Pārskatīt + izveidot pogu. Ja viss ir kārtībā, tests tiks izturēts. Pretējā gadījumā Azure VM veidotājs sniegs jums norādījumus par veicamajiem labojumiem.

4. darbība: piesakieties savā virtuālajā mašīnā

Izmantojiet VM pārskata informāciju, lai iegūtu savas virtuālās mašīnas publisko IP adresi un pieteiktos, izmantojot SSH. Ja izmantojāt pareizo SSH atslēgu, sistēma neprasīs ievadīt lietotāja paroli.

Kad esat pieteicies, varat pārbaudīt, vai faili, kurus vēlaties izveidot, izmantojot skriptu, ir tur. Tāpat meklējiet instalētās pakotnes ar APT un pārbaudiet, vai ugunsmūris ir pareizi konfigurēts, izmantojot sudo ufw statuss komandu.

Cloud-init arī reģistrē svarīgu informāciju /var/log/cloud-init.log failu. Tajā ir ietverti detalizēti ziņojumi par visiem notikumiem, kas notika mākoņa inicializēšanas laikā. Varat pārbaudīt šo failu, izmantojot komandu cat šādi:

cat /var/log/cloud-init.log

Automatizējiet virtuālās mašīnas izveidi, izmantojot mākoņa init

cloud-init ir spēcīgs rīks, kas palīdz automatizēt Linux instalēšanu un iestatīšanu. Varat to izmantot mākonī un uz vietas esošajos serveros. Neatkarīgi no tā, vai vēlaties tikai automatizēt virtuālās mašīnas izvietošanu vai Linux serverus plašā mērogā, mākonis-init ir lieliska izvēle.

Saistītā piezīmē vienmēr nodrošiniet savus SSH pieteikšanās datus mākoņa virtuālajām mašīnām, lai izvairītos no drošības pārkāpumiem.