Docker и Kubernetes 🐳 / Что такое контейнеры и зачем они нужны?

  Переглядів 40,265

Русский Айтишник

Русский Айтишник

День тому

#русскийайтишник #docker #kubernetes
В 2010-х годах произошла революция в серверной разработке: появились Docker и Kubernetes. В этом видео рассказываю про историю контейнеров, как и почему они появились, и что мы имеем на текущий момент.
Документация по Docker: docs.docker.com/
Документация по Kubernetes: kubernetes.io/ru/docs/home/
Werf: werf.io/
Podman: podman.io/
0:00 Начало
0:32 Виртуальные машины
4:38 Контейнеры
6:00 Docker
8:27 Орекстрация контейнеров
9:08 Kubernetes
9:40 Что имеем на сегодняшний день
10:17 Kubernetes как услуга
11:48 Что стало с Docker?
Текст: Александр Шишенко
Редактор: Анастасия Некрасова

КОМЕНТАРІ: 68
@andreivoloshin610
@andreivoloshin610 2 роки тому
Благодаря труду и упорству Сэмвел Тарли приобрёл знания, которые даже не снились другим мейстрам Вестероса) И теперь дарит эти знания простому народу. Канал отличный)
@rhettkeagan7560
@rhettkeagan7560 2 роки тому
I realize I am kinda off topic but do anyone know a good place to watch new movies online?
@user-vr2tl4rv4r
@user-vr2tl4rv4r 2 роки тому
Ты первый кого я понял)))) просто и понятно! Спасибо!
@simexlab
@simexlab 3 роки тому
Спасибо тебе добрый человек за понятное объяснение
@irinka_davy
@irinka_davy 3 роки тому
Очень понятно! Спасибо вам
@aelchin2010
@aelchin2010 2 роки тому
Спасибо за труд, продолжай!
@vinogradishev
@vinogradishev 2 роки тому
Очень понятно и доходчиво, спасибо Вам.
@munarcymbatov181
@munarcymbatov181 3 роки тому
Боюсь что ваш канал будет взорвать весь Ютуб, побольше ждём от вас многих видеосик
@exzot.1110
@exzot.1110 2 роки тому
Очень понятно все объяснил, спасибо!
@georgeshishorin2140
@georgeshishorin2140 3 роки тому
Топ! Ждем продолжения :)
@RussianITGuy
@RussianITGuy 3 роки тому
Скоро будет про werf. Это очень удобная тулза, правда пока не очень популярная.
@georgeshishorin2140
@georgeshishorin2140 3 роки тому
@@RussianITGuy, да надо будет посмотреть.
@user-pu5xs1sj8d
@user-pu5xs1sj8d 3 роки тому
Это подписка, однозначно !
@eclipsium_msk
@eclipsium_msk 3 роки тому
Чел, ты крутой! Подписчиков только мало :/ PS: смотрю на скорости 1.5 :D
@etakaetaka6729
@etakaetaka6729 2 роки тому
а я наоборот 0.5
@pfk9025
@pfk9025 2 роки тому
Круто объяснил, спасибо!
@ivanstrelka3448
@ivanstrelka3448 2 роки тому
От души спасибо
@user-fo1zt8ce9x
@user-fo1zt8ce9x 2 роки тому
Спасибо, очень приятно слушать
@nadiiaschmitz2306
@nadiiaschmitz2306 Рік тому
Отличное видео, огромное спасибо!
@olegalekseev832
@olegalekseev832 2 роки тому
Спасибо!
@alenamitnovizki3857
@alenamitnovizki3857 2 роки тому
Понятно объяснил! 👏👏👏🏆
@katerishnay1076
@katerishnay1076 2 роки тому
Спасибо большое)
@svetlanamazhaykina6918
@svetlanamazhaykina6918 Рік тому
Спасибо за Ваш труд! Коммент в поддержку канала
@andreykrivoshein3788
@andreykrivoshein3788 Рік тому
Cпасибо!
@arseniyaponomareva6281
@arseniyaponomareva6281 2 роки тому
Спасибо
@samezarus
@samezarus 2 роки тому
Брат, братан, братишка. Подписался =)
@tadeuskozlovski7286
@tadeuskozlovski7286 2 роки тому
Спасибо.
@user-qw5gr5bk8u
@user-qw5gr5bk8u 2 роки тому
Большой просветительский лайк!
@maksimsergeevich5939
@maksimsergeevich5939 2 роки тому
В VDS/VPS ресурсы которые указаны в тарифном плане должны быть гарантированы и не делятся с "соседями"?
@user-wq3ck7if4n
@user-wq3ck7if4n 2 роки тому
спасибо чувак)))
@undefined_user36
@undefined_user36 Рік тому
Спасиба братишка все четко
@astral5564
@astral5564 3 роки тому
Хорош!
@Hinducoder
@Hinducoder 2 роки тому
Чувак, не забрасывай канал, подписоты мало, но всё будет.
@withotsoul7252
@withotsoul7252 Рік тому
Thanks
@user-shmuser.
@user-shmuser. 3 роки тому
Мне понравилось, но хер я поделюсь, пусть другие будут неучами)))
@nurgaleevrf8750
@nurgaleevrf8750 2 роки тому
это очень крутая программа)))
@user-my4nz2jj7f
@user-my4nz2jj7f 2 роки тому
Из вашего видео мне стало более понятно, как работает хостинг и что такое VDS. Ну и, конечно, docker. Спасибо. А что такое Shared Hosting? То же самое - отдельная виртуалка со своими ресурсами? Только администрирует ее не пользователь, а владелец хостинга?
@RussianITGuy
@RussianITGuy 2 роки тому
Нет, на Shared Hosting все приложения запущены на одном большом сервере, который в зависимости от запрашиваемого хоста, запускает скрипт из нужной папки. Где этот сервер запущен -на виртуалке или нет - по большому счету неважно.
@comrad93
@comrad93 3 роки тому
С какого размера инфраструктуры рекомендуешь начинать думать про оркестрацию? Для личных проектов кубер кажется оверкилом, уж слишком много конфигов и не хочется за менеджер платить
@RussianITGuy
@RussianITGuy 3 роки тому
Кубер удобен, когда планируется high-availability. А это практически всегда так, когда проект направлен на получение денег и должен быть всегда доступен. Для этого в нём есть все нужные инструменты. Мой rule-of-thumb: три машины -- уже можно думать о кубернетес. Кубер в установленном виде сам по себе немаленький, поэтому для личных проектов с одним сервером он будет великоват. Тут можно либо пробовать k3s (уменьшенный и урезанный кубер), либо просто использовать docker-compose. Либо, воспользоваться провайдером кубернетеса, который не берет отдельную плату за содержание control plane, например, DigitalOcean.
@Softovick
@Softovick 3 роки тому
Для личных проектов просто попробуйте Docker Swarm. k8s действительно громоздкий. И альтернативы тоже не очень то легковесные, как тот k3s. Все равно жрут так ресурсы, что на их месте вполне можно пару десятков сервисов запустить своих.
@user-gu2sc5lj6g
@user-gu2sc5lj6g Рік тому
А где обещанное видео про kubernetes?
@kuatkaimbaev2342
@kuatkaimbaev2342 2 роки тому
Спасибо за ролик. В процессе просмотра у меня вопрос появился, можно ли Windows server core запихнуть в контейнер? Из всех современных и поддерживаемых версий windows на данный момент - это единственный, кто использует меньше всего ресурсов. Думаю, что с точки зрения возможностей он может превзойти nix системы
@RussianITGuy
@RussianITGuy 2 роки тому
Винду можно запихнуть в контейнер, только этот контейнер будет работать только на Винде под hyper-v. На линуксах не запустится.
@bralbral
@bralbral Рік тому
Привет от набора 2011 года :)
@singlebw4065
@singlebw4065 3 роки тому
Мужик. рассказываешь грамотно. Про nginx что-нибудь в связке с nodejs рассказать и показать можешь? Я вот что-то не совсем догоняю. Нет полной картины. Говорят что nodejs однопоточная. Что это значит? Как я понимаю при обращении к ней она прогоняет задачи через event loop. Правильно ли я понимаю если 100 человек одновременно к ней обратятся, то они встанут в очередь ?
@RussianITGuy
@RussianITGuy 3 роки тому
Да, запросы в nodejs идут через event loop. Но большинство тормозов в веб-сервисах из-за обращений к базе и других задач ввода-вывода. Пока обрабатывается ввод-вывод, nodejs будет переключаться на обработку следующих клиентов и так далее.
@singlebw4065
@singlebw4065 3 роки тому
@@RussianITGuy А можно в будущем продемонстрировать как грамотно делать и почему не стоит делать иначе с nodejs?
@RussianITGuy
@RussianITGuy 3 роки тому
​@@singlebw4065 Не очень понимаю вопрос :) nodejs разработан в асинхронной парадигме, поэтому не стоит делать блокирующие вызовы в обработчиках запросов клиентов. Вообще, тема "асинхронность vs многопоточность" на канале планируется, потому что вопрос частый и сейчас, когда все сервисы делают асинхронными, актуальный.
@singlebw4065
@singlebw4065 3 роки тому
@@RussianITGuy Просто вроде что-то ковыряю, изучаю, вот докер подучил пихаю туда тестовый nodejs mysql, phpmyadmin всë круто, но давно знаю что используют nginx с nodejs вот изучаю его и тож пихаю в докер. Ну хз. я могу как напрямую к nodejs обратиться, так через nginx proxy_pass в чëм прикол пока не понимаю. nodejs на express быстро выплëвывает статику говорят nginx тоже. Про fastcgi сервера тож чëт пока не понял. Примера везде суют с apache блин аж бесит)) Время идëт я конечно его выучу, но вот грамотно им пользоваться уже надо искать кто покажет боевое использование и обоснавал почему именно так.
@petr_e
@petr_e 3 роки тому
Хороший выпуск! Мне кажется, вставки в формате скринкаста с комментариями могли бы быть интересны
@Alex-dw3pn
@Alex-dw3pn Рік тому
как приятно, когда человек умеет объяснять
@Softovick
@Softovick 3 роки тому
Так есть же оркестрация в Docker - называется Swarm. И доступен из коробки, настраивается гораааааздо проще, чем K8S, а уже ресурсов потребляет на порядок меньше. И на одной ноде работает, потом просто подключаются еще ноды по мере масштабирования. И развивать его будут, хотя конечно он поменьше функций предоставляет, чем кубернетес. Кто тут спрашивал про оркестрацию, вот вполне себе альтернатива для небольших проектов (где-то видел рекомендацию до 100 нод)
@RussianITGuy
@RussianITGuy 3 роки тому
Docker Swarm - хорошая штука, если разворачивать её на двух-трёх машинках, это факт. Но насчёт того, будут ли развивать - большой вопрос. Сейчас всё внимание больших компаний (членов CNCF) приковано к Kubernetes, и, в меньшей степени, к Nomad (за которыми стоит Hashicorp). Swarm'ом занимвются, по факту, только разработчики самого Docker. И ещё Swarm несколько бедноват по возможностям: нет аналога Ingress и LoadBalancer, к примеру.
@Softovick
@Softovick 3 роки тому
@@RussianITGuy И да и нет. На самом деле развивается Swarm не просто так. Они же хотели от него отказаться, но бизнес настаивал. Так что да, крупных компаний за ним нет, но тем не менее задачи бизнеса он видимо решает, бизнеса достаточно денежного, чтобы повлиять на решение разработчиков продолжить развитие. Насчет масштабности применения такой вопрос, спорный... Например по словам девопса из MailRu, которые активно занимается внедрением и развитием Kubernetes, режим Docker Swarm вполне подойдет компаниям, где сотня-две сервисов. Да, если их больше или очень много серверов и если компания способна обеспечить достаточно ресурсов, в том числе человеческий для поддержки k8s-инфраструктуры - то Kubernetes выигрывают по функциональности и гибкости. Аналоги некоторых функций на самом деле есть или можно поднять простыми действиями. К примеру Secrets/Configs есть, Healthchecks есть, ресурсы сервисов и контейнеров можно ограничить, распределять по нодам умеет. Анонсировали появление в скором времени выполнения сервисов по расписанию (CronJob типа). В остальном... Тот же Ingress в K8S ведь не более чем особо настроенный контейнер с Nginx, с его заменой справляются на ура Traefik, а поднять его что там что там вообще не проблема. И аналогичные контейнеры с Nginx я тоже видел, типа Nginx_Proxy. Я на самом деле не говорю, что Docker Swarm это замена, они и сами это не позиционируют так. Но как минимум упоминания об этом оркестраторе он уже достоин. А в некоторых случаях другие системы просто будут избыточны. Банальный пример, поднять даже облегченную версию Kubernetes под названием k3s - отьедает минимум 500МБ ОЗУ на менеджер ноде. А полноценный k8s вообще требует в единоличное владение 2 ядра и 4 ГБ ОЗУ. Небольшая компания на этих ресурсах спокойно может поднять с десяток сервисов. Сэкономив пускай небольшие, но деньги на железе - для начинающих стартапов к примеру это существенно. Другой вопрос, что зачастую люди не считают такие деньги, ведутся на хайповые названия. Это да....
@deniskolesnikov3697
@deniskolesnikov3697 2 роки тому
Какая сейчас цепочка получается: разработчик у себя локально разворачивает Докер-контейнеры, но для чего? Если нет возможности их же потом отправить в Кубер, из-за отсутствия поддержки?
@RussianITGuy
@RussianITGuy 2 роки тому
Контейнеры же можно и на голом железе запускать, без оркестрации. Это даст нам повторяемость среды запуска приложения, как минимум.
@deniskolesnikov3697
@deniskolesnikov3697 2 роки тому
@@RussianITGuy просто, если правильно понял, раньше эта повторяемость сохранялась и при отправке (или как правильно сказать) в Кубер, теперь же на этом этапе вновь появилось место для конфликта при развертывании?
@janaeismont3683
@janaeismont3683 2 роки тому
Хорошо, без лишнего бла бла.
@sarbasov
@sarbasov Рік тому
5:21 а я думаю, что основное отличие контейнеров от виртуальных машин, это то, что они не способны сохранять свое состояние. Пишешь все в базу данных, а после перезагрузки все данные пропадают. Смысл всего сводится к нулю из-за этого. У виртуальных машин такой проблемы нет.
@MyPolkin
@MyPolkin Рік тому
Основное отличие - контейнеры имеют только изолированную память, а не все ресурсы. Данные никуда не пропадают, если просто остановить контейнер а потом запустить заново - все будет на месте
@user-tc8uy4qk5z
@user-tc8uy4qk5z Рік тому
🤣
@jetbrain9115
@jetbrain9115 2 роки тому
1 На ОС 2 виртуальные машины 3 контейнеры
@vesh95
@vesh95 2 роки тому
Недавно увидал Сбер клауд
@RussianITGuy
@RussianITGuy 2 роки тому
Ага, у них на сайте есть managed kubernetes, но от только для юриков (требует ИНН юрлица)
@andrewmoryakov7556
@andrewmoryakov7556 2 роки тому
Вот так и не понял, что же такое образ
@pulseclubforzahorizon4412
@pulseclubforzahorizon4412 Рік тому
Спасибо !
RPC и REST - в чём разница? Часть 1: RPC
9:35
Русский Айтишник
Переглядів 25 тис.
Что такое Docker? Урок по контейнеризации для начинающих
18:52
What is Kubernetes | Kubernetes explained in 15 mins
14:13
TechWorld with Nana
Переглядів 1,2 млн
Kubernetes - Курс по Kubernetes для Начинающих
1:48:41
Bogdan Stashchuk
Переглядів 56 тис.
APACHE VS NGINX. Что выбрать? Сравнение двух популярных HTTP серверов.
17:49
Мир IT с Антоном Павленко
Переглядів 56 тис.
Что такое Docker?
6:50
Merion Academy
Переглядів 261 тис.
Я Создал Новый Айфон!
0:59
FLV
Переглядів 2,9 млн
Samsung UE40D5520RU перезагружается, замена nand памяти
0:46
Слава 100пудово!
Переглядів 3,9 млн
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Переглядів 17 млн
Радиоприемник из фольги, стаканчика и светодиода с батарейкой?
1:00