Crearea unei mașini virtuale este plictisitoare. Crearea sutelor necesită timp. cloud-init vă permite să automatizați crearea de mașini virtuale în Microsoft Azure.

Dacă ați configurat vreodată o mașină virtuală, știți cum funcționează. Faceți clic aici și acolo, mai faceți clic pe drumul dvs. și, în final, aveți un sistem configurat. Dar mai trebuie să instalați software și să configurați VM după preferințele dvs.

Acum imaginați-vă că doriți să configurați sute de VM. Făcând clic prin instalare nu este atât de eficient. În schimb, trebuie să automatizați procesul cât mai mult posibil și aici intervine cloud-init.

Să aruncăm o privire la modul în care puteți automatiza instalarea sistemului de operare și configurarea mașinii virtuale folosind cloud-init în Microsoft Azure.

De ce să folosiți cloud-init pentru a automatiza crearea VM?

cloud-init este un instrument puternic de automatizare a implementării pe care Canonical, compania din spatele Ubuntu, îl dezvoltă.

Cu cloud-init, puteți instala și implementa sisteme de operare Linux și puteți configura alte aspecte ale unei VM. De exemplu, puteți folosi cloud-init pentru a configura conturi de utilizator, pentru a instala și configura software, pentru a adăuga chei SSH, dacă numiți.

instagram viewer

În prezent, majoritatea furnizorilor de servicii cloud, cum ar fi Azure, Linode și Amazon Web Services (AWS), acceptă cloud-init.

Deși cloud-init a început pe Ubuntu, acum acceptă toate distribuțiile majore de Linux, cum ar fi openSUSE, Debian, Red Hat Enterprise Linux (RHEL) etc.

Pe lângă implementarea software-ului în cloud, puteți utiliza și cloud-init pentru a configura și instala software-ul pe servere locale sau medii virtuale, cum ar fi VirtualBox, KVM și VMware.

Vom folosi platforma cloud Microsoft Azure pentru a automatiza implementarea unui server Ubuntu folosind cloud-init.

Pasul 1: Crearea unui Script cloud-init

Scripturile cloud-init folosesc module pentru configurarea diferitelor aspecte ale sistemului dumneavoastră. De exemplu, veți folosi utilizatorii modul pentru a configura informațiile despre utilizator și conturile și sârmă de protecție modul pentru configurarea WireGuard etc. Există o mulțime de alte module pe care le puteți folosi din cutie.

Să creăm un script cloud-init pentru a automatiza majoritatea lucrurilor pe care le configurați atunci când configurați o nouă mașină virtuală.

Vom crea un utilizator numit „mwiza” și îi vom atribui o parolă. Pentru simplitate, haideți să folosim o parolă cu text simplu, dar o puteți cripta dacă doriți. În plus, adăugați cheia SSH a utilizatorului la cheile autorizate. Acest lucru vă permite să dezactivați autentificarea parolei SSH mai târziu pentru o mai bună securitate.

Pe lângă crearea unui utilizator nou, scriptul ar trebui să facă următoarele:

  • Scrierea unui fișier: Creați un fișier simplu și scrieți conținut în el folosind scrie_fișiere modul. Fișierul va fi plasat în directorul principal. Puteți folosi aceleași concepte pentru a crea fișiere mai complexe în viitor.
  • Rularea comenzilor: Vom rula comenzi simple pentru configurarea paravanului de protecție UFW, dar ar putea fi orice altă comandă Linux. Utilizați runcmd modul pentru rularea oricărei comenzi la alegere; este similar cu rularea comenzilor Linux de executând scripturi Bash.
  • Configurarea localităților: Aceasta setează locațiile dvs. preferate, cum ar fi aspectul tastaturii, limba preferată, fusul orar etc.
  • Instalați pachete: Utilizați managerul de pachete preferat pentru a instala pachete pe sistemul dvs. De exemplu, pe sistemele bazate pe Debian, puteți utiliza APT.

Acestea sunt doar câteva dintre modulele pe care le puteți utiliza din cloud-init; există câteva alte module pentru a automatiza tot felul de lucruri.

Iată scriptul complet cloud-init pentru a configura noul cont de utilizator. Nu uitați să înlocuiți cheia SSH cu cea corectă. De asemenea, nu ezitați să schimbați numele de utilizator și orice alte detalii.

vim: sintaxă=yaml

# Adăugați utilizatori de sistem aici
utilizatori:
- nume: mwiza
grupuri: utilizatori, sudo
shell: /bin/bash
gecos: mwiza
plain_text_passwd: Live-laugh-love12345G123
lock_passwd: fals
ssh_authorized_keys:
- ssh-ed25519 BSHSDSDS3NzaC1sdfSDGSDSDJ1KSDB: PWELJWEEWeKBrkXWbLJBs; ldfkagfafkC6li71Ra6i+NKkajdfi [email protected]

# Instalați, actualizați și actualizați pachetele
package_upgrade: adevărat
package_update: adevărat
package_reboot_if_require: true

pachete:
- traceroute
- instrumente de plasă
- fail2ban

# Setați localitățile
local: ro_UK
fus orar: etc/UTC
tastatură:
aspect: nb

write_files:
- calea: /etc/salt/minion.d/master_ip_port.conf
continut: |
maestru: sare
master_port: 4506
publish_port: 4505
- calea: /home/mwiza/cloud-init.txt
continut: |
creat de cloud-init în azure

# Rularea comenzilor Bash pentru a configura software-ul și serviciile
runcmd:
- activare ufw
- ufw permite ssh
- ufw permit 80
- systemctl enable ufw

# Opriți VM-ul după finalizarea inițializării
oprire: oprire

Scriptul cloud-init folosește YAML, așa că asigurați-vă că indentarea este corectă, altfel nu va funcționa așa cum vă așteptați.

Pasul 2: Crearea resursei mașinii virtuale

Următorul pas este să creați resursa necesară în Azure pentru mașina virtuală. Conectați-vă la Azure dacă aveți deja un cont sau creați un cont de probă gratuit accesând azure.microsoft.com.

Pe pagina de pornire a portalului Azure, faceți clic pe Creați o resursă buton. Din lista celor mai populare servicii Azure, selectați Mașină virtuală.

Pagina următoare vă oferă informații pentru crearea resurselor VM, cum ar fi hard disk, rețea etc.

Dați mașinii virtuale un nume semnificativ și selectați regiunea de implementare. De asemenea, creați un grup de resurse pentru VM sau utilizați unul existent.

Sub Autentificare tastați, selectați Parola opțiunea și furnizați numele dvs. de utilizator și parola puternică.

După ce completați toate câmpurile de pe această pagină, detaliile dvs. ar trebui să fie similare cu următoarele.

Pasul 3: Adăugarea scriptului dvs. cloud-init

Apoi, faceți clic pe Avansat pentru a adăuga script-ul cloud-init. Copiați și inserați scriptul cloud-init de la primul pas în câmpul de date personalizat.

În cele din urmă, faceți clic pe Examinați + creați buton. Dacă totul este în regulă, testul va trece. În caz contrar, creatorul Azure VM vă va ghida cu privire la corecțiile de făcut.

Pasul 4: Conectați-vă la mașina dvs. virtuală

Utilizați informațiile de prezentare generală a VM pentru a obține adresa IP publică a mașinii dvs. virtuale și pentru a vă conecta prin SSH. Dacă ați folosit cheia SSH corectă, sistemul nu vă va solicita să introduceți parola de utilizator.

Odată autentificat, puteți verifica dacă fișierele pe care ați vrut să le creați prin script sunt acolo. De asemenea, caută pachete instalate cu APT și verificați dacă firewall-ul a fost configurat corect folosind sudo ufw status comanda.

cloud-init înregistrează, de asemenea, informații importante în /var/log/cloud-init.log fişier. Conține mesaje detaliate ale tuturor evenimentelor care au avut loc în timpul inițializării cloud-init. Puteți verifica acest fișier folosind comanda cat după cum urmează:

cat /var/log/cloud-init.log

Automatizați crearea de mașini virtuale cu cloud-init

cloud-init este un instrument puternic care vă ajută să automatizați instalarea și configurarea Linux. Îl puteți folosi în cloud și pe servere on-prem. Indiferent dacă doriți doar să vă automatizați implementarea mașinii virtuale sau dacă aveți nevoie să implementați servere Linux la scară largă, cloud-init este o alegere excelentă.

Pe o notă legată, asigurați-vă întotdeauna conexiunile SSH pentru mașinile virtuale bazate pe cloud pentru a evita încălcările de securitate.