возникшие проблемы
Мне нужно развернуть кластер 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
Готово!