SlideShare a Scribd company logo
1 of 28
Оркестрация контейнеров
Часть 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 OleksiiSvitla Systems Inc.
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Yandex
 
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderИлья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderSQALab
 
Библиотеки для передачи данных (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 MultithreadingNoveo
 
Retro vs Volley
Retro vs VolleyRetro vs Volley
Retro vs VolleyArtjoker
 
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
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: PromisesRAMBLER&Co
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторыoelifantiev
 
Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14Работа с Akka Сluster, @afiskon, scalaby#14
Работа с Akka Сluster, @afiskon, scalaby#14Vasil 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. SwarmDmitry Lazarenko
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1Max 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 101Nadzeya Pus
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS Pavel Tsukanov
 
Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ Управление ресурсами в Linux и OpenVZ
Управление ресурсами в Linux и OpenVZ OpenVZ
 
Операционные системы и среды
Операционные системы и средыОперационные системы и среды
Операционные системы и средыAlexandr Konfidentsialno
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииNikita Lipsky
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в ЯндексеAndrey Kazarinov
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Процессы и потоки
Процессы и потокиПроцессы и потоки
Процессы и потокиEvgeniy Mironov
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceReturn on Intelligence
 
Анатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen ServicesАнатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen ServicesNata_Churda
 
Инфраструктура распределенных приложений на 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 (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
ВВЕДЕНИЕ В 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
 
Процессы и потоки
Процессы и потокиПроцессы и потоки
Процессы и потоки
 
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conferenceApache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
 
Анатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen ServicesАнатолий Кондратьев, Exigen Services
Анатолий Кондратьев, Exigen Services
 
Инфраструктура распределенных приложений на 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: Автоматизированное тестирование: OpenstackOleg Popov
 
День 3: Автоматизированное тестирование: Openshift
 День 3: Автоматизированное тестирование: Openshift День 3: Автоматизированное тестирование: Openshift
День 3: Автоматизированное тестирование: OpenshiftOleg Popov
 
День 2: Автоматизированное тестирование: Jenkins
 День 2: Автоматизированное тестирование: Jenkins День 2: Автоматизированное тестирование: Jenkins
День 2: Автоматизированное тестирование: JenkinsOleg 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 OpenstackOleg Popov
 
Robot Evolution
Robot EvolutionRobot Evolution
Robot EvolutionOleg Popov
 
Why we need IoT
Why we need IoTWhy we need IoT
Why we need IoTOleg Popov
 
The automated tests inside Openshift
The automated tests inside OpenshiftThe automated tests inside Openshift
The automated tests inside OpenshiftOleg Popov
 
Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with OpenshiftOleg 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: Оркестрация контейнеров