Сервер Ubuntu знаком с большинством разработчиков для прогона теста или попробовать/быстро начать новую функцию, инструменты и т. Д.
Конкретные упреки — кластер Kubernetes (K8S), серверы баз данных PostgreSQL с мастером и резервуарами, попробуйте Кассандру и т. Д.
Использование Vagrant для быстрого запуска, и это как настроить Basic Ubuntu Server
1. Создать файл VagrantFile
User Ubuntu версия 20.04
- Оформить заказ версии коробки в Generic/Ubuntu2004.
- Коробка версия должна поддерживать
LibVirt, размещенная бродяженым облаком (1,4 ГБ)
- например. Generic/Ubuntu2004: 3.1.16
Vagrant.configure("2") do |config| config.vm.box = "generic/ubuntu2004" config.vm.box_version = "3.1.16" end
- Библиотека Виртуальный драйвер — виртуальная коробка или KVM (виртуальная машина на основе ядра), вот KVM
- Использование
Bootstrap.sh
Для установки необходимого программного обеспечения
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provider :libvirt do |libvirt| libvirt.driver = "kvm" end config.vm.box = "generic/ubuntu2004" config.vm.box_version = "3.1.16" config.vm.provision:shell, inline: <<-SHELL echo "root:rootroot" | sudo chpasswd sudo timedatectl set-timezone Asia/Ho_Chi_Minh SHELL config.vm.define "ubuntu20.04" do |ubuntu| ubuntu.vm.hostname = "ubuntu20.04" end config.vm.provision:shell, path: "bootstrap.sh" end
2. Bootstrap Machine Bootstrap.sh.
- Установить Docker
- Разрешать DNS.
- Установить OpenSSH
- Включить root login.
- Приветственное сообщение
#!/bin/bash # Bootstrap machine ensure_netplan_apply() { # First node up assign dhcp IP for eth1, not base on netplan yml sleep 5 sudo netplan apply } step=1 step() { echo "Step $step $1" step=$((step+1)) } resolve_dns() { step "===== Create symlink to /run/systemd/resolve/resolv.conf =====" sudo rm /etc/resolv.conf sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf } install_docker() { step "===== Installing docker =====" sudo apt update sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - if [ $? -ne 0 ]; then sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - fi sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io sudo groupadd docker sudo gpasswd -a $USER docker sudo chmod 777 /var/run/docker.sock # Add vagrant to docker group sudo groupadd docker sudo gpasswd -a vagrant docker # Setup docker daemon host # Read more about docker daemon https://docs.docker.com/engine/reference/commandline/dockerd/ sed -i 's/ExecStart=.*/ExecStart=\/usr\/bin\/dockerd -H unix:\/\/\/var\/run\/docker.sock -H tcp:\/\/192.168.121.210/g' /lib/systemd/system/docker.service sudo systemctl daemon-reload sudo systemctl restart docker } install_openssh() { step "===== Installing openssh =====" sudo apt update sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common sudo apt install -y openssh-server sudo systemctl enable ssh } install_tools() { sudo apt install -y python-pip sudo apt install -y default-jre pip install kafka --user pip install kafka-python --user } setup_root_login() { sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo systemctl restart ssh sudo echo "root:rootroot" | chpasswd } setup_welcome_msg() { sudo apt -y install cowsay sudo echo -e "\necho \"Welcome to Vagrant Ubuntu Server 18.04\" | cowsay\n" >> /home/vagrant/.bashrc sudo ln -s /usr/games/cowsay /usr/local/bin/cowsay } main() { ensure_netplan_apply resolve_dns install_openssh setup_root_login setup_welcome_msg } main
3. Начать бродяга
⚡ $ vagrant up Bringing machine 'ubuntu20.04' up with 'libvirt' provider... ==> ubuntu20.04: Box 'generic/ubuntu2004' could not be found. Attempting to find and install... ubuntu20.04: Box Provider: libvirt ubuntu20.04: Box Version: 3.1.16 ==> ubuntu20.04: Loading metadata for box 'generic/ubuntu2004' ubuntu20.04: URL: https://vagrantcloud.com/generic/ubuntu2004 ==> ubuntu20.04: Adding box 'generic/ubuntu2004' (v3.1.16) for provider: libvirt ubuntu20.04: Downloading: https://vagrantcloud.com/generic/boxes/ubuntu2004/versions/3.1.16/providers/libvirt.box ubuntu20.04: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com ==> ubuntu2004: Checking if box 'generic/ubuntu2004' version '3.1.16' is up to date... ==> ubuntu2004: Creating image (snapshot of base box volume). ==> ubuntu2004: Creating domain with the following settings... ==> ubuntu2004: -- Name: ubuntu20.04_ubuntu2004 ... ⚡ $ vagrant ssh ___________________________________________________________ < Welcome to Vagrant Ubuntu Server 20.04 LTS (Focal Fossa) > ----------------------------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || vagrant@ubuntu2004:~$
Зеркало:
- https://github.com/vumdao/vagrant/tree/master/ubuntu20.04
- https://vumdao.hashnode.dev/create-an-ubuntu-2004-server-using-vagrant
Оригинал: «https://dev.to/vumdao/create-an-ubuntu-20-04-server-using-vagrant-3d2i»