☁️ 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. Создание ВМ
Типичный поток:
- Образ в Glance
- Nova ставит ВМ на compute (flavor)
- Neutron выдаёт порт / IP в сети
- При необходимости Cinder — том как диск
-
Доступ: 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
Вопросы
В разработке..