Pilv Init

Pilv-Init ja VM-id

Pilv-Init ja VM-id
Järgmises artiklis räägitakse veidi pilve-initist ja selle probleemidest ning sellest, kuidas avatud lähtekood ei tähenda tingimata vabadust. Kui soovite pilvepiltide konfigureerimiseks kasutada cloud-init, kerige lihtsalt punktini 3 alla.

1. Mida see teeb?

Kas olete mõelnud, kuidas VPS-teenuse pakkujad konfigureerivad teie virtuaalmasinaid, lisavad teie SSH-võtmeid, loovad kasutajaid ja installivad pakette iga kord, kui keerate pilves uue VM-i? Noh, enamiku müüjate vastus on pilv-init. Enamik operatsioonisüsteeme ja jaotusi edastavad virtuaalseid kettapilte koos vastavate operatsioonisüsteemidega. Installimine on väga minimaalne ja seda saab kasutada OS-i juurfailisüsteemi mallina. OS-i hooldajad on ka piisavalt lahked, et pakkuda virtuaalset kettapilti kõigi erinevate formaatide jaoks, alates toorest kettapildist kuni qcow2 ja isegi vmdk, vdi ja vhd.

Pildil on ka eelinstallitud üks lisapakett ja see on pilve-init. See on pilve-initsi ülesanne lähtestada VM (tavaliselt pilveteenuse (nt DigitalOcean, AWS või Azure) sees) räägib hostimise pakkuja andmeallikas ja hankige konfiguratsiooniteave, mida ta seejärel kasutab VM-i konfigureerimiseks.

Konfiguratsiooniteave võib sisaldada järgmist kasutaja andmed nagu SSH-võtmed, eksemplari hostinimi, kasutajad ja paroolid koos kõigi muude suvaliste käskudega, mida kasutaja soovib käivitada.

2. Pilv-Initiga seotud probleem

Pilv-init on suurepärane tööriist, kui olete pilvekasutaja, kui keerutate virtuaalseid virtuaalmasinaid või konteinereid ja teie pilvepakkuja palub teilt pilve-konfiguratsiooni, on see suurepärane! Pilvekonfiguratsioonifailiga ehk teie kasutajaandmetega saate kasutajaid lisada, suvalisi käske käivitada, pakette installida kohe, kui VM-i luuakse. Protsessi saab korduvalt korrata, ilma et tüütuid käske ikka ja jälle trükitaks. Varsti on teil identse konfiguratsiooniga virtuaalmasinate laevastik.

Kui aga kaevate veidi sügavamale ja näete, kuidas vorsti tehakse, hakkate kahtlema pilve-init aspektides. Näiteks on andmeallikas vaikimisi nagu REST-lõpp-punkt ja need on sisuliselt kõvakodeeritud pilve-init paketti endasse. Muidugi, saate andmeallika ise seadistada, kuid see protsess on kohmakas ja aeganõudev. Dokumendid selleks on olemas, kuid puudub.

Ametlik dokumentatsioon on midagi muud kui juba olemasolevatele pilveteenustele toetuvate lõppkasutajate kasutusjuhend. See ei ütle teile, kuidas saate oma pilve-init andmeallika seadistada, juhul kui olete tulevane hankija. Isegi lõppkasutaja dokumentatsioon on kehv ja ma soovitaksin inimestel selle asemel kasutada DigitalOceani suurepärast õpetust.

Veelgi hullem on see, et koduste virtualiseerimislaborite ja väikese VPS-i käivitamisega kasutajatel on nendest kergekaalulistest pilvepiltidest kasu saada. Nende mallide VM-i ei saa tegelikult käivitada ilma pilve-init andmeallika või mõne häkkerita, mida on raske automatiseerida ja skaleerida. Teisisõnu, te ei saa isegi pilve-init ignoreerida, kui te ei soovi oma malle koostada.

Klassikalisel süsteemimudelil vabaneb see etteantud rollidest ning hakkab segi ajama võrguühenduse ja muude operatsioonisüsteemi osadega, mis ajab kasutajad eemale. See komplekteeritakse Ubuntu 18-s.04 serveri ISO, millel pole mingit mõtet (vähemalt mitte mulle).

3. Kodulaborite lahendus

Kui kõik röökimine kõrvale jätta, siis pean oma igapäevases kasutuses ikkagi tegelema pilve-initiga. Mul on x86_64 riistvarale väga minimaalne Debian 9 install, mida kasutan KVM-i hüpervisorina. Tahtsin väga kasutada qcow2 kettapilte, mis on Ubuntu ja CentOS poolt tarnitud. Nendes kettapiltides on operatsioonisüsteem eelinstallitud ja nende kasutamiseks peate lihtsalt:

  1. Kopeerige need oma VM-i virtuaalse kõvaketta pildina.
  2. Muutke juurfailisüsteemi virtuaalse suuruse soovitud suuruseks (soovitatav on vähemalt 10 GB). See ei suurenda teie VM-i füüsilist suurust, kuid kettapilt võib aja jooksul kasvada, kuna VM lisab sellele rohkem andmeid.
  3. VM-i konfigureerimine pilve-init abil. Miinimumnõue on seada juurkasutaja parool või SSH-võtmed, kuid saate teha kõike, mida pilv-init suudab.

Järgitakse järgmisi samme:

  1. Laadige alla oma lemmik OS-i pilvepilt ja salvestage see kataloogi / var / lib / libvirt / boot:
$ cd / var / lib / libvirt / boot
$ curl -O https: // pilvepildid.ubuntu.com / xenial / current / xenial-server-cloudimg-
amd64-disk1.img
$ cd / var / lib / libvirt / images
  1. Looge soovitud suurusega tühi virtuaalne kõvaketas ja laiendage sellele alla laaditud qcow2 pilti. Mulle meeldib salvestada VM-i kõvakettaid kataloogis / var / lib / libvirt / images / kataloog, saate valida muu kataloogi. Ükskõik, mida valite, käivitage allolevad käsud samas kataloogis:
$ qemu-img create -f qcow2 myVM.qcow2 8G ## Looge kõvaketas
virtuaalse ketta suurus 8 GB
$ virt-resize --expand / dev / sda1 / var / lib / libvirt / boot / xenial-server-
cloudimg-amd64-disk1.img
./ myVM.qcow2
  1. Looge pilv-init-failid. Need on kasutajaandmete ja metaandmete failid:
metaandmed $ vim
instance-id: myVM
kohalik-hostinimi: myVM

$ vim kasutajaandmed
# cloud-config
kasutajad:
- nimi: juur
chpasswd:
nimekiri: |
juur: myPassword
aeguma: Vale

Ainus kasutaja, kes mul siin on, on juurkasutaja. Kui te ühtegi kasutajat ei maini, siis vaikenimi nimega ubuntu saab loodud. Vaikimisi kasutajanimi erineb OS-st, mistõttu soovitan kasutaja määrata, isegi kui see on just nii juur. Kasutajaandmete faili järgmine osa käsib cloud-initil konfigureerida parooli kõigile kasutajatele, kellele soovite parooli määrata. Jällegi, ma lihtsalt määran parooli lihtsalt juurkasutaja jaoks ja nii on myPassword. Veenduge, et kooloni ja paroolistringi vahel pole tühikut.

Veelgi parem, võite kasutada SSH-võtmeid, selle asemel, et kõvakodeeritud paroole ümber panna.

$ vim kasutajaandmed
# cloud-config
kasutajad:
- nimi: juur
ssh_pwauth: Tõsi
ssh_authorized_keys:
- ssh-rsa
  1. Manustage kasutajaandmete ja metaandmete failid iso-faili.
$ genisoimage -output cidata-myVM.iso -volid cidata -joliet -rock kasutajaandmete metaandmed

Veenduge, et fail cidata-myVM.iso asub kataloogis / var / lib / libvirt / images /

  1. Minge kataloogi / var / lib / libvirt / images ja vormindage VM käsuga virt-install: $ virt-install --import --name myVM --memory 2048 --vcpus 2 --cpu host
    --ketas myVM.qcow2, format = qcow2, bus = virtio - ketas myVM-cidata.iso, seade = cdrom
    --võrgusild = virbr0, mudel = virtio --os-type = linux
    --os-variant = ubuntu16.04 - noautoconsole

    Nüüd saate proovida VM-i sisselogimist, kasutades käsku virsh console myVM ja kasutades sisselogimiseks juurkasutajanime ja sellele vastavat parooli. Konsoolist väljumiseks sisestage lihtsalt Ctrl +]

Järeldus

Pilvepildid, mida enamik müüjaid saadab, on ressursside kasutamise seisukohalt tõeliselt tõhusad ning nad tunnevad end ka väga kiiresti ja reageerivalt. Asjaolu, et peame lähtepunktina tegelema ebamugava pilve-init-konfiguratsiooniga, takistab ainult kogukonna KVM-i ja sellega seotud tehnoloogiate kasutuselevõttu.

Kogukond saab palju õppida sellest, kuidas Docker oma pilte ehitab ja edastab. Neid on tõesti lihtne hallata nii jooksvate konteinerite kui ka mallidena, mida on lihtne levitada ja kasutada.z

Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...
Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...
Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...