Как создавать, развертывать и запускать виртуальные машины в OpenStack
В этом руководстве мы узнаем, как создавать образы и запускать экземпляр образа (виртуальную машину) в OpenStack, а также как получить контроль над экземпляром через SSH.
Требования
- Установите OpenStack в RHEL и CentOS 7.
- Настройка сетевой службы OpenStack
Шаг 1. Выделение плавающего IP-адреса для OpenStack
1. Прежде чем развертывать образ OpenStack, сначала необходимо убедиться, что все его части находятся на своих местах, и мы начнем с выделения плавающего IP-адреса.
Плавающий IP-адрес обеспечивает внешний доступ из внешних сетей или Интернета к виртуальной машине Openstack. Чтобы создать плавающие IP-адреса для своего проекта, войдите в систему, используя свои учетные данные пользователя, и перейдите в раздел Проект -> Вычислить -> Доступ и Безопасность -> вкладка Плавающие IP-адреса и нажмите Выделить IP для проекта.
Выберите внешний Пул и нажмите кнопку Выделить IP, и IP-адрес должен появиться на панели управления. Рекомендуется выделять плавающий IP-адрес для каждого запускаемого вами экземпляра.
Шаг 2. Создайте образ OpenStack
2. Образы OpenStack — это просто виртуальные машины, уже созданные сторонними разработчиками. Вы можете создавать свои собственные образы на своем компьютере, установив ОС Linux на виртуальную машину с помощью инструмента виртуализации, такого как KVM, VirtualBox, VMware или Hyper-V.
После установки ОС просто преобразуйте файл в необработанный формат и загрузите его в свою облачную инфраструктуру OpenStack.
Для развертывания официальных образов, предоставляемых основными дистрибутивами Linux, воспользуйтесь следующими ссылками для загрузки последних упакованных образов:
- CentOS 7 – http://cloud.centos.org/centos/7/images/
- CentOS 6 – http://cloud.centos.org/centos/6/images/
- Fedora 23 – https://download.fedoraproject.org/pub/fedora/linux/releases/23/Cloud/
- Ubuntu – http://cloud-images.ubuntu.com/
- Debian – http://cdimage.debian.org/cdimage/openstack/current/
- Windows Server 2012 R2 – https://cloudbase.it/windows-cloud-images/#download
Официальные образы дополнительно содержат пакет cloud-init, который отвечает за пару ключей SSH и внедрение пользовательских данных.
В этом руководстве мы развернем тестовый образ для демонстрационных целей на основе облегченного образа облака Cirros, который можно получить, перейдя по следующей ссылке http://download.cirros-cloud.net/0.3.4/.
Файл изображения можно использовать непосредственно по HTTP-ссылке или загрузить локально на свой компьютер и загрузить в облако OpenStack.
Чтобы создать образ, перейдите на веб-панель OpenStack, выберите Project -> Compute -> Images и нажмите Кнопка Создать изображение. В окне изображения используйте следующие настройки и нажмите Создать изображение, когда закончите.
Name: tecmint-test
Description: Cirros test image
Image Source: Image Location #Use Image File if you’ve downloaded the file locally on your hard disk
Image Location: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img
Format: QCOWW2 – QEMU Emulator
Architecture: leave blank
Minimum Disk: leave blank
Minimum RAM: leave blank
Image Location: checked
Public: unchecked
Protected: unchecked
Шаг 3. Запустите экземпляр образа в OpenStack.
3. После того, как вы создали изображение, можно приступать к работе. Теперь вы можете запустить виртуальную машину на основе образа, созданного ранее, в вашей облачной среде.
Перейдите в Проект -> Экземпляры и нажмите кнопку Запустить экземпляр, после чего появится новое окно.
4. На первом экране добавьте имя для своего экземпляра, оставьте Зону доступности на nova, используйте количество экземпляров и нажмите кнопку Далее. продолжать.
Выберите описательное Имя экземпляра для своего экземпляра, поскольку это имя будет использоваться для формирования имени хоста виртуальной машины.
5. Затем выберите «Изображение» в качестве Источника загрузки, добавьте тестовое изображение Cirros, созданное ранее, нажав +
. и нажмите Далее, чтобы продолжить.
6. Выделите ресурсы виртуальной машины, добавив вариант, наиболее подходящий для ваших нужд, и нажмите Далее, чтобы двигаться дальше.
7. Наконец, добавьте одну из доступных сетей OpenStack в свой экземпляр с помощью кнопки +
и нажмите Запустить экземпляр, чтобы запустить виртуальную машину.
8. После запуска экземпляра нажмите стрелку вправо в меню Создать снимок и выберите Связать плавающий IP.
Выберите один из плавающих IP-адресов, созданных ранее, и нажмите кнопку Связать, чтобы сделать экземпляр доступным из вашей внутренней локальной сети.
9. Чтобы проверить сетевое подключение вашей активной виртуальной машины, выполните команду ping по плавающему IP-адресу экземпляра с удаленного компьютера в вашей локальной сети.
10. Если с вашим экземпляром проблем нет и команда ping прошла успешно, вы можете удаленно войти в систему через SSH на своем экземпляре.
Используйте утилиту экземпляра View Log, чтобы получить учетные данные Cirros по умолчанию, как показано на снимках экрана ниже.
11. По умолчанию DNS-серверы имен не будут выделены из DHCP-сервера внутренней сети для вашей виртуальной машины. Эта проблема приводит к проблемам с подключением к домену от аналога экземпляра.
Чтобы решить эту проблему, сначала остановите экземпляр и перейдите в Проект -> Сеть -> Сети и отредактируйте нужную подсеть, нажав Сведения о подсети.
Добавьте необходимые DNS-серверы имен, сохраните конфигурацию, запустите и подключитесь к консоли экземпляра, чтобы проверить, была ли применена новая конфигурация, путем проверки связи с доменным именем. Используйте следующие снимки экрана в качестве руководства.
Если в вашей инфраструктуре ограничены физические ресурсы и некоторые из ваших экземпляров отказываются запускаться, отредактируйте следующую строку в файле конфигурации nova и перезагрузите компьютер, чтобы применить изменения.
vi /etc/nova/nova.conf
Измените следующую строку, чтобы она выглядела следующим образом:
ram_allocation_ratio=3.0
Вот и все! Хотя эта серия руководств только прикоснулась к огромному числу OpenStack, теперь у вас есть базовые знания, позволяющие создавать новых клиентов и использовать реальные образы ОС Linux для развертывания виртуальных машин в собственной облачной инфраструктуре OpenStack.