{"id":15,"date":"2014-06-24T08:40:00","date_gmt":"2014-06-24T08:40:00","guid":{"rendered":""},"modified":"2023-08-02T17:10:05","modified_gmt":"2023-08-02T17:10:05","slug":"vagrant","status":"publish","type":"post","link":"https:\/\/d-mashina.net\/index.php\/2014\/06\/24\/vagrant\/","title":{"rendered":"Vagrant"},"content":{"rendered":"<div style=\"text-align: justify;\">\n\u017de pred meseci sem naletel na Vagrant, mu pa nisem posvetil nobene pozornosti. Tako pa je pred dnevi pri\u0161la ideja, da bi uporabil Puppet ali Chef za hitro namestitev testnih okolij OpenStack, Cloudstacka oz. karkoli podobnega v virtualizacijo, kot je VirtualBox ali VMWare Fusion na mojem desktop ra\u010dunalniku. In tako sem znova naletel na Vagrant. Ampak kaj Vagrant je?<\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\nVagrant je orodje za hitro ustvarjanje navideznih ra\u010dunalnikov (virtual machines), ki so namenjeni razvojnim okoljem. Torej lai\u010dno povedano, z njim 1 2 3 naredimo virtualca, ki je povsem izoliran od na\u0161ega delovnega okolja, in te\u010de v VirtualBoxu ali VMWare Fusion. Z enim samim ukazom odstranimo celotno razvojno okolje in kakr\u0161no koli sled o njegovem obstoju, brez da bi lahko kakorkoli \u0161kodovali na\u0161emu produkcijskemu sistemu (lasten notebook).<\/p>\n<\/div>\n<p><\/p>\n<div style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2014\/06\/vagrant_logo.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" src=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2014\/06\/vagrant_logo.png\" height=\"87\" width=\"320\" \/><\/a><\/div>\n<p><\/p>\n<blockquote><p>\n<b>POZOR: Vagrant je CLI orodje (toda to vas naj ne odvrne od uporabe)<\/b><\/p><\/blockquote>\n<p><\/p>\n<div style=\"text-align: justify;\">\nSama namestitev je sila enostavna. S spletne strani <a href=\"http:\/\/www.vagrantup.com\/downloads.html\" target=\"_blank\" rel=\"noopener\">VagrantUp<\/a> snamemo paket za operacijski sistem po izbiri in ga namestimo. Prepri\u010dajmo se, da imamo name\u0161\u010den VirtualBox in iz konzole izvedimo ukaz:<\/div>\n<p>\n<i>vagrant init hashicorp\/precise32<\/i><\/p>\n<p>in<\/p>\n<p><i>vagrant up<\/i><\/p>\n<div style=\"text-align: justify;\">\nTako spro\u017eimo download zgoraj imenovane Ubuntu distribucije in namestitev v VirtualBox. Ko se namestitev kon\u010da, se lahko potem SSH priklju\u010dimo na 127.0.0.1 (localhosta) na port 2222 in smo \u017ee v na\u0161em virtualnem sistemu. V sistem se lahko priklopimo tudi z ukazom <i>vagrant ssh<\/i>. Takoj po izvedbi prvega ukaza, se nam v imeniku, kjer se nahajamo zapi\u0161e datoteka Vagrantfile, kjer so zapisane postavke sistema, ki se namesti z ukazom <i>vagrant up<\/i>. V kolikor \u017eelimo VM ukinit izvedemo ukaz <i>vagrant destroy<\/i> oz. jih lahko zlistamo z ukazom <i>vagrant box list<\/i> in odstranimo v popolnosti iz sistema z ukazom <i>vagrant box remove &lt;ime_instance&gt;<\/i>.<\/div>\n<p>\nToda preden za\u010dnemo je potrebno pojasniti \u0161e par terminov, ki se pri Vagrantu uporabljajo. To so box, provider, provisoner in Vagrantfile.<\/p>\n<p><\/p>\n<div style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2014\/06\/vagrant1.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" src=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2014\/06\/vagrant1.png\" height=\"301\" width=\"400\" \/><\/a><\/div>\n<p><b>Box<\/b> &#8211; je paket, ki vsebuje VM z to\u010dno dolo\u010denim OS.<\/p>\n<div style=\"text-align: justify;\">\n<b>Provider<\/b> &#8211; je programska oprema, ki je odgovorna za kreiranje in managiranje VM. V na\u0161em primeru je to OpenSource VirtualBox, lahko pa uporabimo \u0161e VMWare Fusion, za katerega potrebujemo plugin, ki pa stane cca. 80 US$.<\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\n<b>Provisoner<\/b> &#8211; je odgovoren za ponudbo VM, ki mu jo je ponudil prej omenjen provider. Provisoner se uporablja za namestitev VM, instalacijo potrebne programske opreme v VM in za izvedbo razli\u010dnih opravil. Najve\u010dkrat uporabljani Prosvisonerji so Puppet, Chef in Ansible ter seveda shell skripte.<\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\n<b>Vagrantfile<\/b> &#8211; je celotna specifikacija shranjena v eni datoteki. Datoteka je shranjena v na\u0161em doma\u010dem imeniku. Primer Vagrantfile datoteke je podobne temu:<\/div>\n<blockquote><p>\n<i>Vagrant.configure(&#8220;2&#8221;) do |config|<\/i><i>&nbsp; &nbsp; config.vm.box = &#8220;chef\/freebsd-9.2&#8221;<\/i><i>&nbsp; &nbsp; config.vm.box_url = &#8220;http:\/\/mojserver\/freebsd-9.2\u201d<\/i><i>&nbsp; &nbsp; config.vm.network :private_network, ip: &#8220;192.168.33.101&#8221;<\/i><i>&nbsp; &nbsp; config.vm.synced_folder &#8220;.\/&#8221;, &#8220;\/vagrant&#8221;<\/i><i>end<\/i><\/p><\/blockquote>\n<p>in potem nam sama izvedba ukaza <i>vagrant up<\/i> izvede tole:<\/p>\n<blockquote><p>\n<i>Bringing machine &#8216;default&#8217; up with &#8216;virtualbox&#8217; provider&#8230;<br \/>==&gt; default: Importing base box &#8216;chef\/freebsd-9.2&#8217;&#8230;<br \/>==&gt; default: Matching MAC address for NAT networking&#8230;<br \/>==&gt; default: Checking if box &#8216;chef\/freebsd-9.2&#8217; is up to date&#8230;<br \/>==&gt; default: Setting the name of the VM: davorg_default_1403595117314_48185<br \/>==&gt; default: Couldn&#8217;t find Cheffile at .\/Cheffile.<br \/>==&gt; default: Clearing any previously set network interfaces&#8230;<br \/>==&gt; default: Preparing network interfaces based on configuration&#8230;<br \/>&nbsp; &nbsp; default: Adapter 1: nat<br \/>==&gt; default: Forwarding ports&#8230;<br \/>&nbsp; &nbsp; default: 22 =&gt; 2222 (adapter 1)<br \/>==&gt; default: Booting VM&#8230;<br \/>==&gt; default: Waiting for machine to boot. This may take a few minutes&#8230;<br \/>&nbsp; &nbsp; default: SSH address: 127.0.0.1:2222<br \/>&nbsp; &nbsp; default: SSH username: vagrant<br \/>&nbsp; &nbsp; default: SSH auth method: private key<\/i><\/p><\/blockquote>\n<p><\/p>\n<div style=\"text-align: justify;\">\nV kolikor vas je zadeva navdu\u0161ila imate za za\u010detek dovolj. Na spletu je precej dokumentacije glede Vagranta, jaz ga uporabljam na OpenSuse 13.1 z VirtualBox in na OS X Maverick z VirtualBox. Na obeh sistemih deluje odli\u010dno, na Windows OS ga \u0161e nisem testiral, ker jih nimam.<\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\nNa spletu je prav tako ogromno strani, ki nam ponujajo \u017ee izdelane Boxe, svetujem vam da si ogledate stran Vagrantbox.es &#8211; http:\/\/www.vagrantbox.es, kjer je kreiranih Boxov ogromno.<\/div>\n<div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u017de pred meseci sem naletel na Vagrant, mu pa nisem posvetil nobene pozornosti. Tako pa je pred dnevi pri\u0161la ideja, da bi uporabil Puppet ali Chef za hitro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":260,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,12,13],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-vagrant","category-virtualizacija"],"_links":{"self":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":1,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":262,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/15\/revisions\/262"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media\/260"}],"wp:attachment":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}