Что же такое GitOps? Его свойства и недостатки

  Рет қаралды 19,060

Флант

Флант

Күн бұрын

Пікірлер: 97
@sergeydev8273
@sergeydev8273 Жыл бұрын
Флант конечно лютые!) Качество материала и подачи просто пушка!
@agvaresss
@agvaresss 4 жыл бұрын
не привычно слышать Дмитрия, говорящего в таком темпе. )
@dmitriysolodukha9646
@dmitriysolodukha9646 4 жыл бұрын
Можно поставить скорость 1.5х :-D Так привычней
@elcolex777
@elcolex777 4 жыл бұрын
Закончились запасы адреналин раш
@orbuzegi
@orbuzegi 4 жыл бұрын
@@dmitriysolodukha9646 так и сделал, лол :)
@АртемийОкулов
@АртемийОкулов 4 жыл бұрын
а для тех кто слушал его ранее в 1.5х приходится ставить 2х, чтоб было привычно) Но Дмитрий как всегда, объясняет очень доступно, понятно и интересно, на любой скорости)
@adammartin7477
@adammartin7477 3 жыл бұрын
Кокаин - плохо
@Andy-qg6mm
@Andy-qg6mm 3 жыл бұрын
Отключаем в ГитОпс операторе синхронизацию с докер реджистри (т.е. он будет мониторить только гит) и избавляемся от всех описанных недостатков этого подхода. Кроме этого ГитОпс удобно использовать не только для выкатки собственных приложений в кластер, но и для управления этим кластером в целом - роли, квоты, сопуствующие тулы и т.д. Также такой подход значительно упрощает Disaster Recovery который по сути сводится к созданию нового кластера, установке мастер-ключа для расшифровки секретов (если используется что-то типа sealed-secrets) и накатке гитопс оператора который восстановит состояние до целевого.
@владимирсенцов-р1ю
@владимирсенцов-р1ю 9 ай бұрын
То есть в DevOps репо просто тег образа проставляем например? Можно даже скрипт написать, чтобы автоматически это делал когда собрался новый образ. Можно это отдельным таском сделать. Тут уже как душа пожелает. Тут только одна проблема - данные и их структура. Часто у нас есть некие операции DDL которые нельзя взять и откатить просто сменив тег в репо. Ну не описывается у нас таблица через манифест к сожалению.
@AndersonSilva-dg4mg
@AndersonSilva-dg4mg 4 жыл бұрын
Дмитрий, спасибо за бесплатную инфу, активно смотрю и читаю ваши материалы. Сейчас буду смотреть. Вы крутые!
@Flant
@Flant 4 жыл бұрын
И вам спасибо!
@MrMobilesfinks
@MrMobilesfinks 4 жыл бұрын
Дмитрий, отличный взгляд. Спасибо, что делишься своей философией и видением. Очень ценю твои выступления они позволяют увидеть то на что обычно замылен взгляд в повседневной работе.
@miky7miky
@miky7miky 4 жыл бұрын
Отличное видео! Теперь не хватает несколько видео-воркшопов, как Вы показываете решение вышеупомянутых вызовов на практике с помощью Werf.
@andreylagunov2638
@andreylagunov2638 4 жыл бұрын
про стену, супер. Очень точно подмечено. devops про прозрачность и отсутсвие препятствий у разработчиков. А в реальности часто два репозитория и да, разделение :) CIops как единая система вместо gitops, мне очень близко. Интеграция и единая система. Единая система должна быть проста и прозрачна.
@egorkomarov4719
@egorkomarov4719 4 жыл бұрын
Качество картинки и звука - топ. Продолжаю смотреть сам видос
@slip3101
@slip3101 4 жыл бұрын
Здравствуйте! Приятно слушать, все по делу. Материал сильно помог в выборе и осознание того с чем имею дело. Спасибо за видео.
@_piiraa
@_piiraa 4 жыл бұрын
Спасибо из Латвии, хорошая информация
@Mausspb
@Mausspb 4 жыл бұрын
Спасибо за подробный обзор подхода GitOps в особенности за разбор ключевых моментов. Очень удобно, что есть и видео и статья на хабре ! По поводу последнего вопроса, есть ощущение, что CI трансформируется во что-то более стандартизированное и нативное(в этом контексте мне нравится движение gitlab-ci). P.S.: Так же непривычно слышать Дмитрия в таком ритме )
@kirillmorgachev1752
@kirillmorgachev1752 2 жыл бұрын
Дмитрий, спасибо! Классно получились вставки. Очень интересно и нескучно!
@ШураАрхипов-м9ц
@ШураАрхипов-м9ц Жыл бұрын
Ты крутой тип. Спасибо что делаешь такое
@y6vmeq
@y6vmeq 4 жыл бұрын
Обожаю флант🔥🔥🔥 отлично все рассказали. Только начал присматриваться к werf, нужно изучить поближе
@fabasoad
@fabasoad 3 жыл бұрын
Очень структурированно и понятно. Спасибо!
@Vovannumberonee
@Vovannumberonee 2 жыл бұрын
Блин чувак, говори как на конфе, там быстро и от души :) За материал спасибо 🙏
@kimrgrey
@kimrgrey 4 жыл бұрын
Ребята, вы делаете очень крутую работу, генерируя контент на русском языке. Благодаря вам, в частности, наш родной язык не умирает для IT. Считаю, это важно. Поэтому переводы - это збс, но, ИМХО, можно бы обойтись субтитрами, а не делать вдвое большую работу ради перевода. Хотя, возможно, коммерчески это и круче, потому что потенциально может привести клиентов, я хз по мотивации. Как бы то ни было, спасибо за ваш труд!
@Flant
@Flant 4 жыл бұрын
Спасибо большое за мотивирующие слова! ;-)
@Holms
@Holms Жыл бұрын
мне как из англии важно доносить нашим динозаврам суть через такие видосы так как не всегда у меня получается защитить ту или иную технологию для конкретных целей. я как бы не нанимался быть учителем )) так что мне видосы на инглишы нужны.
@Noable
@Noable 4 жыл бұрын
Спасибо за материал, классная картинка, звук, подача
@rjeka
@rjeka 4 жыл бұрын
Спасибо за интереный обзор. В данный момент переходим на гиопс, сейчас как раз процесы обкатаны на дев стендах и все движется к тому что бы уйти в прод. Согласен со многим из видео, кроме усложнения. Вы в ролике рассмотрели модель CI\CD только приложения не затрагивая инфраструктцрную часть стендов. И не рассмотрели плюсы гитопс. Например мне подход гитопс с использованием argocd позволил вносить изменения во множество стендов одним коммитом в инфраструктурный репозиторий с хелм чартами. Описать все стенды проекта в одном репозитории фактически 2 yaml файлами. Более удобно и гибко создавать динамические окружения для разработчиков. Да недостатки есть, как у любого инструмента, но я пока вижу плюсов больше чем минусов.
@ОлександрКотов-э3б
@ОлександрКотов-э3б 4 жыл бұрын
В FluxCD деплой новых имеджей работает так - когда появился новый имедж в реджистри FluxCD делает комит с новый образом в репу с манифестами, и только после этого синкает состояние репы с кубом, то есть всегда то что в репе соотвсвует тому что в кубе, нет двух независимсых источников правды - гита и реджистри. Но даже такое поведение можно отключить что бы FluxCD не реагировал на изменения в реджистри. В таком случае тег имиджа нужно обновлять руками или через CI.
@davidmagton
@davidmagton 4 жыл бұрын
Привет. Спасибо за комент! Все так. Более того. Если я правильно помню, то в argo так вообще нельзя. И я бы сказал, что это главный косяк видео. Я должен был четко это обозначить, но не сделал. Плохо. Очень расстраиваюсь по этому поводу. Сейчас получается, что многие натыкаются на эту неточность и смотрят видео через призму "Столяров тут что-то гонит". Или не смотрят дальше вообще... Тот факт, что теги фиксированы в гите - никак не меняет ситуацию. Все поинты видео остаются валидны. Состояние registry, к сожалению, не определяется одним тегом.
@ОлександрКотов-э3б
@ОлександрКотов-э3б 4 жыл бұрын
@@davidmagton Дмитрий, в любом случае видео интересное, с удовольствием посмотрел, очень доступно обьясняете концептуальные вещи, вообще люблю смотреть Ваши видео, успехов Вам !
@nickb5959
@nickb5959 4 жыл бұрын
Спасибо за видос. Почаще выпускайте в это нелегкое время)) расскажите пожалуйста про правильную с вашей точки зрения стратегию тегировагия образов
@Flant
@Flant 4 жыл бұрын
Спасибо за отзыв и пожелания! По поводу стратегии тегирования пока можно почитать эту нашу статью - в ней рассказано, что мы выбрали для werf и почему к этому пришли: habr.com/ru/company/flant/blog/495112/
@MaximVasilets
@MaximVasilets 3 жыл бұрын
Спасибо за отличное видео. Для себя искал ответ на очень важный для меня вопрос - как скрыть важные секреты в CI/CD процессах. На самом деле очень легко, специально или случайно, такие секреты как AWS или Kubernetes ключи вывести в консоль или еще как-то сделать доступными внутри компании, или еще хуже для общего доступа. Я думал что GitOps поможет мне в этом, но видимо все не так просто.
@Wzooff
@Wzooff 3 жыл бұрын
При правильном предоставлении прав ci воркерам, у вас не будут появляться секреты в логах. Например воркер использует irsa для доступа к ecr, если говорить и паблише образов. Так же все нынешние ci тулы позволяют определить секреты в энв переменных и они будут маскироваться. Так что надо читать мануалы по вашей си системе.
@oleksandrholovko2794
@oleksandrholovko2794 4 жыл бұрын
Непонятно почему у меня в CI-опс билд будет недерминирован, если у меня в гитлаб-СИ пайплайн запускается единожды и создает докер-имедж с тегом коммита. второй раз никто руками не будет запускать этот пайплайн. на моменте паблиша просто генерируем тег который коммитим по апи в репо на этот коммит и клеим на тег уже собранного докера. Вроде как детерминизм остается нерушимым. Хелм чарт так же хранится в аппликейшн гит-репе. Все эти стратегии билда и тегирования отчасти навеяны вашими рекомендациями из конференций, но увы там вы конкретных примеров не приводили и пришлось на колене додумать самому. Вобщем у меня было стойкое ощущение что весь мой пайплайн очень близок к гитопс (git - single source of truth). Единственным нарушением правил - является хранение продакшн конфигов в отдельной репе и на момент деплоя - они апплаятся к уже собранному хелм-чарту через кастомный values_prod.yaml. Спасибо за структурированную подачу и разбор тонкостей, которые нужно учесть. Как всегда вы делитесь хорошим опытом и расширяете кругозор!
@batazor
@batazor 4 жыл бұрын
Согласен, единственно что вносит смуты это различные переменные окружения, можно через blackbox шифровать и хранить в той же репе для каждого окружения, но это не для всех кейсов подходит P. S. Хотя можно и во внешнем хранить и подключать как саб-модуль
@zimmermann512
@zimmermann512 4 жыл бұрын
Билд недетерминирован от того, что два раза запущенная сборка образа из одного коммита даст потенциально бинарно разные образы, разве нет (представим, что необходимость второй раз запустить пайплайн возникла) ?
@jewgenijmoldawski3306
@jewgenijmoldawski3306 4 жыл бұрын
@@zimmermann512 пересборка по одному и тому же commit это anti-pattern в ci/cd. Ну да, бывает надо, но лучше избегать.
@seedteam7646
@seedteam7646 3 жыл бұрын
Круто на английском! не парься по поводу акцента, очень круто!!!!
@ashimov1970
@ashimov1970 3 жыл бұрын
В свете технологии билдпаков + недавно анонсированного Гуглом Config Sync насколько актуален Werf?
@Flant
@Flant 3 жыл бұрын
Google Sync ограничен cloud-платформой Google, а werf - универсальная утилита (для деплоя в условно любой Kubernetes). GS - это по сути такой же pull-оператор, как и другие решения, о минусах коих идет речь в этой лекции. Buildpacks - интересный проект; сравнение werf с ним у нас стоит в плане статей. Однако он только про сборку. В свою очередь Google Sync - только про деплой. А werf - и про сборку, и про деплой. Эта утилита про «склеивание» разных процессов CI/CD в одном (унифицированном) месте. И она дает возможность использовать разные инструменты (предпочтительную CI-систему, Kubernetes любого вендора…) для своих задач.
@pgdnpgdn23
@pgdnpgdn23 3 жыл бұрын
Красиво. Спасибо.
@dmitriysolodukha9646
@dmitriysolodukha9646 4 жыл бұрын
Вот бы еще посмотреть видос Argo CD vs werf
@ashimov1970
@ashimov1970 3 жыл бұрын
тема! хотя при беглом знакомстве с документацией обоих проектов у Арго тема приведения реестра докеров к желаемому состоянию не раскрыта
@pavelsazon2523
@pavelsazon2523 2 жыл бұрын
Крутое видео!
@spiritcxz
@spiritcxz 8 ай бұрын
смешно 😄 1. что мешает держать тестовый и прод в разных кластерах или в разных неймспейсах. 2. так же допустим для теста в gitops репе можно создать тестовую и продовую папку для манифестов. 3. еще ни разу не было проблем с деплоем. 4. выпрямите руки и делайте правильное тегирование и проблем не будет. уже как неделю юзаю flux и проблем не знаю
@michaelchudinov
@michaelchudinov 4 жыл бұрын
С асинхронностью между репой кода, образом докера и репой кластера боремся просто - деплоим кластер и приложение в кластер вручную, когда нужно.
@МаксимГайдай-ъ5ж
@МаксимГайдай-ъ5ж 3 жыл бұрын
тестировалась ли werf на совместимость с OpenShift? OKD4?
@Flant
@Flant 3 жыл бұрын
Не делали таких тестов.
@МаксимГайдай-ъ5ж
@МаксимГайдай-ъ5ж 3 жыл бұрын
@@Flant в данный момент разворачиваем тестовый кластер OKD4. Скорее всего попробуем и werf. По результатам могу поделиться впечатлением
@Flant
@Flant 3 жыл бұрын
@@МаксимГайдай-ъ5ж будем рады! Если возникнут проблемы - наши разработчики на связи в t.me/werf_ru
@cloudevops
@cloudevops 3 жыл бұрын
Спасибо
@dreamworm8
@dreamworm8 3 жыл бұрын
Звук отличный! Как писали?
@ashimov1970
@ashimov1970 3 жыл бұрын
Дмитрий, что вы скажете относительно проектов TEKTON и KNative в сравнении с WERF?
@Flant
@Flant 3 жыл бұрын
Это продукты разного плана. Tekton - тоже для CI/CD, но той части, которая не реализуется werf, а интегрируется с werf (как, например, можно использовать GitLab CI или GitHub Actions с werf). Knative - решение из другой плоскости: сравнивать совсем странно.
@ashimov1970
@ashimov1970 3 жыл бұрын
@@Flant спасибо
@dmitriymatveev4558
@dmitriymatveev4558 3 жыл бұрын
Хорошее видео.
@MrBartonello
@MrBartonello 3 жыл бұрын
Актуальный и интересный материал, спасибо! А еще - отличная картинка. Подскажите, пожалуйста, модель камеры )
@davidmagton
@davidmagton 3 жыл бұрын
Sony a7iii
@BeloRing
@BeloRing 4 жыл бұрын
Круто! Спасибо
@владимирсенцов-р1ю
@владимирсенцов-р1ю 9 ай бұрын
Не всегда можно назад состояние откатить. Например прошла миграция в базу и убрали поля из таблицы. В модели они при откате появятся 😢.
@alexandersmirnov4274
@alexandersmirnov4274 2 жыл бұрын
что значит hyperconvergence?
@Flant
@Flant 2 жыл бұрын
Про гиперконвергентность у нас была статья - обзор Harvester: habr.com/ru/company/flant/blog/665066/
@СергейПтушкин-к5ы
@СергейПтушкин-к5ы 4 жыл бұрын
Отличное видео)))
@ParanoidAndroid777
@ParanoidAndroid777 4 жыл бұрын
Спасибо за информацию, ждем вас в трендах) P.S. сейчас думаю писать диплом по k8s, но что конкретно взять, чтобы было актуально, пока не определился. Интересует тема логирования, например чтобы по запросу, поступившему на ingress, можно было проследить путь по кластеру и посмотреть логи в каждом сервисе, участвовавшем в оброботке, вплоть до запроса в бд, если бд у нас внутри кубера. На сколько эта тема может быть актуальной? Можите посоветовать еще какие то темы?
@NikolaiTrukhanov
@NikolaiTrukhanov 4 жыл бұрын
Отследить запрос по цепочке, это tracing называется скорее, а не логгирование.
@ParanoidAndroid777
@ParanoidAndroid777 4 жыл бұрын
@@NikolaiTrukhanov а как tracing связать с логами? например такая ситауция: клиент отправил запрос, он как то прошел по нашему кластеру, и вернул клиенту 500 ошибку. Как мы можем понять, в каком сервисе была ошибка и какая именно?
@Mausspb
@Mausspb 4 жыл бұрын
@@ParanoidAndroid777 вот например статья на эту тему. medium.com/opentracing/opentracing-on-kubernetes-get-yer-tracing-for-free-7a69cca03c8a Выше верно написали про tracing. Собственно каждое приложение имеет свой ворклоад/лейблы, по этим ключам видно от какого приложения какие логи приходят, в системах сбора логов можно фильтровать по этим ключам (а также по traceID).
@ParanoidAndroid777
@ParanoidAndroid777 4 жыл бұрын
@@Mausspb Спасибо за информацию, обязательно почитаю!
@nikitaproit
@nikitaproit 4 жыл бұрын
Скажу так: раз вы не в магистратуре, любая тема подойдет, а лучше просто устройтесь на работу, сделайте какую-нибудь таску на пару часов и вот диплом готов. Не тратьте силы на то, чтобы в вашем дипломе было что-то адекватное, его увидят 2 человека включая вас, это просто очередной документ который отправится в мусорное ведро как и все работы которые вы сдаете (диплом конечно хранят, но это чисто для галочки). Вы конечно можете заняться этим для себя, но тогда вас будет мучать то, что вашу работу выкинули в мусорное ведро.
@vskovzgird
@vskovzgird 3 жыл бұрын
Просто браво.
@f1baf1banac14
@f1baf1banac14 4 жыл бұрын
COOOOOLLest video ever !
@YouSysAdmin
@YouSysAdmin 4 жыл бұрын
Дядько, прекращай щёлкать пальцами ;)
@МаксимГайдай-ъ5ж
@МаксимГайдай-ъ5ж 3 жыл бұрын
он так кластеры разворачивает
@sergey2151
@sergey2151 5 ай бұрын
Материал подается хорошо, для введения в тему - самое то. Только докладчик слишком много жестикулирует, ОЧЕНЬ отвлекает от просмотра картинки. Если не получается контролировать руки, то можно просто "обрезать" человека по плечи или вообще убрать из кадра бОльшую часть времени.
@AlexK-df4ne
@AlexK-df4ne 2 жыл бұрын
Обратите внимание какого труда ему стоит говорить медленно
@GreyDjin
@GreyDjin 4 жыл бұрын
слишком много баса в звуке голоса, нужно было срезать немного
@MrPetryks
@MrPetryks 4 жыл бұрын
Без специфектов было бы не так увлекательно :)
@КонстантинБочкарев-к2ь
@КонстантинБочкарев-к2ь 4 жыл бұрын
А Навальный то делом занялся!
@defend00r
@defend00r 3 жыл бұрын
Ну и артист
@МаксимМакаров-к8б
@МаксимМакаров-к8б 3 жыл бұрын
Как жаль что сложные видео смотрит так мало человек. Как жаль что это приводит к исчезновению продолжений... :-(
@mootal2202
@mootal2202 3 жыл бұрын
Специфическая тема потому что. Это нормально.
@uk267i
@uk267i 2 жыл бұрын
С детерминизмом вы погорячились. Мол состояние K8s зависит не только от Git. Чувак, Dockerfile же лежит в Git и от этого полностью зависит состояния Docker образа, а Registry это всего лишь доставка этого образа, собранного и хранящегося в Git... Остальные выводы примерно так же за уши притянуты. Не понимаю, зачем этот ролик? Просто вводить в заблуждение начинающих инженеров...
@Flant
@Flant 2 жыл бұрын
Dockerfile'а в Git недостаточно для того, чтобы не зависеть полностью. Только на днях отвечали на похожий вопрос в комментариях на Хабре: habr.com/ru/company/flant/blog/526102/comments/#comment_24754288
@uk267i
@uk267i 2 жыл бұрын
@@Flant полной независимости в природе вообще не существует, всё взаимосвязано. Имеет смысл говорить про достаточный и необходимый контроль над собственным приложением, архитектурой, инфраструктурой, что и дает Dockerfile находящийся в Git. Если этот контроль в системе не нужен, то конкретный Docker образ вполне можно взять из внешнего источника, что только увеличивает гипкость GitOps подхода. Вы же, зачем-то, пытаетесь сказать, что GitOps какой-то не совсем правильный. У меня только один вывод напрашивается, вы или не умеете его готовить и/или намеренно искажаете суть пытаясь набить себе очки и добавить важности. Типа GitOps не правильный, а вот Флант настоящий огурец ))
@Flant
@Flant 2 жыл бұрын
​@@uk267i GitOps позиционируют именно как гарантию того, что результат будет immutable (см. пункт 2 на opengitops.dev/). Уже не только мы заметили проблемы и говорим* о них - вот пример совсем свежей статьи по теме: thenewstack.io/does-the-gitops-emperor-have-no-clothes/ * В конце концов, мы не просто говорим «для красного словца» о каком-то недостижимом идеале. Мы решаем проблемы на практике и делимся этими мыслями, своим опытом.
@uk267i
@uk267i 2 жыл бұрын
@@Flant это понятно, что таких замечательных, внимательных и очень важных людей как вы много, а вот инженеров на всех (по прежнему) не хватает. Но я не буду спорить, если вам выгоднее и приятнее считать, что GitOps не достаточно хорош, считайте на здоровье. Когда моя маленькая дочь в первый раз жарила яичницу и успешно её спалила, она тоже решила, что виноваты проклятые куры которые несут не правильные яйца. Кстати, целая группа в садике с ней согласилась и её выводы подтвердила )))
@ProtossZealotDaol
@ProtossZealotDaol 3 жыл бұрын
Столяров специалист наверное хороший, но слово своё НЕ всегда держит. Для мужика - не очень.
@НиколайМакаров-э8э
@НиколайМакаров-э8э 3 жыл бұрын
чем то похоже для доклад навального
@АлексейЛ-ч6р
@АлексейЛ-ч6р 2 жыл бұрын
CI-Ops -NORM, GitOps - GOVNO
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 71 МЛН
Haunted House 😰😨 LeoNata family #shorts
00:37
LeoNata Family
Рет қаралды 14 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 37 МЛН
Kubernetes Crash Course for Absolute Beginners [NEW]
1:12:04
TechWorld with Nana
Рет қаралды 2,8 МЛН
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 71 МЛН