管理対象ホストの追加

説明用に管理対象ホストを追加します。従来のホストのディレクトリーとは別のディレクトリーにVagrantfileを作成し、管理対象ホストをデプロイします。以下はVagrantfileの内容です。

$script1 = <<-'SCRIPT'
yum -y remove open-vm-tools
SCRIPT

$script2 = <<-'SCRIPT'
apt -y remove open-vm-tools
SCRIPT

$script3 = <<-'SCRIPT'
dnf -y remove open-vm-tools
SCRIPT

Vagrant.configure("2") do |config|
  if Vagrant.has_plugin?("vagrant-vbguest")
    config.vbguest.auto_update = false
  end

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus = 1
    vb.customize [
      "modifyvm", :id,
      "--ioapic", "on",
      "--graphicscontroller", "vmsvga"
    ]
  end

  config.vm.define :centos7 do |centos7|
    centos7.vm.box = "centos/7"
    centos7.vm.network "public_network", mac: "000d58000172", ip: "192.168.1.171"
    centos7.vm.hostname = "centos7"
    centos7.vm.provider "virtualbox" do |vb|
      vb.name = "centos7"
    end
    centos7.vm.provision "shell", inline: $script1
  end

  config.vm.define :centos8 do |centos8|
    centos8.vm.box = "centos/8"
    centos8.vm.network "public_network", mac: "000d58000173", ip: "192.168.1.172"
    centos8.vm.hostname = "centos8"
    centos8.vm.provider "virtualbox" do |vb|
      vb.name = "centos8"
    end
    centos8.vm.provision "shell", inline: $script3
  end

  config.vm.define :debian10 do |debian10|
    debian10.vm.box = "debian/buster64"
    debian10.vm.network "public_network", mac: "000d58000174", ip: "192.168.1.173"
    debian10.vm.hostname = "debian10"
    debian10.vm.provider "virtualbox" do |vb|
      vb.name = "debian10"
    end
  end

  config.vm.define :ubuntu18 do |ubuntu18|
    ubuntu18.vm.box = "ubuntu/bionic64"
    ubuntu18.vm.network "public_network", mac: "000d58000175", ip: "192.168.1.174"
    ubuntu18.vm.hostname = "ubuntu18"
    ubuntu18.vm.provider "virtualbox" do |vb|
      vb.name = "ubuntu18"
    end
    ubuntu18.vm.provision "shell", inline: $script2
  end

end

デプロイ後は「検証用ホストの作成」で行ったように作成した管理対象ホストの秘密鍵を Ansible サーバーにコピーしたり、sshコマンドでフィンガープリントを収集します。

追加した管理対象ホスト用のインベントリファイルhosts2.ymlの内容です。

---
all:
  vars:
    ansible_user: vagrant
  hosts:
    centos7:
      ansible_host: 192.168.1.171
      ansible_ssh_private_key_file: ~/.ssh/centos7_key
    centos8:
      ansible_host: 192.168.1.172
      ansible_ssh_private_key_file: ~/.ssh/centos8_key
    debian10:
      ansible_host: 192.168.1.173
      ansible_ssh_private_key_file: ~/.ssh/debian10_key
      ansible_python_interpreter: /usr/bin/python
    ubuntu18:
      ansible_host: 192.168.1.174
      ansible_ssh_private_key_file: ~/.ssh/ubuntu18_key