# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| # control-plane config.vm.define "control-plane1" do |config| config.vm.box = "ubuntu/focal64" config.vm.provider "virtualbox" do |vb| vb.name = "control-plane1" vb.cpus = 2 vb.memory = 4000 unless File.exist?('./.disk/ceph1.vdi') vb.customize ['createmedium', 'disk', '--filename', './.disk/ceph1.vdi', '--size', 10240] end vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', './.disk/ceph1.vdi'] end config.vm.hostname = "control-plane1" config.vm.network "private_network", ip: "192.168.56.21", nic_type: "virtio" config.vm.network "forwarded_port", guest: 6443, host: 6443, protocol: "tcp" config.vm.network "forwarded_port", guest: 80, host: 8080, protocol: "tcp" end # worker1 config.vm.define "worker1" do |config| config.vm.box = "ubuntu/focal64" config.vm.provider "virtualbox" do |vb| vb.name = "worker1" vb.cpus = 2 vb.memory = 4000 unless File.exist?('./.disk/ceph2.vdi') vb.customize ['createmedium', 'disk', '--filename', './.disk/ceph2.vdi', '--size', 10240] end vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', './.disk/ceph2.vdi'] end config.vm.hostname = "worker1" config.vm.network "private_network", ip: "192.168.56.22", nic_type: "virtio" end # worker2 config.vm.define "worker2" do |config| config.vm.box = "ubuntu/focal64" config.vm.provider "virtualbox" do |vb| vb.name = "worker2" vb.cpus = 2 vb.memory = 4000 unless File.exist?('./.disk/ceph3.vdi') vb.customize ['createmedium', 'disk', '--filename', './.disk/ceph3.vdi', '--size', 10240] end vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', './.disk/ceph3.vdi'] end config.vm.hostname = "worker2" config.vm.network "private_network", ip: "192.168.56.23", nic_type: "virtio" end # Hostmanager plugin # vagrant plugin install vagrant-hostmanager config.hostmanager.enabled = true config.hostmanager.manage_guest = true # Disable Synced Folder config.vm.synced_folder ".", "/vagrant", disabled: true # Enable SSH Password Authentication config.vm.provision "shell", inline: <<-SHELL sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list sed -i 's/security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list systemctl restart ssh SHELL end