by Nataliia Tkachenko
March, 2017
Kubernetes как средство управления микросервисами
Rostyslav Fridman
3
AGENDA
4
AGENDA
• Микросервисы. Что это такое?• Что такое Kubernetes?• Архитектура Kubernetes• Наш опыт• Демо
5
ЗАКОН КОНВЕЯ
- Melvin Conway, 1967
“Организации, проектирующие системы, ... Производят их, копируя структуры коммуникации, сложившиеся в этих организациях.”
6
МОНОЛИТНЫЕ ПРИЛОЖЕНИЯ
Тяжело изолировать код3
Требуется полная пересборка2
Увеличивающееся раздражение1
Масштабирование только вверх4
7
МИКРОСЕРВИСЫ
Модули пишутся разными командами3
Чёткая граница модулей2
Независимый деплой модулей1
Сервисы масштабируются отдельно4
8
KUBERNETES?ЧТО ТАКОЕ
9
KUBERNETES
Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров.
10
KUBERNETESАРХИТЕКТУРА
11
АРХИТЕКТУРА KUBERNETES
12
KUBERNETESКОНЦЕПЦИИ
13
NODE
Node – машина в кластере Kubernetes
14
POD
Pod – это группа контейнеров с общими разделами, запускаемых как единое целое
15
DEPLOYMENT
Deployment – гарантирует, что определенное количество инстансов pod‘а будут запущены в любой момент времени
16
SERVICE
Service – абстракция которая определяет логический объединённый набор pod и политику доступа к ним
17
VOLUME
Volume – раздел с данными в нём, который доступен в контейнере
18
НАШ ОПЫТ
19
ЧЕГО МЫ ХОТЕЛИ ДОБИТЬСЯ
• Решение должно работать как на bare-metal так и в облаке
• Должна быть возможность пробросить VLAN прямо в pod
• Должна быть возможность назначить IP адрес для pod’a статически или из DHCP сервера
• Должна быть возможность настройки QoS или ACL
• Все компоненты должны быть контейнеризированы
20
ВЫБРАННЫЕ ТЕХНОЛОГИИ
21
OPEN VIRTUAL NETWORK
22
KUBERNETES IP ASSIGNMENT
23
СХЕМА СЕТИ
24
KUBERNETES СЕРВИСЫ
25
DEMO
26
DEMO AGENDA
• Поднять Vagrant• Развернуть Kubernetes• Посмотреть как работает
OpenvSwitch• ???• PROFIT!!