Групповые политики в OpenStack: как скрестить ежа с ужом или путь в корпоративную среду Дмитрий Хороших [email protected] 2 апреля, 2015
Jul 21, 2015
Групповые политики в OpenStack: как скрестить ежа с ужом или путь в корпоративную среду
Дмитрий Хороших [email protected]
2 апреля, 2015
2 © 2015 Cisco and/or its affiliates. All rights reserved.
Возможные преимущества OpenStack в Enterprise
No Vendor
Lock-in
Гибкость
Стоимость
• Это Open Source и все
должно быть бесплатно?
• Избавляемся от
“VMware tax” (или другой
вендор)
• Замена стоимости закрытого ПО на стоимость сервиса
• Стоимость людей, которые понимают OpenStack
• Стоимость людей ведущих разработку приложений в OpenStack средах
• Магия гибкости перемещения
между облаками
• При помощи API можно
сделать что угодно
• Можно добавлять функционал
самостоятельно!
• Open Source, который не
имеет прямой зависимости
от оборудования
• Сommodity cloud stack
Ожидания Реальность
• Ограничения для магии перемещения – расширение сетей, миграция адресов, поддержка формата вирт. машины
• Много API – OpenStack API, Amazon API, нужен шлюз между ними
• Стоимость людей готовых разрабатывать для OpenStack
• Да – прямой зависимости нет
• Необходимо сделать выбор дистрибутива
3 © 2015 Cisco and/or its affiliates. All rights reserved.
Как определить, что мой ландшафт готов к OpenStack?
«Хорошие» кандидаты для хостинга в OpenStack
приложения использующие распределенные web и БД (Mongo DB, Cassandra)
приложения с открытой архитектурой
приложения, разрабатываемые в организации или для организации и использующие:
средства контроля версий (Subversion, Mercurial, CVS, Bazaar, Perforce, ClearCase,)
автоматизированные средства проверки кода (Gerrit, Git pull request, Phabricator, Barkeep, Gitlab)
автоматизированные средства интеграции модулей приложений (Jenkins/Hudson, Zuul, CloudBees, Go, Maven)
автоматизированные средства тестирования кода (Tempest, Rally, puppet-rspec, tox)
«Плохие» кандидаты для хостинга в OpenStack
«монолитные» приложения с централизованной архитектурой
«закрытые» приложения (отсутствует northbound/integration API) не допускающие применения средств автоматизации
приложения, которые опираются на специализированные HA/DR/etc. механизмы в средах виртуализации/ОС/БД, которые не поддерживаются в данный момент в OpenStack
• Оператор сети
• Администратор СБ
• Контроль стандартов
Владелец
приложения
4 © 2015 Cisco and/or its affiliates. All rights reserved.
Выбрать «хорошее» приложение
Песочница (sandbox environment)
Исследуем, учимся, тестируем
PoC для распределенного web-приложения, а заодно практика новой DevOps методологии
Среда для разработчиков (development environment)
Получив опыт в песочнице переводим на OpenStack разработку:
Build Dev, QA и production
Разработка web приложения в окружении OpenStack или с применением PaaS средств
Среды для обучения
Дешево и сердито
Запуск продуктов, разработанных внутри компании
Интеграция OpenStack-based продуктов с традиционными системами
Работающие сценарии в Enterprise
5 © 2015 Cisco and/or its affiliates. All rights reserved.
1. Сетевые настройки задаются внутри виртуальной среды
Private Networks with Per-Tenant Routers, Provider Routers, Provider Network Extensions with VLANs (без NAT)
Nexus 1000v для OpenStack
2. Интеграция с коммутатором ToR
Neutron Core plugin (Cisco/ML2) , работает с Nexus 3k/5k/6k/7k/9k
3. Интеграция с ACI (Application-centric infrastructure)
Фаза 1: отображение в сеть базовых элементов абстракции Neutron
Фаза 2: Групповые политики OpenStack (Group-Based policy)
Архитектурные особенности OpenStack Варианты разворачивания сетевой подсистемы
6 © 2015 Cisco and/or its affiliates. All rights reserved.
Два варианта использования OpenStack с ACI
NEUTRON ROUTER
SECURITY
GROUP
NEUTRON NETWORK
Neutron API Group Policy API
NE
UT
RO
N
NE
TW
OR
K
Port
Por
t
Tenant Tenant
Используется существующий
Neutron API с контроллером APIC и
Cisco ACI фабрикой
Contract
GROUP
SERVICE
CHAIN
GROUP
Конструкция Group Policy
предлагает новый API который
напрямую использует модель
политик ACI (Juno Release)
7 © 2015 Cisco and/or its affiliates. All rights reserved.
Автоматизация при помощи heat
neutron
Детализированная
абстракция
nova
Детализированная
абстракция
cinder
Детализированная
абстракция
swift
Детализированная
абстракция
glance
Детализированная
абстракция
………..
Детальные
инструкции Do, do, do, do
Детальные
инструкции Do, do, do, do
Детальные
инструкции Do, do, do, do
Детальные
инструкции Do, do, do, do
Детальные
инструкции Do, do, do, do
Детальные
инструкции Do, do, do, do
(снова и снова)
Много деталей - как
Слишком
много
лишних
деталей
Владелец
приложения
• Оператор сети
• Администратор СБ
• Контроль стандартов
8 © 2015 Cisco and/or its affiliates. All rights reserved.
neutron
Детализированная
абстракция
nova
Детализированная
абстракция
cinder
Детализированная
абстракция
swift
Детализированная
абстракция
glance
Детализированная
абстракция
………..
Автоматизация при помощи heat
Часто забывают, что IT существует ради приложений...
ap
p g
uy
“Я бы хотел запустить приложение с
такими характеристиками и такими
требованиями к инфраструктуре,
сервисам и связям с другими
приложениями
Мое приложение:
Цель Определить приложение и его
потребности
Цель теряется за избытком ненужных деталей
9 © 2015 Cisco and/or its affiliates. All rights reserved.
Пример приложения и его взаимосвязей
Платежная
система П
ол
ити
ка д
осту
па
«Наш» сервер
приложений
Группа (EPG)
Пол
ити
ка д
осту
па
База
пользователей
(Active Directory)
Группа (EPG)
Политика доступа
Прикладная
СУБД (MS SQL)
Группа (EPG)
Политика доступа
Группа (EPG)
Сбор событий Группа (EPG)
Политика доступа
Пол
ити
ка д
осту
па
«Наш» WEB-
сервер
Группа (EPG)
Внешний мир
(EPG)
Стороннее приложение
10 © 2015 Cisco and/or its affiliates. All rights reserved.
Архитектура OpenStack GBP
CLI Horizon Heat
Group Policy API
Mapping
Driver ODL Group
Policy Plugin “Native” Vendor Drivers
Neutron Nova Cinder Swift …
Nexus
Any Existing Plugins
11 © 2015 Cisco and/or its affiliates. All rights reserved.
APIC драйвер создает
сетевой профиль
приложения
OpenStack APIC Plugin – group Policy (Фаза № 2)
APIC
Host 1
OVS
Network B
V(X)LAN
101
10.0.1.0/24
Network A
V(X)LAN
100
10.0.0.0/24
IPTables Host 2
OVS
Network C
V(X)LAN
102
10.0.2.0/24
Network A
V(X)LAN
100
10.0.0.0/24
IPTables Host 3
OVS
Network B
V(X)LAN
101
10.0.1.0/24
Network A
V(X)LAN
100
10.0.0.0/24
IPTables Host 4
OVS
Network C
V(X)LAN
102
10.0.2.0/24
Network A
V(X)LAN
100
10.0.0.0/24
IPTables
IP tables для контроля
безопасности
ACI фабрика
обеспечивает
распределенный
L2 и L3 (без L3
агента). Туннели
терминируются на
ToR
коммутаторах.
OVS терминирует
VLAN / VXLAN теги
для каждой сети
OVS драйвер
выбирает VLAN /
VXLAN тег для
каждой сети и
настраивает OVS
Group Policy Extensions
OVS Driver
Neutron
Networking
APIC Group Driver
Group Policy extension
расширяет существующий
neutron APIs
APIC REST API
12 © 2015 Cisco and/or its affiliates. All rights reserved.
Group Based Policy Workflow
2
ACI Admin
(manages physical
network, monitors tenant
state)
L/B
EPG
APP
EPG DB F/W
L/B
EPG
WEB
Application Network Profile
Create Application Policy
3
5 ACI
Fabric
Push Policy
APIC
OpenStack Tenant
(Performs step 1,4) Instantiate VMs
Web Web Web Web App App 4
Create Application Network Profile
1
DB DB
HYPERVISOR HYPERVISOR HYPERVISOR
NOVA
NEUTRON
Automatically Push
Network Profiles to
APIC
L/B
EPG
APP
EPG DB F/W
L/B
EPG
WEB
Application Network Profile
Интеграция OpenStack и APIC (Фаза № 2)
13 © 2015 Cisco and/or its affiliates. All rights reserved.
Архитектура сети, ориентированной на приложения (ACI) – мощный инструмент унификации сетевых политик между разнородными платформами
Интеграция ACI и OpenStack
Group Based Policy - изящество и простота использования настроек
Полная прозрачность взаимосвязей между приложениями
Масштабируемость
Автоматизация контроля за соблюдением политик
Заключение
14 © 2015 Cisco and/or its affiliates. All rights reserved.
Nexus 1000v: http://www.cisco.com/c/en/us/products/switches/nexus-1000v-kvm/index.html
Nexus 3000 and Higher: http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps11541/data_sheet_c78-727737.html
Cisco Nexus + OpenStack Deployment: http://docwiki.cisco.com/wiki/OpenStack:_Havana:_2-Role_Nexus
Cisco CSR 1000v: http://www.cisco.com/c/en/us/td/docs/routers/csr1000/software/configuration/csr1000Vswcfg/installkvm.html
Project Havate (UCS): https://wiki.openstack.org/wiki/Havate
Cisco ACI with OpenStack: http://www.cisco.com/c/dam/en/us/solutions/collateral/data-center-virtualization/unified-fabric/solution-brief-c22-729865.pdf
Cisco APIC driver for OpenStack Neutron ML2: https://blueprints.launchpad.net/neutron/+spec/ml2-cisco-apic-mechanism-driver
OpenStack Group-Based Policy https://wiki.openstack.org/wiki/GroupBasedPolicy
DEMO GBP vs ACI integration Phase 2: https://www.youtube.com/watch?v=a3Ur1IDyALA
Полезные ссылки