SlideShare a Scribd company logo
Оркестрация контейнеров
Часть 6
@livelaceолег попов
2018декабрь
2
Компоненты Openshift
3
Компоненты Openshift
1. Openshift Master – рабочий узел, которые содержит основные компоненты управления
кластером (API, etcd, controller manger server)
4
Компоненты Openshift
1. Openshift Master – рабочий узел, которые содержит основные компоненты управления
кластером (API, etcd, controller manger server)
2. Openshift Node – рабочий узел, на котором происходит непосредственный запуск
контейнеров
5
Компоненты Openshift
1. Openshift Master – рабочий узел, которые содержит основные компоненты управления
кластером (API, etcd, controller manger server)
2. Openshift Node – рабочий узел, на котором происходит непосредственный запуск
контейнеров
3. Kuryr Controller – демон (может быть запущен где угодно), который отслеживает
запросы на создание контейнера через Openshift API, создает сетевые порты в
виртуальной сети Neutron, добавляет сетевые метаданные к конфигурации контейнера
6
Компоненты Openshift
1. Openshift Master – рабочий узел, которые содержит основные компоненты управления
кластером (API, etcd, controller manger server)
2. Openshift Node – рабочий узел, на котором происходит непосредственный запуск
контейнеров
3. Kuryr Controller – демон (может быть запущен где угодно), который отслеживает
запросы на создание контейнера через Openshift API, создает сетевые порты в
виртуальной сети Neutron, добавляет сетевые метаданные к конфигурации контейнера
4. Kuryr CNI – демон (работает непосредственно на рабочем узле), который
отслеживает запросы на создание контейнера через Openshift API, подключает
контейнер к виртуальной сети Neutron на основе метаданных указанных в конфигурации
контейнера
7
Компоненты Openshift
1. Openshift Master – рабочий узел, которые содержит основные компоненты управления кластером
(API, etcd, controller manger server)
2. Openshift Node – рабочий узел, на котором происходит непосредственный запуск контейнеров
3. Kuryr Controller – демон (может быть запущен где угодно), который отслеживает запросы на
создание контейнера через Openshift API, создает сетевые порты в виртуальной сети Neutron,
добавляет сетевые метаданные к конфигурации контейнера
4. Kuryr CNI – демон (работает непосредственно на рабочем узле), который отслеживает
запросы на создание контейнера через Openshift API, подключает контейнер к виртуальной сети
Neutron на основе метаданных указанных в конфигурации контейнера
5. Neutron LBaaS – сетевой балансировщик Neutron (HAProxy), прослушивает заданный порт и
проксирует трафик на заданный IP-адрес
8
Пределы использования ресурсов
9
Процесс запуска контейнеров
10
Процесс запуска контейнеров
11
Процесс запуска контейнеров
12
Процесс запуска контейнеров
13
Процесс запуска контейнеров
14
Процесс запуска контейнеров
15
Процесс запуска контейнеров
16
Процесс запуска контейнеров
17
Процесс запуска контейнеров
18
Процесс запуска контейнеров
19
Процесс запуска контейнеров
20
Процесс создание сервиса
21
Процесс создание сервиса
22
Процесс создание сервиса
23
Процесс создание сервиса
24
Процесс создание сервиса
25
Регистрация в DNS
Формат FQDN сервиса:
<service_name>.<namespace>.svc.cluster.local
nginx → nginx.testlab-unix.svc.cluster.local → 172.30.111.3
Формат FQDN контейнера:
<service_name>.<namespace>.endpoints.cluster.local
nginx → nginx.testlab-unix.endpoints.cluster.local → 10.21.3.21
26
Сетевое взаимодействие
27
Демо
28
Ссылки
● Архитектура Openshift:
https://lace.li/a6-openshift-arch
● Служба DNS в Openshift:
https://lace.li/a6-openshift-dns
● Основные объекты кластера Openshift:
https://lace.li/a6-openshift-objects
● Сетевой балансировщик Neutron LBaaS:
https://lace.li/a6-neutron-lbaas
● Схема взаимодействия компонентов Kuryr:
https://lace.li/a6-kuryr-design

More Related Content

What's hot

Svitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak OleksiiSvitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla Systems Inc.
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Yandex
 
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderИлья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
SQALab
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Noveo
 
Кеширование. Api. http 1.1 (rfc 2616)
Кеширование. Api. http 1.1 (rfc 2616)Кеширование. Api. http 1.1 (rfc 2616)
Кеширование. Api. http 1.1 (rfc 2616)
Artjoker
 
iOS-07_2 Multithreading
iOS-07_2 MultithreadingiOS-07_2 Multithreading
iOS-07_2 Multithreading
Noveo
 
Retro vs Volley
Retro vs VolleyRetro vs Volley
Retro vs Volley
Artjoker
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAlex Tumanoff
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверами
Maxim Kulsha
 
«PRFLR - OpenSource инструмент для анализа производительности кода»
«PRFLR - OpenSource инструмент для анализа производительности кода»«PRFLR - OpenSource инструмент для анализа производительности кода»
«PRFLR - OpenSource инструмент для анализа производительности кода»
Nata_Churda
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey TeplyakovAlex Tumanoff
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...rit2011
 
Rx android
Rx androidRx android
Rx android
GDG Odessa
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: Promises
RAMBLER&Co
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Yandex
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторы
oelifantiev
 
Lab5
Lab5Lab5
Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14
Vasil Remeniuk
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Badoo Development
 
Java tricks for high-load server programming
Java tricks for high-load server programmingJava tricks for high-load server programming
Java tricks for high-load server programmingAndrei Pangin
 

What's hot (20)

Svitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak OleksiiSvitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak Oleksii
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
 
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderИлья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
 
Кеширование. Api. http 1.1 (rfc 2616)
Кеширование. Api. http 1.1 (rfc 2616)Кеширование. Api. http 1.1 (rfc 2616)
Кеширование. Api. http 1.1 (rfc 2616)
 
iOS-07_2 Multithreading
iOS-07_2 MultithreadingiOS-07_2 Multithreading
iOS-07_2 Multithreading
 
Retro vs Volley
Retro vs VolleyRetro vs Volley
Retro vs Volley
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey Teplyakov
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверами
 
«PRFLR - OpenSource инструмент для анализа производительности кода»
«PRFLR - OpenSource инструмент для анализа производительности кода»«PRFLR - OpenSource инструмент для анализа производительности кода»
«PRFLR - OpenSource инструмент для анализа производительности кода»
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
Rx android
Rx androidRx android
Rx android
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: Promises
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторы
 
Lab5
Lab5Lab5
Lab5
 
Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
Java tricks for high-load server programming
Java tricks for high-load server programmingJava tricks for high-load server programming
Java tricks for high-load server programming
 

Similar to Часть 6: Оркестрация контейнеров

Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Ontico
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
Dmitry Lazarenko
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1
Max Lapshin
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...DevDay
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
Yandex
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101
Nadzeya Pus
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
Pavel Tsukanov
 
Working with .NET Threads
Working with .NET ThreadsWorking with .NET Threads
Working with .NET Threads
Pavel Treshnikov
 
Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ
OpenVZ
 
Операционные системы и среды
Операционные системы и средыОперационные системы и среды
Операционные системы и среды
Alexandr Konfidentsialno
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомии
Nikita Lipsky
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
aviatakz
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
Andrey Kazarinov
 
Процессы и потоки
Процессы и потокиПроцессы и потоки
Процессы и потоки
Evgeniy Mironov
 
Анатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen ServicesАнатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen Services
Nata_Churda
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Return on Intelligence
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Ontico
 

Similar to Часть 6: Оркестрация контейнеров (20)

Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
 
os_components
os_componentsos_components
os_components
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 
Working with .NET Threads
Working with .NET ThreadsWorking with .NET Threads
Working with .NET Threads
 
Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ
 
Операционные системы и среды
Операционные системы и средыОперационные системы и среды
Операционные системы и среды
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомии
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Процессы и потоки
Процессы и потокиПроцессы и потоки
Процессы и потоки
 
Анатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen ServicesАнатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen Services
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
 

More from Oleg Popov

Часть 8: Заключение
Часть 8: ЗаключениеЧасть 8: Заключение
Часть 8: Заключение
Oleg Popov
 
Часть 4: Тестовые окружения
Часть 4: Тестовые окруженияЧасть 4: Тестовые окружения
Часть 4: Тестовые окружения
Oleg Popov
 
Часть 3: Краткий обзор системы
Часть 3: Краткий обзор системыЧасть 3: Краткий обзор системы
Часть 3: Краткий обзор системы
Oleg Popov
 
Часть 2: Требования к системе
Часть 2: Требования к системеЧасть 2: Требования к системе
Часть 2: Требования к системе
Oleg Popov
 
Часть 1: Введение
Часть 1: ВведениеЧасть 1: Введение
Часть 1: Введение
Oleg Popov
 
День 4: Автоматизированное тестирование: Openstack
День 4: Автоматизированное тестирование: OpenstackДень 4: Автоматизированное тестирование: Openstack
День 4: Автоматизированное тестирование: Openstack
Oleg Popov
 
День 3: Автоматизированное тестирование: Openshift
 День 3: Автоматизированное тестирование: Openshift День 3: Автоматизированное тестирование: Openshift
День 3: Автоматизированное тестирование: Openshift
Oleg Popov
 
День 2: Автоматизированное тестирование: Jenkins
 День 2: Автоматизированное тестирование: Jenkins День 2: Автоматизированное тестирование: Jenkins
День 2: Автоматизированное тестирование: Jenkins
Oleg Popov
 
День 1: Автоматизированное тестирование: Введение
 День 1: Автоматизированное тестирование: Введение День 1: Автоматизированное тестирование: Введение
День 1: Автоматизированное тестирование: Введение
Oleg Popov
 
Automated testing: Openshift on Openstack
Automated testing: Openshift on OpenstackAutomated testing: Openshift on Openstack
Automated testing: Openshift on Openstack
Oleg Popov
 
Robot Evolution
Robot EvolutionRobot Evolution
Robot Evolution
Oleg Popov
 
Why we need IoT
Why we need IoTWhy we need IoT
Why we need IoT
Oleg Popov
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside Openshift
Oleg Popov
 
Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
Oleg Popov
 

More from Oleg Popov (14)

Часть 8: Заключение
Часть 8: ЗаключениеЧасть 8: Заключение
Часть 8: Заключение
 
Часть 4: Тестовые окружения
Часть 4: Тестовые окруженияЧасть 4: Тестовые окружения
Часть 4: Тестовые окружения
 
Часть 3: Краткий обзор системы
Часть 3: Краткий обзор системыЧасть 3: Краткий обзор системы
Часть 3: Краткий обзор системы
 
Часть 2: Требования к системе
Часть 2: Требования к системеЧасть 2: Требования к системе
Часть 2: Требования к системе
 
Часть 1: Введение
Часть 1: ВведениеЧасть 1: Введение
Часть 1: Введение
 
День 4: Автоматизированное тестирование: Openstack
День 4: Автоматизированное тестирование: OpenstackДень 4: Автоматизированное тестирование: Openstack
День 4: Автоматизированное тестирование: Openstack
 
День 3: Автоматизированное тестирование: Openshift
 День 3: Автоматизированное тестирование: Openshift День 3: Автоматизированное тестирование: Openshift
День 3: Автоматизированное тестирование: Openshift
 
День 2: Автоматизированное тестирование: Jenkins
 День 2: Автоматизированное тестирование: Jenkins День 2: Автоматизированное тестирование: Jenkins
День 2: Автоматизированное тестирование: Jenkins
 
День 1: Автоматизированное тестирование: Введение
 День 1: Автоматизированное тестирование: Введение День 1: Автоматизированное тестирование: Введение
День 1: Автоматизированное тестирование: Введение
 
Automated testing: Openshift on Openstack
Automated testing: Openshift on OpenstackAutomated testing: Openshift on Openstack
Automated testing: Openshift on Openstack
 
Robot Evolution
Robot EvolutionRobot Evolution
Robot Evolution
 
Why we need IoT
Why we need IoTWhy we need IoT
Why we need IoT
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside Openshift
 
Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
 

Часть 6: Оркестрация контейнеров