Ini bukan pertama kalinya Kuadran ke-2 melihat Wayang. Gabriele Bartolini telah menulis artikel dalam dua bagian tentang cara cepat mengkonfigurasi server PostgreSQL melalui Wayang dan Gelandangan, disertai dengan rilis kode yang digunakan dalam contoh di GitHub (http://github.com/2ndquadrant-it/vagrant -puppet-postgresql).
Dibagi menjadi tiga bagian, tujuan artikel ini adalah untuk mendemonstrasikan otomatisasi penyiapan dan konfigurasi Barman untuk mencadangkan server pengujian PostgreSQL.
Artikel ini adalah pembaruan dari apa yang ditulis oleh Gabriele dengan ide membuat dua mesin virtual, bukan satu, server PostgreSQL dan server Barman.
it2ndq/barman
adalah modul yang dirilis oleh 2ndQuadrant Italy untuk mengatur instalasi Barman melalui Puppet. Modul ini memiliki lisensi GPLv3 dan tersedia di GitHub dengan alamat http://github.com/2ndquadrant-it/puppet-barman. Prosedur berikut ditulis untuk Ubuntu 14.04 Trusty Tahr tetapi dapat dilakukan dengan cara yang sama pada distribusi lain.
Persyaratan
Untuk memulai modul untuk Barman di mesin virtual, kita memerlukan perangkat lunak berikut:
- VirtualBox
- Gelandang
- Ruby>=1.9
- Boneka
- pustakawan-boneka
Gelang
Vagrant adalah manajer mesin virtual, yang mampu mendukung banyak perangkat lunak virtualisasi dengan VirtualBox sebagai default.
Kami menginstal VirtualBox dengan cara ini:
$ sudo apt-get install virtualbox virtualbox-dkms |
Versi terbaru Vagrant dapat diunduh dari situs dan diinstal dengan perintah:
$ sudo dpkg -i /path/to/vagrant_1.7.2_x86_64.deb |
Ruby
Mengenai Ruby, saran kami adalah menggunakan rbenv
, yang menciptakan lingkungan pengembangan Ruby untuk menentukan versi untuk pengguna saat ini, sehingga menghindari kontaminasi lingkungan sistem. Untuk menginstal rbenv
kami menyarankan untuk menggunakan rbenv-installer
(http://github.com/fesplugas/rbenv-installer).
Ayo unduh dan jalankan skripnya:
$ curl https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash |
Pada akhirnya, skrip akan meminta Anda untuk menambahkan baris berikut ke ~/.bash_profile
berkas:
export RBENV_ROOT="${HOME}/.rbenv" if [ -d "${RBENV_ROOT}" ]; then export PATH="${RBENV_ROOT}/bin:${PATH}" eval "$(rbenv init -)" fi |
Sekarang kita perlu memuat ulang ~/.bash_profile
yang baru saja diubah :
$ exec bash -l |
Pada titik ini, kami menginstal versi Ruby secara lokal (dalam hal ini, 2.1.5) dan mengatur pengguna untuk menjalankan versi ini daripada versi sistem:
$ rbenv install 2.1.5 $ rbenv global 2.1.5 |
Boneka
Wayang diperlukan tidak hanya pada VM tetapi juga pada mesin yang menjalankannya. Oleh karena itu kita perlu menginstal permata Wayang.
$ gem install puppet |
Pustakawan-boneka
Terakhir, librarian-puppet
adalah alat untuk mengotomatisasi manajemen modul Wayang. Seperti Wayang, librarian-puppet
dapat diinstal sebagai permata:
$ gem install librarian-puppet |
Vagrant:konfigurasi
Sekarang setelah kita memiliki dependensi, kita dapat mulai menulis konfigurasi Vagrant dan Puppet untuk sistem cadangan kita.
Kita mulai dengan membuat direktori kerja:
$ mkdir ~/vagrant_puppet_barman $ cd ~/vagrant_puppet_barman |
Vagrant membutuhkan kita untuk menulis file bernama Vagrantfile
di mana ia mencari konfigurasi VM.
Berikut Vagrantfile
memulai dua VM Terpercaya Ubuntu, yang disebut pg
dan backup
, dengan alamat ip 192.168.56.221
dan 192.168.56.222
. Pada kedua mesin, penyediaan akan dilakukan melalui skrip shell inline.
Script ini meluncurkan puppet-bootstrap
(http://github.com/hashicorp/puppet-bootstrap), sebuah skrip yang secara otomatis menginstal dan mengkonfigurasi Wayang pada berbagai jenis mesin. Karena tidak perlu dijalankan lebih dari sekali, dalam skrip tes dimasukkan untuk mencegah eksekusi lebih lanjut.
Vagrant.configure("2") do |config| { :pg => { :ip => '192.168.56.221', :box => 'ubuntu/trusty64' }, :backup => { :ip => '192.168.56.222', :box => 'ubuntu/trusty64' } }.each do |name,cfg| config.vm.define name do |local| local.vm.box = cfg[:box] local.vm.hostname = name.to_s + '.local.lan' local.vm.network :private_network, ip: cfg[:ip] family = 'ubuntu' bootstrap_url = 'http://raw.github.com/hashicorp/puppet-bootstrap/master/' + family + '.sh' # Run puppet-bootstrap only once local.vm.provision :shell, :inline => <<-eos if [ ! -e /tmp/.bash.provision.done ]; then curl -L #{bootstrap_url} | bash touch /tmp/.bash.provision.done fi eos end end end |
Menampilkan VM
Kami telah mendefinisikan dua VM Ubuntu Trusty yang berisi Wayang. Ini bukan Vagrantfile
terakhir tapi sudah memungkinkan pembuatan dua mesin. Jika Anda penasaran, Anda dapat memverifikasi bahwa kedua mesin telah dibuat dengan perintah:
$ vagrant up |
dan kemudian menghubungkan menggunakan perintah berikut:
$ vagrant ssh pg $ vagrant ssh backup |
Akhirnya, mesin dapat dihancurkan dengan:
$ vagrant destroy -f |
Kesimpulan
Di bagian pertama tutorial ini, kita telah melihat cara mengonfigurasi dependensi dan berakhir dengan dua mesin virtual yang akan kita instal, melalui Puppet, PostgreSQL, dan Barman. Menulis manifes Wayang untuk instalasi sebenarnya akan menjadi pokok bahasan artikel berikutnya.
Sampai jumpa!