#argocd #devops #k8s
Если помог, поддержите Лайком или парой баксов, хотябы Канадских :) www.paypal.me/DenisAstahov
00:00 - Вступление
00:17 - Что мы изучим на этом уроке
01:00 - Что такое GitOps и ArgoCD
01:47 - CI/CD Pipeline в k8s используя ArgoCD
05:46 - Вариант N1 установки ArgoCD для Multiply Clusters
07:49 - Вариант N2 установки ArgoCD для Multiply Clusters
09:38 - Что такое ArgoCD Application
11:36 - Примеры манифеста для ArgoCD Application
15:50 - Стратегия ArgoCD App of Apps
17:37 - Пример центральной Git Repo для ArgoCD
18:18 - ДЕМО как работает ArgoCD
22:45 - ArgoCD Project и ApplicationSet
24:48 - Полезные ссылки по ArgoCD
Это просто жемчужина! У меня лоб болит от того, что я так часто брови поднимал пока смотрел😲. А когда еще в конце услышал, что в следующем видео это еще и с Терраформом будет, то вообще под стол сполз. 😮🚑 Денис, я понимаю что на свете несколько миллиардов людей, но знай что среди них найдутся сотни или даже тысячи, которых ты вдохновил своим талантом учителя и ментора. Хочу от чистого сердца поблагодарить тебя за все что ты делашь, и пожелать тебе радости и мира. Именно твои видео заставили меня пойти учиться в Универ, окончить его и найти работу которая мне по душе! Спасибо тебе!🤝
Спасибо!
Хочу выразить благодарность за предоставленный материал. А также отметить что у тебя хорошо получается объяснять сложные вещи простым языком.
Спасибо!
Приятно, когда тебе, как школьнику, на пальцах объясняют все подробно, но при этом максимально просто :) Спасибо
Классное видео. Спасибо. Идея для новых видео - мониторинг.
Вадим, спасибо вам большое. Обожаю все ваши видео!!! Я стал DevOps-м и работаю на этой роли почти два года благодаря вашим урокам!!!
лучший канал по девопсу в рускоязычном пространстве , ansible, Jenkins , Python много чему отсюда учился, спасибо! ps добавлю что подача материала крутая , как будто опытный кореш по работе сидит рядом и на пальцах объясняет , что и как настраивать)), простым языком
Шикарственно! 26 минут и уже примерно ясно где, когда и для чего применять этот инструмент. Детали уже можно самостоятельно изучить. Спасибо за очереную удочку!
Детали и готовое решение будут на следующей уроке
Благодаря Денису новые и пугающие инструменты становятся простыми и понятными. Спасибо!!!❤🎉
Ты лучше всех объясняешь! Спс за твою работу.
Контент просто топ! Я в восторге с этих уроков! 💎 Вселенский респект 🤟
Ура блин, разлозжил всё по полочкам, доки читал и не понимал что и куда. А тут толково рассказал, спасибо.
Круто, как раз повод начать изучать ArgoCD
Мое почтение, 0 воды, 100% конкретики.
Давно ждём
Давно ждал эту тему!!!! Супер актуальная сейчас для меня. Больше спасибо за четкие разъяснения и легкую подачу информации!!
Хорошая тема. Следом хорошо б про Flux CD . Отличия, нюансы использования и т.д.
Поддерживаю, flux cd реально било б классно про него очень мало материалов
@@user-ro5vg9sf1o kzhead.info/sun/i5mQj5tobV-ghpE/bejne.html&ab_channel=ThatDevOpsGuy
ну есть нормальный туториал на официальном сайте@@user-ro5vg9sf1o
Очень круто спасибо! обязательно продолжайте добавляйте другие уроки 🙏
Большое спасибо за труд!
С нетерпением жду!
Когда то я по второй части (когда она вышла) все сделал, особо не вникая и понимая, но работало :) Все эти месяца я изучал кубернетес. Сейчас я смотрю первую, потому что хочу научиться деплоить своё приложение еще и через argocd. И самое забавное, что я все понимаю :) Мне самому удивительно. Я еще по ходу ролика думаю, где и как я прикручу в своих пайплайнах нужные шаги.
Денис, супер! Спасибо за материал.
Привет , четко, лаконично, весело и просто , двумя словами - это уровень :))
Отличное видео, спасибо! Ждем продолжения обозревания темы GitOps 💻🐒
Круто! Ждем продолжения!
очень воодушевлён и приятно удивлён! ещё раз спасибо Вам, за то, что вы делаете)))
Denis spasibo za vse uroki!!! ArgoCD klass jdem vtoroi chasti
Молоток, спасибо!
Отличный ролик, спасибо!
Автоматически лайк) Спасибо!!!
Спасибо тебе, добрый человек! Классная работа!
этот добрый человек, зачем-то удаляет комменты с замечаниями к видео, причем замечанием вполне по делу и без какого либо злого подтекста. про ApplicationSet, вместо предложенного тут App of Apps.
Единственные коменты которые я удаляю это оскорбления и тут же баню. всё. Любая критика и другие мнения тут приветсвуются!
Спасибо как всегда супер!
респекту нет предела, чотинько все объяснил
спасибо, офигенный гайд. просто и понятно
Спасибо за урок, очень жду интеграцию через терраформ
Ждем 2-й урок
Отличная тема
О, топ гайд подъехал
спасибо за урок
Супер видео! Большое спасибо) Хотелось бы увидеть на практике, как с помощью argo cd делать динамические окружения для fuature-веток в git репозитории приложения, которые самоуничтожаются после мержа в develop
Супер!! Спасибо!!
Дэн лучший
вот это тема! 🔥
Спасибо за урок . Очень интересно было послушать про Argo CD . Планируется ли и по Ранчеру какой нибудь урок?
Хех это прям мой стек с работы.
That is just 🤩
АААА голова кипит)))))
Thanks!
Спасибо большое за поддержку!
урок очень интересный и топ подача, но сама суть ArgoCD и зачем он нужен я не понял. зачем мне ждать до 3х минут пока ArgoCD решит сделать kubectl apply, когда в git репозитории появится новый комит, если я могу просто в конце пайплайна на тот же самый комит, в например GitHub Actions, тригернуть тот же самый kubectl apply и уже кубер мне всё задеплоит и тогда нет лишнего компонента (и сложность всей системы не увеличивается) единственное, что я увидел, что ArgoCD может предложить - это возможность Drift detection-а и передеплоя если по какой-то причине часть состояния кластера были изменена P.S. второй урок ещё не смотрел - может там больше раскроются преимущества ArgoCD
💥💥💥💥💥
22:26 можно видеть у деплоя и RS "rev.2", также там рядышком висит RS "rev.1" - очень наглядно
По умолчанию хранится 10 последниз версий для быстрого rollback, только AutoSync надо отключить
Круто! Единственный нюанс что сколько лет прошло а argo похоже все еще не умеет сам патчить таги образов😅 FluxCD в этом плане по круче но, на мой взгляд, на порядок сложнее.
Супер! Но не обязательно менять версию в docker tag в yaml файлах, можно создать тег, например, prod и менять ему target image в docker hub
А как ArgoCD узнает что в Docker Hub что-то поменялось?
@@ADV-IT есть bot image updater, который смотрит в dockerhub и потом автоматом создаёт PR, где меняет тэг образа в репе, и может его автоматом мёрджить, или слать нотификашку "нужному" персонажу.
Спасибо Денис за видео. Хотел спросить тебя использовал ли ты когда-нибудь prometheus в kubernetes? Если да может посоветуешь какие нить хорошие ресурсы по данной тематике?
Я не использовал сам, но видел что используют многие. Не могу посоветовать ничего тут, сорри, с ютубе вижу куча видео на эту тему.
@@ADV-IT понял спасибо за ответ, да видосы смотрел но все равно часто возникает много вопросов поэтому и интересовался
Привет, Денчик. А чего тему с Volumes пропустил? Пришлось самому разбираться!))) Может расскажешь за эту тему?
Я один, а тем много, всё не успею.
Спасибо большое за видео, очень жду второе. Не знаешь HCP Vault ? Хотелось бы по нему guide, в русскоязычном youtube вообще нет полноценного гайда по этому инструменту, а он очень годный.
Использовал только один раз, и то только устанавливал
@@ADV-IT Работаю в одной из крупных организаций в РФ, нам безы вообще запрещают хранить секреты не в HCP Vault + если это кубер то интеграции секретов из Vault в кубер
Ну это правильно в принципе
Денис, спасибо за видео, отличный инструмент) А может знаете, как можно api использовать? Иногда в рамках CI нужно остановить сервис полностью, либо пересоздать с нуля, но приходится каждый раз удалять аппликацию полностью и создавать заново
api кого?
@@ADV-IT API самого ArgoCD, доступно в /swagger-ui И, если пробовали Argo-CD Autopilot - тоже было бы круто рассказать!
Чтобы ArgoCD API начал работать, ArgoCD нужно сначало установить. Потом можешь использовать API, argo-cd.readthedocs.io/en/release-1.8/user-guide/commands/argocd_app_create/ Только не вижу пользы в этом, только сложнее получается всё.
А crossplane будет? =)
visa карта например
А как уйти от ручного изменения image tag. Разраб внес изменения в код - пайплайн собрал и запушил с произвольным tag (допустим commit id). Как теперь ему дать понять что нужно деплоить новый tag?
CI Pipeline которая делала Image, знает новый tag. Она и должна обновить этот tag в yaml
Не удалял ничего.
Так вот как на самом деле выглядит DevOps !!! Не смогу я стать девопсом, у меня уши маленькие и хвост не растет. 🤣🤣🤣
Там на руках копыта надо еще иметь, так что… вопросов много в общем, путь не простой )))
Единственное, что пока не совсем понятно: в чем главное преимущество перед связкой jenkins+ansible?
Тут Настраиваешь только ArgoCD. Там настраиваешь и Jenkins и Ansible, плюс Jenkins и Ansible где работают, внутри k8s или снаружи?
Дженкинс на отдельном сервере. У нас просто лоигка CD настроена так, что на стейдже в дженкинс джобе поднимается контейнер с ансиблом: [...] Stage("Название этапа" { agent { docker { > } } steps { sh ''' > ''' } } [...] и там генерируются манифесты k8s для сервисов, конфигмапы, контейнеры для инициализации сервиса и тд. Не вижу пока как удобно на одном лишь ArgoCD построить нормальный деплой, если у тебя 50 сервисов, где 30-40 переменных окружения и всё это на 4 инстансах в кубере для разных групп разработки. Было бы интересно в видео про ArgoCD этот момент уточнить, потому что здесь ты говоришь, что нужно в ручную манифесты редачить. Мы так не делаем. У нас всё делает Jenkins. Здесь получается, что он нам всё равно будет нужен для сборки приложения, а вот CD процессы уже через ArgoCD настраивать как-то. Но тогда я только вижу вариант, когда джоба в дженкинсе пушит в репу какие-либо файлы, например тот же конфиг мап. И в таком случае смысл в ArgoCD улетучивается, потому что проще уже будет в конце сделать kubectl и применять нужные манифесты, чем использовать серверные ресурсы на доп. ПО. В общем ощущение, что ArgoCD создан для небольших проектов и маленький компаний, которые не хотят париться над настройкой логики развёртывания с помощью Groovy.@@ADV-IT
Я вижу преимущество в том, что ты хранишь стейт ворклоада в гите и это единственный source of truth. И это не серебряная пуля, а лишь один из подходов, который не является универсально применимым. И арго это не си сервер, так что каким образом формируются манифесты остается за скобками
@@olegen1 а какая разница truth или не truth? Если у тебя отлаженный проект, то проблем не будет. В реальной жизни каждый запуск сервиса - это запуск init контейнеров, чтобы в случае проблемы на каком либо этапе сервис не стартовал. А после старта liveness и readiness пробы.
а кроме paypal метод поддержки больше не чего нет ?
Лайк!
Все ложат на репозиторий😅
Ну и зачем мне на деплой новой версии образа чтото кудато комиттить в гит? У меня ничего кроме тега не изменяется, а это динамический п-р для хелм upgrade
Да не скажем мы что это репликасет, всёравно еще не бычим в этих дровах ничего, пока только просмотрели но не проклацали…)