Тёмный

Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner 

Мир IT с Антоном Павленко
Подписаться 51 тыс.
Просмотров 22 тыс.
50% 1

Надежный хостинг FirstVDS! Переходи по ссылке и получай скидку 25% на первый месяц на любой тариф firstvds.ru/s/...
Сборка докер образа очень проста, на обычном компьютере. Когда дела касается автоматизации возникает вопрос: как правильно билдить докер контейнер в Gitlab ci cd или в кубирнетисе? Ведь они все инструкции запускают в докер контейнере. Можно запустить докер в докере, но в документации пишут небезопасно. В гитлабе можно запустить ранер локально на машине, но опять же по причине безопасности это делать не рекомендуют. Выход есть kaniko.
Доп материалы к ролику t.me/worlditec...
ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?
★ Станьте спонсором канала / @pavlenkoat
★ BITCOIN: 3DkeRMFu4jsZCvRj8Bxn8iQCkgxfeVaxg8
★ Boosty (подписка донаты) boosty.to/pavl...
★ Яндекс.Деньги: money.yandex.r...
★ www.donational...
★ www.tinkoff.ru...
КОНТАКТЫ:
✦ Канал в TELEGRAM: t.me/worlditech (worlditech)
✦ DevOps/SRE чат t.me/devopssre
✦ Чат для Сисадминов и эникеев t.me/sys_hell
✦ Linux чат в TELEGRAM: t.me/linux_wit
✦ Группа в VK: worlditech
✦ INSTAGRAM: / pavlenko.at
✦ DISCORD: / discord

Опубликовано:

 

8 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 52   
@user-er9ev7vf1h
@user-er9ev7vf1h 2 года назад
Нельзя просто так взять и начать использовать Kaniko 😉 Важно замечание! Образ Kaniko собран на минималках и поэтому там внутри при сборке других образов в докерфайле нельзя будет использовать никакие системные команды. Не то что какой-нибудь apt, но даже обычный cp не сработает, потому что там (сюрприз-сюрприз) отсутствует шелл 😁 Вопрос решается очень просто. Нужно использовать executor не с тэгом latest, а с тэгом debug. Он весит сильно больше, но в него включена полноценная ОС со всеми прибамбасами kaniko-project/executor:debug Ну и ещё, там нет bash/sh, там есть busybox и поэтому первой строкой нужно как-то так: RUN ["sh", "-c", "mkdir -p /bin && ln -s /busybox/busybox /bin/sh"]
@Alexander_Ezhov
@Alexander_Ezhov 2 года назад
Спасибо друг!
@PythonDevelopment
@PythonDevelopment 2 года назад
Не ожидал что ролик будет такой короткий) Ну по материалу отлично, спасибо)
@pavlenkoat
@pavlenkoat 2 года назад
С инструментом познакомил. Если кому надо больше посмотрит в документации))))
@Petyaumniy
@Petyaumniy 2 года назад
Ну ведь это же негодное решение. При такой сборке потеряется кешь слоев, а это означает что они будут пересобраны заново. И тут плохо даже не то, что это лишнее время или место. Плохо то что следующий собраный образ соберется с версиями базовых компонентов которые изменились. (Да, все фиксируют версии модулей и собираемых библиотек, но базовые системные пакеты не фиксируют практически никто). Таким образом может появиться ошибка там где её не ожидают увидеть, и будут долго искать и исправлять пытаясь сопоставить с текущими никак на неё не влияющими изменениями. Качественное решение должно подъехать в ближайшие месяцы, когда допилят сборку через buildah в werf. А сейчас приходится посторинке собирать контейнеры верфом в dind, благо первый никогда не пересобирает слои (подгружает с регистри) если их digest по информации из гита не изменился. Кстати по пути, очень рекомендую эту утилиту. Я покрываю ей все жизненые циклы ПО во всех окружениях: от сборки, деплоя, автотестов, кнопочек в CI (позапускать какие-нибудь бизнес таски) и удаления ПО.
@pavlenkoat
@pavlenkoat 2 года назад
В канико есть на это решение, но я его докопал после того как сделал ролик. Я просто на отдыхе не брал с собой микрофон.
@user-si1bz4tf9d
@user-si1bz4tf9d 2 года назад
Что за утилиту рекомендуете так и не понял. И подскажите как решили вопрос с кешем слоев, у меня почему-то не подтягивается с гатлаба
@user-si1bz4tf9d
@user-si1bz4tf9d 2 года назад
@@pavlenkoat можете поделится решеним ?
@denislushchinov3585
@denislushchinov3585 3 месяца назад
Очень смешно рассказываешь. Спасибо!
@kst9326
@kst9326 2 года назад
Уже на 0:35 отлично раскрыто всё об использовании контейнеров.
@pavlenkoat
@pavlenkoat 2 года назад
Это да
@alexeykuznetsov5436
@alexeykuznetsov5436 2 года назад
@@pavlenkoat сами готовите сценарий, картинки, монтируете?
@pavlenkoat
@pavlenkoat 2 года назад
@@alexeykuznetsov5436 да всё сам. Хочется часть делегировать, но пока не зарабатываю столько
@miquelgorod7939
@miquelgorod7939 2 года назад
Почему вы комиком не стали? Ведь реально талант на лицо)) Да и денег комики больше получают))
@pavlenkoat
@pavlenkoat 2 года назад
Юмор это тяжело тем более совмещать с работой.
@sirojiddingroup
@sirojiddingroup 5 месяцев назад
привет, ваша информация очень хорошая, она мне очень помогла, если возможно, можете ли вы показать проект микросервиса от cicd и запустить его в докере
@fairmentat
@fairmentat Год назад
Ахахаха, отличное начало! Спасибо!
@Porodeus
@Porodeus 2 года назад
Спасибо, принял. Пора отказываться от докер ин докер
@xm4dn355x
@xm4dn355x 2 года назад
Крутой ролик)) спасибо за инфу))
@pavlenkoat
@pavlenkoat 2 года назад
Пожалуйста
@Narajanah
@Narajanah 9 месяцев назад
коммент в поддержку✊
@MN-mi6eo
@MN-mi6eo 2 года назад
можно ещё подключать сокет локального докера как volume к контейнерам
@Murrengan
@Murrengan 2 года назад
Спасибо, взял =)
@pavlenkoat
@pavlenkoat 2 года назад
Пожалуйста
@alexandervrublevskiy1052
@alexandervrublevskiy1052 2 года назад
А что не так с билдом образов контейнеров на раннере с экзекутором шелл? Или речь о случае, когда негде запустить такой раннер? И демон докера это виртуализация -- сильное утверждение)
@bashkirtsevich
@bashkirtsevich 2 года назад
Какой-нибудь хитрый вася напишет в скрипте ломание окружения пользователя и все.
@pavlenkoat
@pavlenkoat 2 года назад
В больших компаниях отдел который поддерживает гитлаб не хочет отвечать за скрипты, которые может запустить.
@samrybkin9184
@samrybkin9184 2 года назад
Привет как твои успехи в go изучаешь ли? Будет ли по нему контент? Кстати интересно твое мнение лично go или python и почему?
@pavlenkoat
@pavlenkoat 2 года назад
Я на новую работу устроился пока не до изучения. Но я переодически правлю код на го. Как изучу Кафку буду его дальше изучать.
@pavlenkoat
@pavlenkoat 2 года назад
По поводу сравнения уже могу сделать ролик
@samrybkin9184
@samrybkin9184 2 года назад
@@pavlenkoat Было бы очень интересно узнать твоё мнение по поводу их сравнения!
@antonpavlenko5890
@antonpavlenko5890 2 года назад
@@samrybkin9184 хорошо как будет окно сделаю
@samrybkin9184
@samrybkin9184 2 года назад
@@antonpavlenko5890 привет также хотел тебя спросить, а как ты начинал изучать go, какие ресурсы использовал? Или чисто официальную документацию почитал и вперёд что-то делать?
@beulitca
@beulitca Год назад
Ну, тут явно начинать надо с того, что за образ мы строим, образ для выполнения ранера? Сразу бросаться в написание минусов - это опрометчиво, это итак гуглиться.
@Noname-cl5vi
@Noname-cl5vi 2 года назад
наткнулся на ключ у base64 -w 0, заменяет tr
@redfox6179
@redfox6179 2 года назад
Антон, хелп, можешь помочь понять мне с гитлаб, точнее с СД, Мне не понятно например все что написано в пайплайне, ну кроме баш команд, К примеру stage, это для чего ? Допустим написал , это на что то влияет ? Есть ссылка на материал гдето объясняется , спасибо
@pavlenkoat
@pavlenkoat 2 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tE3u1LquFcg.html тут на простых примерах. А остальное я думаю в документации
@user-de7vk7gm7b
@user-de7vk7gm7b 2 года назад
А как теперь настроить деплой эттго контейнера в куб с хельм чартом?
@pavlenkoat
@pavlenkoat 2 года назад
От обычного способа не отличается.
@dsizmaylovo
@dsizmaylovo 2 года назад
"Докер - Докер демон - Виртуализация". Ну прям простите, но Вы, коллега, несёте чушь: между докером и виртуализацией нельзя ставить знак равенства. Либо вы слишком утрируете определения для аудитории, тем самым её дезинформируя, либо же Вы совсем не понимаете о чём рассказываете. Над финальной фразой про "всё просто" просто угарнул 🤣Вы, коллега, опять же рассказали про Kaniko, но не рассказали про особенности его работы, а именно тот папйплайн, что Вы показали в примере, будет собирать образы ну так в несколько раз медленнее, чем решение Docker in Docker, а именно из-за того что Kaniko не использует overlayfs. Для ускорения сборки у Kaniko имеются аргументы для кеширования слоёв в Docker Registry, что частично ускоряет сборку, но опять же далеко от показателей скорости сборки на DIND, но да же про них Вы не рассказали. Не осветив в видео данный нюанс работы Kaniko, но сильно его рекламируя, в очередной раз подтверждаете тот факт, что Вы рассказываете о вещах, о которых сами не понимаете, как они работают под капотом.
@user-oq5su6nn3v
@user-oq5su6nn3v Год назад
Вот объясните мне, дураку. Не ужели в макитошах запрещено менять имя хоста, а точнее убирать коммерческое наименование аппарата. Или это что то другое?... Вот на всех видео где пользуются маки всегда полное наименование аппарата даже если это занимает пол, а а самый шик это в конце дописать к имени узла имя или фамилию. Что это?
@iwanmikhajlov8414
@iwanmikhajlov8414 6 месяцев назад
Anton's-MacBook прописывается в имя хоста на этапе создания первой учётки. Запросто меняется на любое другое в настройках.
@user-vu2pt9wy2n
@user-vu2pt9wy2n 2 года назад
Мне вот только одно интересно, что за скрытая реклама про переезд в Европу, вы здесь пропагандой занимаетесь или все же просветительской деятельностью?
@user-vu2pt9wy2n
@user-vu2pt9wy2n 2 года назад
@@elanhelosdeblanco8476 У тебя какой то промытое сознание чувак, ты мыслишь категориями - "трава зеленее и погода теплее там где тебя сейчас нет" это очень тупиковая ветвь развития. Словно на родине нет возможности нормально зарабатывать и жить счастливо, ещё как есть чувак)
@pavlenkoat
@pavlenkoat 2 года назад
это не пропаганда, а шутка. Я сам люблю Россию и узжать не хочу
@iskanderchanyshev722
@iskanderchanyshev722 2 года назад
пздц тебя задело это однако )
@user-si1bz4tf9d
@user-si1bz4tf9d 2 года назад
@@user-vu2pt9wy2n вот я жил себе в 2013, получал свои 100к, что на то время было примерно 3000 баксов, а потом внезапно мои деньги превратилась в 1500 баксов, и с чего это вдруг ?
@user-vu2pt9wy2n
@user-vu2pt9wy2n 2 года назад
@@user-si1bz4tf9d ты пытаешься связать два явления, которые не связаны никак. Если ты намекаешь про курс доллара в 13ом году, до обвала. Так я тебе могу сказать, что у нас ЦБ независимый и подчинен ФРС начиная с 91 года, когда страна попала под внешнее управление. С приходом Путина идет национально освободительная борьба, чтобы выйти из под внешнего управления. Как бы, мужик, во первых нужно историю знать чтобы вот такую хрень не писать в комментариях. А во вторых, следует мыслить шире чем ты, не только в меру своей зашоренности, А ещё учитывать другие факторы. И да мир, не сахарный, и то что ты вдруг стал зарабатывать меньше, я тебе сочувствую.
Далее
CI CD наглядные примеры
22:08
Просмотров 285 тыс.
GitLab CI/CD Runner простой проект
19:08
Docker за 20 минут
21:42
Просмотров 75 тыс.