GNU/Linux >> Linux の 問題 >  >> Linux

VagrantでAnsibleプロビジョナーと連携する方法

前回の記事では、プロビジョナーとは何か、シェルおよびファイルプロビジョナーの操作方法について説明しました。この記事では、ansibleプロビジョナーを使用してvagrantワークフローを自動化する方法を説明します。ここでは、プレイブックを作成します プレイブックを使用して、放浪者のゲストマシンに対してAnsibleプレイを実行します。

以下は、プレイブックの抜粋です。 この記事ではデモンストレーションに使用します。 プレイは1つだけです aptを使用してパッケージをインストールします モジュール。新しい.ymlを作成します または.yaml スニペットをファイルしてコピーします。

---
- hosts: all
  become: yes
  tasks:
    - name: Install 4 packages
      apt:
        pkg:
        - net-tools
        - neofetch
        - cowsay
        - htop
        update_cache: yes

VagrantでAnsibleリモートプロビジョナーを操作する方法

プレイブックを実行するには 、ansibleはvagrantゲスト仮想マシンにインストールする必要があります。 シェルを使用できます ansibleをインストールするプロビジョナー。以下のコードを参照してください。シェルプロビジョナーのセクションがあり、一連の aptを使用しています。 パッケージマネージャーのコマンドを使用して、ansibleリポジトリをセットアップしてインストールします。

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

新しいプロジェクトディレクトリを作成し、 vagrant initを実行します コマンド。

$ mkdir ansible_provisioner 
$ cd ansible_provisioner
$ vagrant init -m

これで、仮想マシンの状態(実行中または停止中)に応じて、次のコマンドを実行できます。初めての場合は、放浪 仕事をします。

$ 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

仮想マシンの起動プロセス中に、ansibleがインストールされていることをログから確認できます。

これで、プレイブックを使用できます。 。同じ構成ファイルを変更し、ansibleのリモートプロビジョナーを追加します。以下は構文です。以下に示すように提供されるプレイブックパス(絶対または相対)。

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"

以下の出力から、私のプレイが正常に実行されたことがわかります。

VagrantでAnsibleローカルプロビジョナーを使用する方法

これは、vagrantゲストVMでansibleを設定するもう1つの方法です。ローカルのプロビジョナーを使用すると、vagrantが自動的にansibleをインストールします。提供する必要がある唯一の入力は、vagrantがansibleを設定する方法です。

以下は、ローカルでプロビジョニングされた構文です。

config.vm.provision "ansible_local" do |ans|
  	ans.playbook = "my_playbook.yml"

3つの異なるモードがあります。

  1. デフォルト –ディストリビューションベースのパッケージマネージャーを使用してansibleをインストールします。
  2. PIP –PIPを使用したansibleのインストール。
  3. PIP引数 –PIP引数を使用してインストールします。

デフォルトでは、vagrantはリポジトリからのインストールを試みます。 PIP経由でインストールする場合 構文は次のように設定できます。 PIPを使用する場合、vagrantは最初にゲストマシンでPIPが使用可能かどうかを確認し、インストールを試みます。 PIPが利用可能になると、PIPを使用してPyPIからansibleパッケージをダウンロードしてインストールします。

config.vm.provision "ansible_local" do |ans|
  	ans.playbook = "my_playbook.yml"
  	ans.install_mode = "pip"

この記事は以上です。次の記事では、vagrantでカスタムボックスを作成する方法を説明します。


Linux
  1. LinuxでSFTPクライアントを操作する方法–10sftpコマンド

  2. Linuxでユーザーとグループを操作する方法

  3. VimをTmuxで適切に動作させる方法は?

  1. libvirtでVagrantを使用する方法

  2. Ansible で Linux 環境変数を設定する方法

  3. Kerberos は SSH とどのように連携しますか?

  1. Ansibleを使用してPrometheusでシステム監視を設定する方法

  2. Ansibleで仕事中のスリルを一新

  3. Ansibleシステムロールを使用してネットワーク設定を構成する方法