Skip to content
Menu
msandor honlapja
  • Bemutatkozás
msandor honlapja

Lépjünk szintet a Vagranttal

Posted on 2023.06.27.2024.04.10.

A korábbi cikkemben röviden bemutattam a Vagrantot, létrehoztuk az első virtuális gépünket. Most megnézzük, milyen további lehetőségeink vannak. Már csak azért is, mert alapesetben 512 MB memóriával és 1 VCPU-val indul a VM, ami nem sok mindenre elég. Nyissuk meg a kedvenc szövegszerkesztőnkkel a Vagrantfile-t. A könnyebb átláthatóság miatt töröljünk ki mindent, a 77 sorból csak 3 hasznos, a többi komment. Adjuk hozzá a memória és a cpu paramétereket:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
    vb.cpus = 2
  end
end

Mivel legutóbb töröltem a VM-et, most újra hozzuk létre és lépjünk is bele:

$ vagrant up
$ vagrant ssh

Ellenőrizzük a memóriát és a cpu-t:

[vagrant@localhost ~]$ grep CPU /proc/cpuinfo  
model name      : Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
model name      : Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz

[vagrant@localhost ~]$ free -h
             total        used        free      shared  buff/cache   available
Mem:           990M         87M        811M        6.6M         91M        784M
Swap:          2.0G          0B        2.0G

Ahogy várható volt, megduplázódott a memória és a cpu. Állítsuk le a gépet ($ sudo poweroff), majd bővítsük a Vagrantfile-t:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
    vb.cpus = 2
  end
  config.vm.provision "shell", inline: <<-SHELL
    yum install mc epel-release httpd net-tools -y
    yum update -y --skip-broken
    systemctl enable --now httpd
  SHELL
end

Ha most kiadjuk a „$ vagrant up” parancsot, nem fog történni semmi, ugyanis a Vagrantfile-ban definiált paraméterek egy részét csak első indításkor olvassa be. Ebben a példában ilyen a két „SHELL” közé rakott három parancs. Az első feltelepíti a midnight commandert, az apache webszervert, a net-tools-t, és az epel-repót, illetve ezek függőségeit. A második frissíti a VM-et. A harmadik pedig engedélyezi a webszerver auto startját, sőt azonnal el is indítja. Tehát a teszteléséhez ismét töröljük a gépet, és hozzuk létre újra:

$ vagrant destroy -f
$ vagrant up
$ vagrant ssh

A szokásos szöveget fogjuk látni a konzolunkban, majd elindul a telepítés és a frissítés, ezek már zöld és piros színekben fognak pompázni, a cikk írásakor nálam 141 csomagot frissített.

Ellenőrizzük a webszervert:

# netstat -antp | grep LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      355/rpcbind          
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      4090/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      919/master           
tcp6       0      0 :::111                  :::*                    LISTEN      355/rpcbind          
tcp6       0      0 :::80                   :::*                    LISTEN      13281/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      4090/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      919/master

Láthatóan figyel a 80-as porton a httpd. Igen ám, de ezt a laptopról nem érjük el, ugye emlékszünk, NAT-olt hálózata van a VM-nek, ő kilát a netre, de senki nem lát be hozzá. Kapcsoljuk le a VM-et ($ sudo poweroff), és bővítsük a Vagrantfile-t:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
    vb.cpus = 2
  end
  config.vm.provision "shell", inline: <<-SHELL
    yum install mc epel-release httpd net-tools -y
    yum update -y --skip-broken
    systemctl enable --now httpd
  SHELL
end

Most már elérjük a virtuális szerverünk webszerverét a laptopunk 8080-as portján. Figyelem! Ha más már használja a portot, akkor a VM indításakor erre figyelmeztetést fogunk kapni!

Másképp is meg lehet oldani a hozzáférést, adjunk egy másik hálókártyát a VM-nek, és akkor nem kell aggódni a port ütközések miatt. Vegyük elő a Vagrantfile-t, kommentezzük ki a port-forwardot, és adjunk hozzá egy új hálókártyát:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  #config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  config.vm.network "private_network", ip: "192.168.56.2"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
    vb.cpus = 2
  end
  config.vm.provision "shell", inline: <<-SHELL
    yum install mc epel-release httpd net-tools -y
    yum update -y --skip-broken
    systemctl enable --now httpd
  SHELL
end

Indítsuk újra a VM-et:

$ vagrant reload

Ha frissítjük a böngészőnket, már nem fog bejönni a weboldal (töröltük a port-forwardot). De a VM dedikált IP címén elérhetjük, már nem kell porttal trükközni:

Ennyit szerettem volna mondani, a következő cikkben arról fogok mesélni, hogyan kell több VM-et indítani.

Vélemény, hozzászólás? Válasz megszakítása

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Kategóriák

  • ansible
  • docker
  • e-mail
  • git
  • hardware
  • hibakeresés
  • kubernetes
  • ldap
  • Linux
  • MariaDB
  • OpenWrt
  • Proxmox
  • security
  • SNMP
  • Synology
  • teszt
  • Unifi
  • UPS
  • vagrant
  • Virtualbox
  • zabbix
©2025 msandor honlapja | WordPress Theme by Superb WordPress Themes

Adatkezelési tájékoztató || Hibát talált az oldalon? Írja meg nekem. || Impresszum || Powered by WordPress

Oldalunk cookie-kat ("sütiket") használ. Ezen fájlok információkat szolgáltatnak számunkra a felhasználó oldallátogatási szokásairól a legjobb felhasználói élmény nyújtása érdekében, de nem tárolnak személyes információkat, adatokat. Szolgáltatásaink igénybe vételével Ön beleegyezik a cookie-k használatába. Kérjük, hogy kattintson az Elfogadom gombra, amennyiben böngészni szeretné weboldalunkat.ElfogadomAdatvédelmi irányelvek