管理対象ホストの追加¶
説明用に管理対象ホストを追加します。従来のホストのディレクトリーとは別のディレクトリーに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