# Создать виртуальную машину в OpenStack и получить к ней доступ из CLI на локальной машине

# Перед началом работы:

  • Убедитесь, что у вас есть доступ к панели управления OpenStack Horizon и необходимые учетные данные (имя пользователя, пароль, имя проекта)
  • В этом руководстве предполагается, что у вас установлен Python и инструменты командной строки OpenStack

# Командная строка

# Исходный файл OpenStack RC

  1. Войдите в свою панель управления OpenStack Horizon
  2. Перейдите в Project >> API Access
  3. Нажмите Download OpenStack RC File для проекта, над которым вы хотите работать
  4. В терминале перейдите в каталог, в который вы загрузили файл RC
  5. Выберите файл RC, чтобы загрузить учетные данные OpenStack:
source <your-rc-file.sh>

Заменита your-rc-file.sh на фактическое имя файла

# Создать пару ключей

  1. Создайте пару ключей с помощью OpenStack CLI:
openstack keypair create --private-key mykey.pem mykey

Это создаст файл закрытого ключа с именем mykey.pem в вашем текущем каталоге 2. Защитите закрытый ключ:

chmod 600 mykey.pem

# Создать группу безопасности

  1. Создайте группу безопасности:
openstack security group create my-security-group --description "Allow SSH and ICMP"
  1. Добавьте правила, разрешающие SSH (порт 22) и ICMP (ping):
openstack security group rule create --proto tcp --dst-port 22 my-security-group
openstack security group rule create --proto icmp my-security-group

# Создать сеть (если она еще не создана)

  1. Проверьте доступность сети:
openstack network list

Если доступной сети нет, создайте ее
2. Создайте новую сеть:

openstack network create my-network
  1. Создайте подсеть:
openstack subnet create --network my-network --subnet-range 192.168.0.0/24 my-subnet

# Создать виртуальную машину

  1. Список доступных images :
openstack image list

Запишите идентификатор image, которое вы хотите использовать 2. Список доступных flavors :

openstack flavor list

Выберите подходящий flavor для вашей виртуальной машины 3. Создайте виртуальную машину

openstack server create --flavor <flavor-id> --image <image-id> --network my-network --key-name mykey --security-group my-security-group my-vm

Замените flavor-id и image-id идентификаторами из предыдущих шагов

# Связать Floating IP

Если ваша виртуальная машина должна быть доступна из Интернета, привяжите к ней плавающий IP-адрес

  1. Выделить плавающий IP:
openstack floating ip create public

Это выведет выделенный плавающий IP-адрес 2. Свяжите плавающий IP с вашей виртуальной машиной:

openstack server add floating ip my-vm <floating-ip>

Замените floating-ip на фактический плавающий IP-адрес

# Доступ к виртуальной машине через SSH

  1. Найдите IP-адрес вашей виртуальной машины:
openstack server list

Запишите плавающий или фиксированный IP-адрес, назначенный вашей виртуальной машине 2. Подключитесь к виртуальной машине по SSH:

ssh -i mykey.pem ubuntu@<vm-ip>

Замените vm-ip на IP-адрес вашей виртуальной машины

# Советы на случай возникновения ошибок

  • Проверьте логи виртуальной машины: если создание виртуальной машины не удалось или она недоступна:
openstack console log show my-vm
  • Убедитесь, что правила вашей группы безопасности разрешают SSH (порт 22)
  • Убедитесь, что конфигурации сети и подсети верны и правильно связаны с вашей виртуальной машиной

# OpenStack Horizon

# Войдите в панель управления Horizon

  1. Откройте веб-браузер и войдите в панель управления OpenStack Horizon, используя свои учетные данные

# Создайте пару ключей

  1. Перейдите в раздел Project > Compute > Key Pairs
  2. Нажмите кнопку Create Key Pair
  3. Введите имя для вашей пары ключей (например, my-key )
  4. Нажмите кнопку Create Key Pair Пара ключей будет автоматически загружена как файл .pem , сохраните этот файл в надежном месте на вашей машине, так как он вам понадобится для доступа к вашей виртуальной машине через SSH

# Создайте группу безопасности

  1. Перейдите в раздел Project > Network > Security Groups
  2. Нажмите кнопку Create Security Group
  3. Назовите свою группу безопасности (например, my-security-group ) и добавьте описание
  4. Нажмите кнопку Create Security Group

Добавьте правила в группу безопасности:

  1. Нажмите на название группы безопасности, которую вы только что создали
  2. Нажмите кнопку Manage Rules
  3. Нажмите кнопку Add Rule , чтобы добавить правила:
    • Разрешить SSH:
      • Правило: SSH
      • Направление: Ingess
      • Удаленный IP-префикс: 0.0.0.0/0
    • Разрешить ICMP:
      • Правило: All ICMP
      • Направление: Ingress
      • Удаленный IP-префикс: 0.0.0.0/0
  4. Нажмите Add после настройки каждого правила

# Создайте виртуальную сеть (если она еще не создана)

  1. Перейдите в раздел Project > Network > Networks
  2. Нажмите кнопку Create Network
  3. Введите имя вашей сети (например my-network ) и нажмите Next
  4. Настройте подсеть:
    • Введите имя подсети (например my-subnet )
    • Задайте сетевой адрес (например 192.168.0.0/24 )
    • При необходимости настройте другие параметры
  5. Нажмите кнопку Create

# Создать виртуальную машину

  1. Перейдите в раздел Project > Compute > Instances
  2. Нажмите кнопку Launch Instance
  3. На вкладке Details :
    • Введите имя instance (например my-vm )
    • Выберите зону доступности (например az-1 )
  4. На вкладке Source :
    • Выберите image из доступного списка
  5. На вкладке Flavor :
    • Выберите подходящий flavor (например m1a.1.nano )
  6. На вкладке Networks :
    • Выберите сеть, которую вы создали ранее my-network
  7. На вкладке Security Groups :
    • Выберите созданную вами группу безопасности my-security-group
  8. На вкладке Key Pair :
    • Выберите созданную вами пару ключей mykey
  9. Проверьте настройки и нажмите Launch Instance

# Назначьте плавающий IP-адрес

Если ваша виртуальная машина должна быть доступна из Интернета:

  1. Перейдите в раздел Project > Compute > Instances
  2. Найдите свою виртуальную машину в списке и щелкните стрелку раскрывающегося списка справа
  3. Выберите Associate Floating IP
  4. Если доступных IP-адресов нет, нажмите Allocate IP , чтобы получить новый плавающий IP-адрес
  5. Выберите плавающий IP-адрес из раскрывающегося списка и нажмите Associate

# Доступ к виртуальной машине через SSH

  1. На панели управления Horizon перейдите в раздел Project > Compute > Instances и найдите свою виртуальную машину
  2. Запишите IP-адрес (фиксированный или плавающий IP, если вы его назначили)
  3. Откройте терминал на своей машине
  4. Подключитесь к своей виртуальной машине, используя загруженную вами пару ключей:
ssh -i ~/path/to/mykey.pem ubuntu@<vm-ip>

Замените vm-ip на IP-адрес вашей виртуальной машины

# Советы на случай возникновения ошибок

  • Если вы не можете подключиться к виртуальной машине, убедитесь, что правила вашей группы безопасности правильно настроены и разрешают трафик SSH и ICMP
  • Убедитесь, что загруженная вами пара ключей надежно защищена (с помощью chmod 600 на вашей машине)