Pada artikel sebelumnya, kita telah melihat apa itu penyedia dan bagaimana bekerja dengan penyedia shell dan file. Dalam artikel ini, kita akan melihat cara menggunakan penyedia yang memungkinkan untuk mengotomatiskan alur kerja gelandangan. Di sini kita akan membuat buku pedoman dan gunakan buku pedoman untuk menjalankan permainan yang memungkinkan melawan mesin tamu gelandangan.
Berikut cuplikan dari playbook Saya akan menggunakan artikel ini untuk demonstrasi. Hanya ada satu permainan dan itu akan menangani penginstalan paket menggunakan apt modul. Buat .yml
baru atau .yaml
file dan salin cuplikannya.
--- - hosts: all become: yes tasks: - name: Install 4 packages apt: pkg: - net-tools - neofetch - cowsay - htop update_cache: yes
Cara Bekerja dengan Penyedia Jarak Jauh yang Memungkinkan di Vagrant
Untuk menjalankan playbook , mungkin harus diinstal di mesin virtual tamu gelandangan. Anda dapat menggunakan cangkang penyedia untuk menginstal mungkin. Lihat kode di bawah ini, ada bagian untuk penyedia shell dan saya menggunakan serangkaian apt perintah manajer paket untuk menyiapkan repositori yang memungkinkan dan menginstalnya.
agrant.configure("2") do |config| config.vm.box = "ubuntu/focal64" config.vm.hostname = "ansible-provisioner" config.vm.network "public_network", bridge: "Intel(R) Dual Band Wireless-AC 7265", ip: "192.168.1.100" config.vm.provider "virtualbox" do |vbox| vbox.memory = "2048" vbox.cpus = "2" end config.vm.provision "shell", inline: <<-BLOCK sudo apt-add-repository ppa:ansible/ansible -y sudo apt update sudo apt install ansible -y ansible --version BLOCK end
Buat direktori proyek baru dan jalankan init gelandangan perintah.
$ mkdir ansible_provisioner $ cd ansible_provisioner $ vagrant init -m
Sekarang tergantung pada keadaan mesin virtual Anda (berjalan atau berhenti), Anda dapat menjalankan perintah berikut. Jika ini pertama kalinya maka gelandangan akan melakukan pekerjaan itu.
$ vagrant up ==> Running VM for first time $ vagrant reload --provision ==> If VM is already provisioned and running $ vagrant up --provision ==> VM is already provisioned and not running
Selama proses boot mesin virtual, Anda dapat melihat dari log yang memungkinkan untuk diinstal.
Sekarang Anda dapat menggunakan playbook . Saya akan memodifikasi file konfigurasi yang sama dan menambahkan penyedia jarak jauh yang memungkinkan. Di bawah ini adalah sintaksnya. Jalur Playbook (absolut atau relatif) yang akan disediakan seperti yang ditunjukkan di bawah ini.
config.vm.provision "ansible" do |ans| ans.playbook = "my_playbook.yml" # Playbook in same folder as Vagranfile #ans.playbook = "/home/karthick/vagrant/ansible_provisioner/my_playbook.yml"
Dari output di bawah ini Anda dapat melihat permainan saya berhasil dieksekusi.
Cara Menggunakan Penyedia Lokal yang Memungkinkan di Vagrant
Ini adalah metode lain dalam menyiapkan kemungkinan di VM tamu gelandangan Anda. Ketika Anda menggunakan gelandangan penyedia lokal akan mengurus pemasangan yang memungkinkan untuk Anda secara otomatis. Satu-satunya masukan yang perlu Anda berikan adalah metode mana yang harus disiapkan oleh gelandangan.
Di bawah ini adalah sintaks untuk lokal yang disediakan.
config.vm.provision "ansible_local" do |ans| ans.playbook = "my_playbook.yml"
Ada tiga mode berbeda.
- bawaan – Menginstal memungkinkan menggunakan manajer paket berbasis distribusi.
- PIP – Menginstal mungkin menggunakan PIP.
- Args PIP – Menginstal menggunakan argumen PIP.
Secara default, gelandangan akan mencoba menginstal dari repositori. Jika Anda ingin menginstal melalui PIP Anda dapat mengatur sintaks seperti di bawah ini. Saat Anda menggunakan PIP, gelandangan pertama-tama akan memeriksa apakah PIP tersedia di mesin tamu dan akan mencoba menginstalnya. Setelah PIP tersedia, PIP akan menggunakan PIP untuk mengunduh dan menginstal paket yang memungkinkan dari PyPI.
config.vm.provision "ansible_local" do |ans| ans.playbook = "my_playbook.yml" ans.install_mode = "pip"
Itu saja untuk artikel ini. Pada artikel selanjutnya, kita akan melihat cara membuat custom box di gelandangan.