Инструмент сборки локальной среды разработки --vagrant

Эксплуатация и обслуживание AIOps

возникшие проблемы

Мне нужно развернуть кластер etcd, а не псевдокластер, развернутый с помощью инструмента goreman. Чтобы быть эквивалентным реальной среде, необходимы три машины, но у автора есть только один хост, система Centos, настроенная как двухъядерная 8G. Отсюда у меня возникла идея перезапустить виртуальную машину на единственном Centos.

Подготовка окружающей среды

Использование vagrant необходимо сочетать с VirtualBox, Мы готовим источники установки этих двух программ и используемого образа centos7:

#virtualbox
https://www.virtualbox.org/wiki/Linux_Downloads

#vagrant
https://www.vagrantup.com/downloads.html

#centos7.box
http://cloud.centos.org/centos/7/vagrant/x86_64/images/

Автор скачал последнюю версию, и скорость загрузки официального сайта очень низкая (при необходимости вы можете связаться с автором для получения скачанного установочного пакета) Файлы следующие:

$ ls 

CentOS-7-x86_64-Vagrant-2002_01.VirtualBox.box  VirtualBox-6.1-6.1.6_137129_el7-1.x86_64.rpm            vagrant_2.2.7_x86_64.rpm                                     

Установить

$ yum  -y  localinstall VirtualBox-6.1-6.1.6_137129_el7-1.x86_64.rpm vagrant_2.2.7_x86_64.rpm

Приведенная выше команда установит vagrant и VirtualBox.

инициализация

Ниже приведены общие команды vagrant, которые используются для управления ящиками, такими как добавление, удаление и т. д. Функциональность этой команды в основном реализуется с помощью следующих подкоманд:

#添加box文件,就是我们刚刚下载的镜像文件,添加后可以到处使用。
vagrant  box add  CentOS-7-x86_64-Vagrant-2002_01.VirtualBox.box --name centos7
#创建配置文件
vagrant init centos7

На этапе инициализации будет создан Vagrantfile, то есть файл конфигурации.

$ vagrant init centos7

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Конфигурация бродячего файла

Обычно используются следующие конфигурации:

  • config.vm.box: имя должно использовать имя, следующее за vagrant init
  • config.vm.hostname: настроить имя хоста виртуальной машины.
  • config.vm.network: Это для настройки сети виртуальной машины Из-за сложности мы обсудим это отдельно позже
  • config.vm.synced_folder: в дополнение к привязкам каталога по умолчанию, привязки можно указать вручную.
  • config.ssh.username: пользователь по умолчанию — vagrant, и коробка, загруженная с официального сайта, часто использует это имя пользователя. Если это пользовательский ящик, используемое имя пользователя может быть другим, и используемое имя пользователя задается в этой конфигурации.
  • config.vm.provision: мы можем использовать эту конфигурацию для выполнения некоторой конфигурации установки при первом запуске виртуальной машины.

Для получения более подробной конфигурации см.:woohoo.vagrant up.com/docs/VA-infected…

Vagrant.configure("2") do |config|

  config.vm.box = "centos7"

   config.vm.network "public_network", ip: "192.168.0.5"

   config.vm.provider "virtualbox" do |vb|
     # Display the VirtualBox GUI when booting the machine
     vb.gui = false
     # Customize the amount of memory on the VM:
     vb.memory = "1024"
   end
end

Видно, что конфигурация относительно простая, сеть указана бридингом, гуй настроен на закрытие, а память ограничена 1 Гб.

запускать

$ vagrant  up

The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

VirtualBox is complaining that the kernel module is not loaded. Please
run `VBoxManage --version` or open the VirtualBox GUI to see the error
message which should contain instructions on how to fix this error.

Ссылаться на,virtualbox-is-complaining-that-the-kernel-module-is-not-loaded. Причина в том, что vagrant полагается на kernel-devel gcc make perl для запуска kernel-devel, лучше следовать инструкциям vagrant для установки и использования библиотеки с той же версией ядра.

Проверить версию ядра по uname:

$ uname -a 

Linux aoho 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Итак, нам нужно установить соответствующие пакеты:

kernel-devel-3.10.0-1062.1.2.el7.x86_64.rpm

Загрузите соответствующий пакет с официального сайта и установите его. Начать бродягу:

#启动虚拟机
vagrant up
#进入虚拟机
vagrant ssh

Готово!

Рекомендуемое чтение

Коллекция интервью

Подписывайтесь на свежие статьи, приглашаю обратить внимание на мой публичный номер

微信公众号

Ссылаться на

  1. Vagrance профиль VagrantFile подробно -2
  2. Как обрабатывать сообщение об ошибке запуска VirtualBox: модуль ядра vboxdrv не загружен
  3. virtualbox-is-complaining-that-the-kernel-module-is-not-loaded
  4. www.vagrantup.com