V předchozím článku jsme viděli, co je to provizor a jak pracovat s shellem a souborem. V tomto článku se podíváme, jak použít ansible Provider k automatizaci pracovního postupu tuláků. Zde vytvoříme playbook a použijte playbook ke spuštění ansible hry proti tulákovému hostujícímu stroji.
Následuje úryvek z příručky Použiji v tomto článku pro demonstraci. Existuje pouze jedno přehrání a postará se o instalaci balíčků pomocí apt modul. Vytvořte nový .yml
nebo .yaml
soubor a zkopírujte úryvek.
--- - hosts: all become: yes tasks: - name: Install 4 packages apt: pkg: - net-tools - neofetch - cowsay - htop update_cache: yes
Jak pracovat s Ansible Remote Provisioner ve Vagrant
Chcete-li spustit příručky , ansible by měl být nainstalován na virtuálním počítači vagrant. Můžete použít shell provizor k instalaci ansible. Podívejte se na níže uvedený kód, je zde sekce pro poskytování shellu a já používám řadu apt příkazy správce balíčků k nastavení úložiště a jeho instalaci.
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
Vytvořte nový adresář projektu a spusťte vagrant init příkaz.
$ mkdir ansible_provisioner $ cd ansible_provisioner $ vagrant init -m
Nyní v závislosti na stavu vašeho virtuálního počítače (běžící nebo zastavený) můžete spustit následující příkaz. Pokud je to poprvé, pak tulák udělá práci.
$ 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
Během procesu spouštění virtuálního počítače můžete v protokolech vidět, že se ansible instaluje.
Nyní je dobré používat příručku . Upravím stejný konfigurační soubor a přidám ansible, vzdálený poskytovatel. Níže je syntaxe. Cesta k playbooku (absolutní nebo relativní) bude poskytnuta, jak je uvedeno níže.
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"
Z níže uvedeného výstupu můžete vidět, že moje hra byla úspěšně provedena.
Jak používat Ansible Local Provisioner ve Vagrant
Toto je další způsob nastavení ansible ve vašem virtuálním počítači pro hosta. Když použijete místního poskytovatele, vagrant se automaticky postará o instalaci ansible za vás. Jediný vstup, který musíte poskytnout, je, jakou metodou by měl vagrant nastavit ansible.
Níže je uvedena syntaxe pro místní zřízení.
config.vm.provision "ansible_local" do |ans| ans.playbook = "my_playbook.yml"
Existují tři různé režimy.
- výchozí – Instalace ansible pomocí správce balíčků založených na distribuci.
- PIP – Instalace ansible pomocí PIP.
- PIP Args – Instalace pomocí PIP args.
Ve výchozím nastavení se tulák pokusí nainstalovat z úložiště. Pokud chcete nainstalovat pomocí PIP můžete nastavit syntaxi, jak je uvedeno níže. Když používáte PIP, tulák nejprve zkontroluje, zda je PIP dostupný v hostujícím počítači, a pokusí se jej nainstalovat. Jakmile bude PIP dostupný, použije PIP ke stažení a instalaci ansible balíčku z PyPI.
config.vm.provision "ansible_local" do |ans| ans.playbook = "my_playbook.yml" ans.install_mode = "pip"
To je pro tento článek vše. V příštím článku se podíváme, jak vytvořit vlastní krabice ve vagrant.