Перейти к содержанию

☁️ OpenStack

OpenStack — открытая платформа IaaS: виртуальные машины, сети, диски и образы через набор сервисов с общим API (и UI Horizon).

Status: Draft

1. Компоненты
Сервис Зачем
Keystone Аутентификация, проекты, роли, токены
Nova Compute: создание/жизненный цикл ВМ
Neutron Сети, router, Floating IP, security groups
Glance Образы ВМ
Cinder Блочные тома (диск к ВМ)
Swift Объектное хранилище (S3-подобное API)
Horizon Веб-UI
Heat Оркестрация шаблонами (стек внутри облака)

Опционально: телеметрия/биллинг (исторически Ceilometer/Gnocchi и наследники).

2. Создание ВМ

Типичный поток:

  1. Образ в Glance
  2. Nova ставит ВМ на compute (flavor)
  3. Neutron выдаёт порт / IP в сети
  4. При необходимости Cinder — том как диск
  5. Доступ: SSH по keypair / консоль; снаружи — Floating IP

    CLI:

openstack server create \
  --image ubuntu-20.04 \
  --flavor m1.small \
  --network private-net \
  --security-group default \
  --key-name my-key \
  vm1
3. Neutron

Виртуальные сети, связка с внешним миром, фильтрация.

Типы сетей
Тип Суть
Flat Общая сеть без изоляции тенантов
VLAN Изоляция 802.1Q
VXLAN / GRE Оверлей / туннели (часто в SDN)
Маршрутизация
  • Одна сеть → ВМ общаются напрямую
  • Разные сети → Neutron router
  • Интернет → Floating IP (DNAT/SNAT на внешнем gateway)

Security groups режут трафик на порту ВМ (stateful firewall rules).

4. Хранение
Сервис Модель Как видит ВМ
Cinder Block Том как диск (/dev/vd…) — LVM, iSCSI, Ceph RBD…
Swift Object Через API (не монтируется как блочный диск)
Ceph Часто backend Может кормить Cinder/Glance/Nova (и объекты)

Cinder vs Swift: диск к инстансу vs объектное API-хранилище файлов/блобов.

5. Отказоустойчивость (кратко)
  • Controller HA — несколько узлов API (Keystone, Nova, Neutron…) за балансировщиком
  • БД — Galera/реплика MariaDB (или аналог)
  • Хранилище — реплицируемый backend (часто Ceph)
  • Neutron L3 HA — запасной router (Keepalived/VRRP)
  • Octavia / HAProxy — LBaaS и баланс API

Нагрузка API — через VIP/балансировщик; compute масштабируется добавлением Nova-нод.

6. Диагностика
Логи
Путь О чём
/var/log/nova/ compute / VM
/var/log/neutron/ сеть, агенты
/var/log/glance/ образы
/var/log/cinder/ тома
Состояние сервисов
openstack service list
openstack compute service list
openstack network agent list
Вопросы

В разработке..