GNU/Linux >> Belajar Linux >  >> Linux

Cara Bekerja dengan Penyedia yang Mungkin di Vagrant

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.

  1. bawaan – Menginstal memungkinkan menggunakan manajer paket berbasis distribusi.
  2. PIP – Menginstal mungkin menggunakan PIP.
  3. 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.


Linux
  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara menggunakan Ansible untuk mengatur pemantauan sistem dengan Prometheus

  3. Cara bekerja dengan klien SFTP di Linux – 10 perintah sftp

  1. Memperbarui gairah saya di tempat kerja dengan Ansible

  2. Cara mengonfigurasi pengaturan jaringan dengan peran sistem yang memungkinkan

  3. Cara menginstal paket perangkat lunak dengan playbook Ansible

  1. Cara Mengonfigurasi Nginx agar Bekerja dengan PHP melalui PHP-FPM

  2. Cara Bekerja Dengan Pengguna Dan Grup Di Linux

  3. Bagaimana Agar Vim Bekerja Dengan Tmux Dengan Benar?