Tags Posts tagged with "vagrant"

vagrant

przez -
1 1659
Vagrant

Ogłoszono wydanie Vagrant 1.8, specjalistycznego narzędzia do tworzenia wirtualnych środowisk, z wykorzystaniem VirtualBoksa, VMWare, czy KVM. Konfiguracja jest podobna do takiego oprogramowania, jak Ansible, Chef i Salt. Warto zaznaczyć, że działa on bez problemów na systemach Windows, Linux i OS X. Pojawiło się tzw. klonowanie poprzez linkowanie (linked clones) dla importowanych maszyn z VirtualBoksa i VMWare. Linked cloning to funkcja wspierana przez wiele hipernadzorców, która tworzy osobną maszynę z migawki głównego systemu. Taki wirtualny system współdzieli oprogramowanie i dysk ze swoim rodzicem, ale nie wprowadza na nim zmian i na odwrót. Pozwala to maksymalnie skrócić czas tworzenia kolejnych środowisk wirtualnych i wymaga jedynie trzymania głównej maszyny wirtualnej, jako korzenia dla wszystkich innych.

Dodano funkcję migawek systemowych, które są obsługiwane komendą vagrant snapshot. Ułatwi to tworzenie nowych środowisk wirtualnych i szybkie testowanie zmian. Wcześniej funkcja była dostępną poprzez wtyczkę vagrant-vbox-snapshot.

Reszta zmian:

  • Pojawiły się nowe komendy: powershell oraz port
  • Dodano nowy provisioner: ansible_local, który uruchamia Ansible na maszynie gościa, a nie lokalnie
  • Na systemach Windows i OS X, podczas instalacji Vagranta, instalowanych jest automatycznie VirtualBox
  • Poprawiono wydajność całej aplikacji
  • Zwiększono precyzję zarządzania globalną pamięcią podręczną, dzięki czemu przyspieszono aktualizację stanu maszyn

przez -
12 19776
Vagrant

Będąc deweloperem często potrzeba stworzyć na szybko środowisko do przetestowania. Administratorzy natomiast potrzebują maszyny wirtualnej do sprawdzenia, czy działa im ich własny skrypt. Grafik 3D będzie potrzebował kilku maszyn, aby móc szybciej wyrenderować swoją scenę. Dla wszystkich tych osób powstał właśnie Vagrant.

Vagrant jest narzędziem do tworzenia wirtualnych środowisk, z wykorzystaniem VirtualBoksa, VMWare, czy KVM. Konfiguracja jest podobna do takiego oprogramowania, jak Ansible, Chef, Salt i Puppet. Warto zaznaczyć, że działa on bez problemów na systemach Windows, Linux i OS X.

W naszym artykule skupimy się głównie na instalacji i konfiguracji pod systemem Windows 7 i CentOS, z wykorzystaniem VirtualBox.

Widows

Instalacja

Na początek musimy zainstalować VirtualBox i dodatki, które pobieramy ze strony www.virtualbox.org. Teraz trzeba dodać interpreter języka Ruby – rubyinstaller.org/downloads. Czasami potrzebne jest skorzystanie z tzw. Devkita.

Kiedy wykonamy wszystkie poprzednie czynności, możemy przystąpić do instalacji Vagranta. Udajemy się na stronę www.vagrantup.com/downloads i odszukujemy plik dla systemów Windows. Pobieramy, instalujemy i wykonujemy ponowne uruchomienie komputera.

Następnie przechodzimy do katalogu domowego użytkownika, gdzie znajdziemy folder .vagrant.d, w którym umieszczane są wszystkie pobrane przez nas kontenery systemów.

Konfiguracja

Teraz trzeba będzie skorzystać z konsoli Windows. Naciskamy Windows+R i wpisujemy CMD. Można też użyć do tego PowerShella.

Na początek trzeba stworzyć katalog w dowolnym miejscu w systemie:
mkdir Vagrant

Pobieramy nowy obraz:
vagrant box add CentOS6_virtualmin https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box

Warto zaznaczyć, że Vagrant tworzy osobny katalog o nazwie .vagrant.d, w którym przechowuje pobrane pliki. Dzięki temu wszystkie pobrane kontenery, mamy w jednym miejscu.

Teraz wydajemy polecenie do stworzenia maszyny wirtualnej:
vagrant init CentOS6_virtualmin

Jeżeli zdarzy się Wam, że w tym momencie, coś nie będzie działać i wyskoczą błędy, to usuwamy wszystko z katalogu Vagrant i jeszcze raz uruchamiamy powyższe polecenie.

Aby uruchomić naszą maszynę Vagrant, wydajemy polecenie:
vagrant up

Wyskoczy nam takowy komunikat:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'CentOS6_virtualmin'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Vagrant_default_1441805203368_52698
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/nazwa_użytkownika/Vagrant

Aby zalogować się do działającej maszyny, używamy programu PuTTy, Xshell lub innego dowolnego klienta konsoli dla systemów Windows. Pamiętajmy, że wszystko odbywa się przy pomocy loginu vagrant oraz klucza prywatnego, utworzonego w katalogu maszyny.

CentOS

Instalacja

cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
yum update
yum update kernel
yum install gcc make patch  dkms qt libgomp 
yum install kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel
yum install VirtualBox-5.0.x86_64

Opcjonalne:
KERN_DIR=/usr/src/kernels/`uname -r`-`uname -m`
lub ręcznie wchodzimy do ścieżki /usr/src/kernels/..
export KERN_DIR
/etc/init.d/vboxdrv setup

Przechodzimy do ścieżki:
http://download.virtualbox.org/virtualbox/5.0.2/

i kopiujemy adres linku do naszego dodatku:
http://download.virtualbox.org/virtualbox/5.0.2/Oracle_VM_VirtualBox_Extension_Pack-5.0.2.vbox-extpack

Teraz przechodzimy do tymczasowego katalogu, pobieramy wyżej wybrany plik, oraz instalujemy dodatek do Virtualbox, ostatnie polecenie dodaje nam użytkownika do grupy.

cd /tmp/
wget http://download.virtualbox.org/virtualbox/5.0.2/Oracle_VM_VirtualBox_Extension_Pack-5.0.2.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.2.vbox-extpack
usermod -a -G vboxusers user_name

Po wykonaniu powyższych zadań, zostaje nam instalacja paczki z Vagrantem:

rpm -iv https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.4_x86_64.rpm

Sprawdzamy jeszcze zainstalowaną wersję:
vagrant -v

Uruchomienie i konfiguracja

W celu utworzenia nowej maszyny wirtualnej, warto zapoznać się z listą dostępnych: http://www.vagrantbox.es/ i https://atlas.hashicorp.com/boxes/search. My utworzymy dla przykładu wirtualkę z minimalną instalacją CentOSa 6.

Konfiguracja

Na początek musimy stworzyć odpowiedni katalog:

mkdir /opt/boxes

i zmienić grupę, do której wszystko należy:

chgrp -R vboxusers /opt/boxes

Teraz tworzymy nowy katalog:

mkdir /opt/centos6_virtualmin

i pobieramy nowy obraz:

vagrant box add CentOS6_virtualmin https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box

Odczekujemy chwilkę, po czym wydajemy polecenie do stworzenia maszyny wirtualnej:

vagrant init CentOS6_virtualmin

Jeśli wyskoczy nam poniższy błąd:

It appears your machine doesn’t support NFS, or there is not an adapter to enable NFS on this machine for Vagrant. Please verify that `nfsd` is installed on your machine, and try again. If you’re on Windows, NFS isn’t supported. If the problem persists, please contact Vagrant support.

musimy doinstalować odpowiednie biblioteki:

yum install nfs-utils nfs-utils-lib
/etc/init.d/rpcbind start
/etc/init.d/nfslock start
/etc/init.d/nfs restart

Przechodzimy do folderu ze swoim VagrantFile. Możemy go na początek utworzyć dzięki gotowym rozwiązaniom ze stron: https://puphpet.com/#frontpage i http://getprotobox.com/.

Aby uruchomić naszą maszynę Vagrant, wydajemy polecenie:

vagrant up

Warto w tym miejscu przypomnieć o poleceniu screen, które pozwoli nam na uruchomienie maszyny w pełni, w tle:

screen -L -dmS vagrant-centos6 vagrant up

Teraz możemy zalogować się na maszynę przy pomocy polecenia:

vagrant ssh

Zmiana ustawień regionalnych

Czasami zdarzy się, że pobrany obraz ma ustawione inne ustawienia regionalne, niż międzynarodowe. Np. po wydaniu polecenia locale -a wyświetla się nam coś takiego:

LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Trzeba w tym momencie edytować plik i18n:
vim /etc/sysconfig/i18n

i zmienić pierwszą linijkę na LANG="en_US.UTF-8". Zapisać całość i przeładować ustawienia przy pomocy polecenia:
source /etc/sysconfig/i18n

Polecane

Jesień Linuksowa

1 1145
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...