ArgoCD в KUBERNETES с НУЛЯ | ТЕОРИЯ И ДЕМО

2024 ж. 22 Мам.
20 070 Рет қаралды

#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

Пікірлер
  • Это просто жемчужина! У меня лоб болит от того, что я так часто брови поднимал пока смотрел😲. А когда еще в конце услышал, что в следующем видео это еще и с Терраформом будет, то вообще под стол сполз. 😮🚑 Денис, я понимаю что на свете несколько миллиардов людей, но знай что среди них найдутся сотни или даже тысячи, которых ты вдохновил своим талантом учителя и ментора. Хочу от чистого сердца поблагодарить тебя за все что ты делашь, и пожелать тебе радости и мира. Именно твои видео заставили меня пойти учиться в Универ, окончить его и найти работу которая мне по душе! Спасибо тебе!🤝

    @joesleep8082@joesleep80827 ай бұрын
    • Спасибо!

      @ADV-IT@ADV-IT7 ай бұрын
  • Хочу выразить благодарность за предоставленный материал. А также отметить что у тебя хорошо получается объяснять сложные вещи простым языком.

    @user-dj7dt2mi6y@user-dj7dt2mi6y5 ай бұрын
    • Спасибо!

      @ADV-IT@ADV-IT5 ай бұрын
  • Приятно, когда тебе, как школьнику, на пальцах объясняют все подробно, но при этом максимально просто :) Спасибо

    @Flamin_Cat@Flamin_Cat5 ай бұрын
  • Классное видео. Спасибо. Идея для новых видео - мониторинг.

    @evlazarev@evlazarev7 ай бұрын
  • Вадим, спасибо вам большое. Обожаю все ваши видео!!! Я стал DevOps-м и работаю на этой роли почти два года благодаря вашим урокам!!!

    @r.v.5606@r.v.56067 ай бұрын
  • лучший канал по девопсу в рускоязычном пространстве , ansible, Jenkins , Python много чему отсюда учился, спасибо! ps добавлю что подача материала крутая , как будто опытный кореш по работе сидит рядом и на пальцах объясняет , что и как настраивать)), простым языком

    @user-uw1zp6es8q@user-uw1zp6es8q7 ай бұрын
  • Шикарственно! 26 минут и уже примерно ясно где, когда и для чего применять этот инструмент. Детали уже можно самостоятельно изучить. Спасибо за очереную удочку!

    @user-lj2xy3lo6d@user-lj2xy3lo6d7 ай бұрын
    • Детали и готовое решение будут на следующей уроке

      @ADV-IT@ADV-IT7 ай бұрын
  • Благодаря Денису новые и пугающие инструменты становятся простыми и понятными. Спасибо!!!❤🎉

    @user-km7uh9hb3n@user-km7uh9hb3n7 ай бұрын
  • Ты лучше всех объясняешь! Спс за твою работу.

    @user-mz4tn7ig6i@user-mz4tn7ig6i7 ай бұрын
  • Контент просто топ! Я в восторге с этих уроков! 💎 Вселенский респект 🤟

    @user-br9sz4jn5k@user-br9sz4jn5k2 ай бұрын
  • Ура блин, разлозжил всё по полочкам, доки читал и не понимал что и куда. А тут толково рассказал, спасибо.

    @-kote@-koteАй бұрын
  • Круто, как раз повод начать изучать ArgoCD

    @paveltarasov4011@paveltarasov40117 ай бұрын
  • Мое почтение, 0 воды, 100% конкретики.

    @rudmage@rudmage6 ай бұрын
  • Давно ждём

    @user-vm3ji7lm6t@user-vm3ji7lm6t7 ай бұрын
  • Давно ждал эту тему!!!! Супер актуальная сейчас для меня. Больше спасибо за четкие разъяснения и легкую подачу информации!!

    @serglit102@serglit1027 ай бұрын
  • Хорошая тема. Следом хорошо б про Flux CD . Отличия, нюансы использования и т.д.

    @alex-g1@alex-g17 ай бұрын
    • Поддерживаю, flux cd реально било б классно про него очень мало материалов

      @user-ro5vg9sf1o@user-ro5vg9sf1o7 ай бұрын
    • @@user-ro5vg9sf1o kzhead.info/sun/i5mQj5tobV-ghpE/bejne.html&ab_channel=ThatDevOpsGuy

      @George-mk7lp@George-mk7lp7 ай бұрын
    • ну есть нормальный туториал на официальном сайте@@user-ro5vg9sf1o

      @olegen1@olegen16 ай бұрын
  • Очень круто спасибо! обязательно продолжайте добавляйте другие уроки 🙏

    @komronu@komronu7 ай бұрын
  • Большое спасибо за труд!

    @pain1737_6@pain1737_67 ай бұрын
  • С нетерпением жду!

    @dubloid@dubloid7 ай бұрын
  • Когда то я по второй части (когда она вышла) все сделал, особо не вникая и понимая, но работало :) Все эти месяца я изучал кубернетес. Сейчас я смотрю первую, потому что хочу научиться деплоить своё приложение еще и через argocd. И самое забавное, что я все понимаю :) Мне самому удивительно. Я еще по ходу ролика думаю, где и как я прикручу в своих пайплайнах нужные шаги.

    @andrey.nekrasov@andrey.nekrasovАй бұрын
  • Денис, супер! Спасибо за материал.

    @Ilya-cw7qj@Ilya-cw7qj7 ай бұрын
  • Привет , четко, лаконично, весело и просто , двумя словами - это уровень :))

    @denyspetryk4443@denyspetryk44436 ай бұрын
  • Отличное видео, спасибо! Ждем продолжения обозревания темы GitOps 💻🐒

    @nikelchaninov1252@nikelchaninov12527 ай бұрын
  • Круто! Ждем продолжения!

    @igorgarmatenko1131@igorgarmatenko11317 ай бұрын
  • очень воодушевлён и приятно удивлён! ещё раз спасибо Вам, за то, что вы делаете)))

    @StasMihajlow@StasMihajlow7 ай бұрын
  • Denis spasibo za vse uroki!!! ArgoCD klass jdem vtoroi chasti

    @taalaikurmanbek9850@taalaikurmanbek98507 ай бұрын
  • Молоток, спасибо!

    @TheRedbeardster@TheRedbeardster7 ай бұрын
  • Отличный ролик, спасибо!

    @aleksey_amk@aleksey_amk4 ай бұрын
  • Автоматически лайк) Спасибо!!!

    @user-tk7hx1jk6r@user-tk7hx1jk6r5 ай бұрын
  • Спасибо тебе, добрый человек! Классная работа!

    @borisberezovsky51@borisberezovsky517 ай бұрын
    • этот добрый человек, зачем-то удаляет комменты с замечаниями к видео, причем замечанием вполне по делу и без какого либо злого подтекста. про ApplicationSet, вместо предложенного тут App of Apps.

      @MrDwarflord15@MrDwarflord157 ай бұрын
    • Единственные коменты которые я удаляю это оскорбления и тут же баню. всё. Любая критика и другие мнения тут приветсвуются!

      @ADV-IT@ADV-IT7 ай бұрын
  • Спасибо как всегда супер!

    @manul7978@manul79787 ай бұрын
  • респекту нет предела, чотинько все объяснил

    @lexa500@lexa5004 ай бұрын
  • спасибо, офигенный гайд. просто и понятно

    @bigvandi@bigvandi3 ай бұрын
  • Спасибо за урок, очень жду интеграцию через терраформ

    @poematization@poematization7 ай бұрын
  • Ждем 2-й урок

    @chicagomoscow@chicagomoscow7 ай бұрын
  • Отличная тема

    @user-kj2fb3wl7z@user-kj2fb3wl7z7 ай бұрын
  • О, топ гайд подъехал

    @gansgimmler3684@gansgimmler36847 ай бұрын
  • спасибо за урок

    @eldarkarimov5791@eldarkarimov57913 ай бұрын
  • Супер видео! Большое спасибо) Хотелось бы увидеть на практике, как с помощью argo cd делать динамические окружения для fuature-веток в git репозитории приложения, которые самоуничтожаются после мержа в develop

    @kamenskiyyyy@kamenskiyyyy7 ай бұрын
  • Супер!! Спасибо!!

    @dyg6945@dyg69456 ай бұрын
  • Дэн лучший

    @t.j.6701@t.j.67012 ай бұрын
  • вот это тема! 🔥

    @s.v.kulygin@s.v.kulygin7 ай бұрын
  • Спасибо за урок . Очень интересно было послушать про Argo CD . Планируется ли и по Ранчеру какой нибудь урок?

    @maxgudim7312@maxgudim73127 ай бұрын
  • Хех это прям мой стек с работы.

    @PetrOsetr@PetrOsetr7 ай бұрын
  • That is just 🤩

    @iaroslavdavydiak6439@iaroslavdavydiak64396 ай бұрын
  • АААА голова кипит)))))

    @user-nw9yf3it1f@user-nw9yf3it1fАй бұрын
  • Thanks!

    @poematization@poematization7 ай бұрын
    • Спасибо большое за поддержку!

      @ADV-IT@ADV-IT7 ай бұрын
  • урок очень интересный и топ подача, но сама суть ArgoCD и зачем он нужен я не понял. зачем мне ждать до 3х минут пока ArgoCD решит сделать kubectl apply, когда в git репозитории появится новый комит, если я могу просто в конце пайплайна на тот же самый комит, в например GitHub Actions, тригернуть тот же самый kubectl apply и уже кубер мне всё задеплоит и тогда нет лишнего компонента (и сложность всей системы не увеличивается) единственное, что я увидел, что ArgoCD может предложить - это возможность Drift detection-а и передеплоя если по какой-то причине часть состояния кластера были изменена P.S. второй урок ещё не смотрел - может там больше раскроются преимущества ArgoCD

    @kostiantynivanov6875@kostiantynivanov6875Ай бұрын
  • 💥💥💥💥💥

    @VT-ur6ie@VT-ur6ie7 ай бұрын
  • 22:26 можно видеть у деплоя и RS "rev.2", также там рядышком висит RS "rev.1" - очень наглядно

    @PetrOsetr@PetrOsetr7 ай бұрын
    • По умолчанию хранится 10 последниз версий для быстрого rollback, только AutoSync надо отключить

      @ADV-IT@ADV-IT7 ай бұрын
  • Круто! Единственный нюанс что сколько лет прошло а argo похоже все еще не умеет сам патчить таги образов😅 FluxCD в этом плане по круче но, на мой взгляд, на порядок сложнее.

    @NeimorJeck@NeimorJeck7 ай бұрын
  • Супер! Но не обязательно менять версию в docker tag в yaml файлах, можно создать тег, например, prod и менять ему target image в docker hub

    @stanislavkrivtsov6320@stanislavkrivtsov63207 ай бұрын
    • А как ArgoCD узнает что в Docker Hub что-то поменялось?

      @ADV-IT@ADV-IT7 ай бұрын
    • @@ADV-IT есть bot image updater, который смотрит в dockerhub и потом автоматом создаёт PR, где меняет тэг образа в репе, и может его автоматом мёрджить, или слать нотификашку "нужному" персонажу.

      @Deniksa@Deniksa7 ай бұрын
  • Спасибо Денис за видео. Хотел спросить тебя использовал ли ты когда-нибудь prometheus в kubernetes? Если да может посоветуешь какие нить хорошие ресурсы по данной тематике?

    @samrybkin9184@samrybkin91843 ай бұрын
    • Я не использовал сам, но видел что используют многие. Не могу посоветовать ничего тут, сорри, с ютубе вижу куча видео на эту тему.

      @ADV-IT@ADV-IT3 ай бұрын
    • @@ADV-IT понял спасибо за ответ, да видосы смотрел но все равно часто возникает много вопросов поэтому и интересовался

      @samrybkin9184@samrybkin91843 ай бұрын
  • Привет, Денчик. А чего тему с Volumes пропустил? Пришлось самому разбираться!))) Может расскажешь за эту тему?

    @user-lw1ux3vp6k@user-lw1ux3vp6k7 ай бұрын
    • Я один, а тем много, всё не успею.

      @ADV-IT@ADV-IT7 ай бұрын
  • Спасибо большое за видео, очень жду второе. Не знаешь HCP Vault ? Хотелось бы по нему guide, в русскоязычном youtube вообще нет полноценного гайда по этому инструменту, а он очень годный.

    @user-ff9ws2bo2k@user-ff9ws2bo2k7 ай бұрын
    • Использовал только один раз, и то только устанавливал

      @ADV-IT@ADV-IT7 ай бұрын
    • @@ADV-IT Работаю в одной из крупных организаций в РФ, нам безы вообще запрещают хранить секреты не в HCP Vault + если это кубер то интеграции секретов из Vault в кубер

      @user-ff9ws2bo2k@user-ff9ws2bo2k7 ай бұрын
    • Ну это правильно в принципе

      @ADV-IT@ADV-IT7 ай бұрын
  • Денис, спасибо за видео, отличный инструмент) А может знаете, как можно api использовать? Иногда в рамках CI нужно остановить сервис полностью, либо пересоздать с нуля, но приходится каждый раз удалять аппликацию полностью и создавать заново

    @Vol4ikk@Vol4ikk7 ай бұрын
    • api кого?

      @ADV-IT@ADV-IT7 ай бұрын
    • ​@@ADV-IT API самого ArgoCD, доступно в /swagger-ui И, если пробовали Argo-CD Autopilot - тоже было бы круто рассказать!

      @Vol4ikk@Vol4ikk7 ай бұрын
    • Чтобы ArgoCD API начал работать, ArgoCD нужно сначало установить. Потом можешь использовать API, argo-cd.readthedocs.io/en/release-1.8/user-guide/commands/argocd_app_create/ Только не вижу пользы в этом, только сложнее получается всё.

      @ADV-IT@ADV-IT7 ай бұрын
  • А crossplane будет? =)

    @MoscowStreetsWalks@MoscowStreetsWalks7 ай бұрын
  • visa карта например

    @komronu@komronu7 ай бұрын
  • А как уйти от ручного изменения image tag. Разраб внес изменения в код - пайплайн собрал и запушил с произвольным tag (допустим commit id). Как теперь ему дать понять что нужно деплоить новый tag?

    @Kint157@Kint1577 ай бұрын
    • CI Pipeline которая делала Image, знает новый tag. Она и должна обновить этот tag в yaml

      @ADV-IT@ADV-IT7 ай бұрын
    • Не удалял ничего.

      @ADV-IT@ADV-IT7 ай бұрын
  • Так вот как на самом деле выглядит DevOps !!! Не смогу я стать девопсом, у меня уши маленькие и хвост не растет. 🤣🤣🤣

    @user-sv4nn6vy1l@user-sv4nn6vy1l7 ай бұрын
    • Там на руках копыта надо еще иметь, так что… вопросов много в общем, путь не простой )))

      @romankolesnikov4373@romankolesnikov43739 күн бұрын
  • Единственное, что пока не совсем понятно: в чем главное преимущество перед связкой jenkins+ansible?

    @MrMikhailDJ@MrMikhailDJ7 ай бұрын
    • Тут Настраиваешь только ArgoCD. Там настраиваешь и Jenkins и Ansible, плюс Jenkins и Ansible где работают, внутри k8s или снаружи?

      @ADV-IT@ADV-IT7 ай бұрын
    • Дженкинс на отдельном сервере. У нас просто лоигка CD настроена так, что на стейдже в дженкинс джобе поднимается контейнер с ансиблом: [...] Stage("Название этапа" { agent { docker { > } } steps { sh ''' > ''' } } [...] и там генерируются манифесты k8s для сервисов, конфигмапы, контейнеры для инициализации сервиса и тд. Не вижу пока как удобно на одном лишь ArgoCD построить нормальный деплой, если у тебя 50 сервисов, где 30-40 переменных окружения и всё это на 4 инстансах в кубере для разных групп разработки. Было бы интересно в видео про ArgoCD этот момент уточнить, потому что здесь ты говоришь, что нужно в ручную манифесты редачить. Мы так не делаем. У нас всё делает Jenkins. Здесь получается, что он нам всё равно будет нужен для сборки приложения, а вот CD процессы уже через ArgoCD настраивать как-то. Но тогда я только вижу вариант, когда джоба в дженкинсе пушит в репу какие-либо файлы, например тот же конфиг мап. И в таком случае смысл в ArgoCD улетучивается, потому что проще уже будет в конце сделать kubectl и применять нужные манифесты, чем использовать серверные ресурсы на доп. ПО. В общем ощущение, что ArgoCD создан для небольших проектов и маленький компаний, которые не хотят париться над настройкой логики развёртывания с помощью Groovy.@@ADV-IT

      @MrMikhailDJ@MrMikhailDJ7 ай бұрын
    • Я вижу преимущество в том, что ты хранишь стейт ворклоада в гите и это единственный source of truth. И это не серебряная пуля, а лишь один из подходов, который не является универсально применимым. И арго это не си сервер, так что каким образом формируются манифесты остается за скобками

      @olegen1@olegen17 ай бұрын
    • @@olegen1 а какая разница truth или не truth? Если у тебя отлаженный проект, то проблем не будет. В реальной жизни каждый запуск сервиса - это запуск init контейнеров, чтобы в случае проблемы на каком либо этапе сервис не стартовал. А после старта liveness и readiness пробы.

      @MrMikhailDJ@MrMikhailDJ7 ай бұрын
  • а кроме paypal метод поддержки больше не чего нет ?

    @komronu@komronu7 ай бұрын
    • Лайк!

      @ADV-IT@ADV-IT7 ай бұрын
  • Все ложат на репозиторий😅

    @user-hl4em4oc6y@user-hl4em4oc6y7 ай бұрын
  • Ну и зачем мне на деплой новой версии образа чтото кудато комиттить в гит? У меня ничего кроме тега не изменяется, а это динамический п-р для хелм upgrade

    @user-mf6uc9iw2z@user-mf6uc9iw2z5 ай бұрын
  • Да не скажем мы что это репликасет, всёравно еще не бычим в этих дровах ничего, пока только просмотрели но не проклацали…)

    @romankolesnikov4373@romankolesnikov43739 күн бұрын
KZhead