Virtuaalse masina loomine on igav. Sadade loomine on aeganõudev. cloud-init võimaldab automatiseerida virtuaalmasina loomist Microsoft Azure'is.

Kui olete kunagi virtuaalmasina seadistanud, teate, kuidas see töötab. Klõpsate siin ja seal, klõpsate veel veidi ja lõpuks on teil süsteem seadistatud. Kuid siis peate ikkagi installima tarkvara ja konfigureerima VM-i vastavalt oma eelistustele.

Kujutage nüüd ette, et soovite seadistada sadu virtuaalseid masinaid. Installi läbimiseks klõpsamine pole nii tõhus. Selle asemel peate protsessi nii palju kui võimalik automatiseerima ja see on koht, kus pilv-init tuleb sisse.

Vaatame, kuidas saate automatiseerida OS-i installimist ja virtuaalmasina konfigureerimist, kasutades Microsoft Azure'i pilveiniti.

Miks kasutada VM-i loomise automatiseerimiseks pilveinitit?

cloud-init on võimas juurutamise automatiseerimise tööriist, mida Canonical, Ubuntu taga olev ettevõte, arendab.

Pilveiniti abil saate installida ja juurutada Linuxi operatsioonisüsteeme ning konfigureerida VM-i muid aspekte. Pilveiniti abil saate näiteks seadistada kasutajakontosid, installida ja konfigureerida tarkvara, lisada SSH-võtmeid, pange sellele nimed.

Praegu toetab enamik pilveteenuse pakkujaid, nagu Azure, Linode ja Amazon Web Services (AWS), pilve-initi.

Kuigi cloud-init sai alguse Ubuntus, toetab see nüüd kõiki suuremaid Linuxi distributsioone, nagu openSUSE, Debian, Red Hat Enterprise Linux (RHEL) jne.

Lisaks tarkvara pilves juurutamisele saate pilveiniti kasutada ka tarkvara konfigureerimiseks ja installimiseks kohapealsetesse serveritesse või virtuaalkeskkondadesse, nagu VirtualBox, KVM ja VMware.

Kasutame pilveiniti abil Ubuntu serveri juurutamise automatiseerimiseks Microsoft Azure'i pilveplatvormi.

1. samm: looge pilve-init skript

cloud-init skriptid kasutavad mooduleid teie süsteemi erinevate aspektide konfigureerimiseks. Näiteks kasutate kasutajad moodul kasutajateabe ja kontode konfigureerimiseks ning traatkaitse moodul WireGuardi jne seadistamiseks. Seal on palju muid mooduleid, mida saate karbist välja võtta.

Loome pilve-init skripti, et automatiseerida enamik asju, mida uue virtuaalmasina seadistamisel konfigureerite.

Loome kasutaja nimega "mwiza" ja määrame sellele parooli. Lihtsuse huvides kasutame lihtteksti parooli, kuid soovi korral saate selle krüpteerida. Lisaks lisage volitatud võtmetele kasutaja SSH-võti. See võimaldab teil SSH-parooliga sisselogimised hiljem parema turvalisuse huvides keelata.

Lisaks uue kasutaja loomisele peaks skript tegema järgmist:

  • Faili kirjutamine: Looge lihtne fail ja kirjutage sellesse sisu, kasutades kirjuta_failid moodul. Fail paigutatakse kodukataloogi. Saate kasutada samu kontseptsioone tulevikus keerukamate failide loomiseks.
  • Käskude käivitamine: Käitame UFW tulemüüri konfigureerimiseks lihtsaid käske, kuid see võib olla mis tahes muu Linuxi käsk. Kasutage ära runcmd moodul mis tahes teie valitud käsu käivitamiseks; see sarnaneb Linuxi käskude käitamisega Bashi skriptide käivitamine.
  • Lokaatide seadistamine: See määrab teie eelistatud lokaadid, näiteks klaviatuuripaigutuse, eelistatud keele, ajavööndi jne.
  • Installige paketid: Kasutage oma süsteemi pakettide installimiseks oma lemmikpaketihaldurit. Näiteks Debianil põhinevates süsteemides saate kasutada APT-d.

Need on vaid mõned moodulid, mida saate cloud-initist kasutada; seal on veel mitmeid mooduleid igasuguste asjade automatiseerimiseks.

Siin on täielik pilve-init skript uue kasutajakonto konfigureerimiseks. Ärge unustage asendada SSH-võti õigega. Samuti võite vabalt muuta kasutajanime ja muid üksikasju.

vim: süntaks=yaml

# Lisage siia süsteemi kasutajad
kasutajad:
- nimi: mwiza
rühmad: kasutajad, sudo
kest: /bin/bash
Gecos: mwiza
plain_text_passwd: Live-naera-armastus12345G123
lock_passwd: vale
ssh_authorized_keys:
- ssh-ed25519 BHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# Installige, värskendage ja täiendage pakette
package_upgrade: tõsi
package_update: tõsi
package_reboot_if_require: true

paketid:
- traceroute
- võrgutööriistad
- fail2ban

# Määrake lokaadid
lokaat: en_UK
ajavöönd: jne/UTC
klaviatuur:
paigutus: nb

write_files:
- tee: /etc/salt/minion.d/master_ip_port.conf
sisu: |
meister: sool
master_port: 4506
avaldamisport: 4505
- tee: /home/mwiza/cloud-init.txt
sisu: |
loodud pilv-initi poolt taevasinises

# Bashi käskude käivitamine tarkvara ja teenuste konfigureerimiseks
runcmd:
- ufw lubamine
- ufw lubab ssh
- ufw luba 80
- systemctl lubada ufw

# Pärast lähtestamise lõpetamist lülitage VM välja
väljalülitamine: väljalülitamine

Pilveinit-skript kasutab YAML-i, seega veenduge, et taane oleks õige, vastasel juhul ei tööta see ootuspäraselt.

2. samm: virtuaalmasina ressursi loomine

Järgmine samm on virtuaalmasina jaoks vajaliku ressursi loomine Azure'is. Logige Azure'i sisse, kui teil juba on konto, või looge tasuta proovikonto, minnes aadressile azure.microsoft.com.

Azure'i portaali avalehel klõpsake nuppu Looge ressurss nuppu. Valige kõige populaarsemate Azure'i teenuste loendist Virtuaalne masin.

Järgmisel lehel leiate teavet VM-i ressursside (nt kõvaketas, võrgundus jne) loomiseks.

Andke oma VM-ile tähendusrikas nimi ja valige juurutuspiirkond. Samuti looge oma VM-i jaoks ressursirühm või kasutage olemasolevat.

all Autentimine tüüp, valige Parool valikut ning sisestage oma kasutajanimi ja tugev parool.

Pärast kõigi sellel lehel olevate väljade täitmist peaksid teie andmed olema sarnased järgmisele.

3. samm: lisage oma pilveskripti lisamine

Järgmisena klõpsake nuppu Täpsemalt pilve käivitamise skripti lisamiseks. Kopeerige ja kleepige pilveskripti esimesest etapist kohandatud andmeväljale.

Lõpuks klõpsake nuppu Vaata üle + loo nuppu. Kui kõik on korras, läheb test läbi. Vastasel juhul juhendab Azure VM-i looja teid paranduste tegemisel.

4. samm: logige sisse oma virtuaalmasinasse

Kasutage VM-i ülevaateteavet, et hankida oma virtuaalmasina avalik IP-aadress ja logida sisse SSH kaudu. Kui kasutasite õiget SSH-võtit, ei nõua süsteem teilt kasutaja parooli sisestamist.

Pärast sisselogimist saate kontrollida, kas failid, mida soovite skripti kaudu luua, on seal olemas. Samuti otsige APT-ga installitud pakette ja kontrollige, kas tulemüür on õigesti konfigureeritud kasutades sudo ufw olek käsk.

cloud-init logib olulise teabe ka /var/log/cloud-init.log faili. See sisaldab üksikasjalikke sõnumeid kõigi sündmuste kohta, mis toimusid pilve initsialiseerimise ajal. Saate seda faili vaadata käsuga cat järgmiselt:

cat /var/log/cloud-init.log

Automatiseerige virtuaalmasina loomine pilveiniti abil

cloud-init on võimas tööriist, mis aitab teil Linuxi installimist ja seadistamist automatiseerida. Saate seda kasutada pilves ja kohapealsetes serverites. Pilveinit on suurepärane valik, olenemata sellest, kas soovite lihtsalt oma virtuaalmasina juurutamist automatiseerida või Linuxi servereid ulatuslikult juurutada.

Seoses sellega kaitske alati oma pilvepõhiste virtuaalmasinate SSH-i sisselogimised, et vältida turvarikkumisi.