Vagrant - CentOS, Debian i Ubuntu

Wrzucam plik Vagrantfile do odpalenia dystrybucji najczęściej spotykanych na serwerach (CentOS 8, Debian 10, Ubuntu 20.04)
Może komuś się przyda do nauki czy zabawy.

servers=[
  {
    :hostname => "centos",
    :ip => "192.168.100.10",
    :box => "centos/8",
    :ram => 1024,
    :cpu => 1
  },
  {
    :hostname => "debian",
    :ip => "192.168.100.11",
    :box => "debian/buster64",
    :ram => 1024,
    :cpu => 1
  },
  {
    :hostname => "ubuntu",
    :ip => "192.168.100.12",
    :box => "ubuntu/focal64",
    :ram => 1024,
    :cpu => 1
  }
]


Vagrant.configure(2) do |config|
    servers.each do |machine|
        config.vm.define machine[:hostname] do |node|
            node.vm.box = machine[:box]
            node.vm.hostname = machine[:hostname]
            node.vm.network "private_network", ip: machine[:ip]
            node.vm.provider "virtualbox" do |vb|
                vb.customize ["modifyvm", :id, "--memory", machine[:ram]]
            end
        end
    end
end
1 polubienie

Jakby ktoś miał ochotę na naukę o Linuksie na serwerze to wrzucam link do uaktualnionego artykułu o Vagrancie …

1 polubienie

Warto do takiej konfiguracji, którą podał @napcok dodać sobie wyzwalacz skryptu. Dopisujemy linijkę config.vm.provision :shell, inline: $config, a na końcu całego pliku np.

$config = <<-SHELL
  USER="xxxx"  # Your user name
  PASS="xxxx" # Your password for user
  
  # Package install
  apt-get install vim python-apt -y
  
  # SHH Config
  sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
  systemctl restart sshd.service

  # Add User
  useradd -m -s /bin/bash -U $USER -u 666 --groups sudo
  cp -pr /home/vagrant/.ssh /home/$USER/
  chown -R $USER.$USER /home/$USER/
  echo "$USER:$PASS" | chpasswd

SHELL

Ułatwia i przyspiesza pracę, zwłaszcza gdy podstawowe rzeczy jak vim i ssh powinny być już skonfigurowane zaraz po starcie maszynki.

1 polubienie