======Vagrant======
Abstrakcni vrstva pro virtualizacni reseni. Vagrant zajistuje jednotne
ovladani mnoha virtualizacnich technologii - libvirt, virtualbox,
vmware, kvn atd.
====prikazy====
vagrant init custom ... ziniciuje vagrant v aktualnim adresari - vytvori json soubor s parametrama\\
====Nastaveni VM aby podporovala Vagrant====
adduser vagrant
echo 'vagrant ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/vagrant
mkdir -p /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
curl https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub > /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
sed -e 's/^Defaults\(.*\)requiretty\(.*\)/#Defaults\1requiretty\2/' -i /etc/sudoers
sed -e 's/^Defaults\(.*\)visiblepw\(.*\)/#Defaults\1visiblepw\2/' -i /etc/sudoers
====logy, debugging, ...====
export VAGRANT_LOG=debug ... zapne debug vypis Vagrantu\\
====Instalace====
curl https://releases.hashicorp.com/vagrant/1.9.1/vagrant_1.9.1_x86_64.rpm
rpm -i vagrant*rpm
yum install libvirt-devel
vagrant plugin install vagrant-libvirt --plugin-version 0.0.35
====Priprava lib-virt boxu====
mkdir /vagrant
cd /vagrant
echo '{
"provider" : "libvirt",
"format" : "qcow2",
"virtual_size" : 40
}' > metadata.json
echo 'Vagrant.configure("2") do |config|
config.vm.provider :libvirt do |libvirt|
libvirt.driver = "kvm"
libvirt.host = 'localhost'
libvirt.uri = 'qemu:///system'
end
config.vm.define "new" do |custombox|
custombox.vm.box = "custombox"
custombox.vm.provider :libvirt do |test|
test.memory = 1024
test.cpus = 1
end
end' > Vagrantfile
qemu-img convert -f raw -O qcow2 /var/lib/libvirt/images/test.img box.img
tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img
vagrant box add --name custom custom_box.box
====Pripojeni na VM====
wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant ### Stahne privatni Vagrant klic\\
chmod 600 vagrant # ... nastavi dobra prava (necitelne pro ostatni)\\
ssh -p 2222 -i vagrant vagrant@127.0.0.1\\