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

Поделиться
HTML-код
  • Опубликовано: 1 июн 2024
  • #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
  • НаукаНаука

Комментарии • 97

  • @joesleep8082
    @joesleep8082 8 месяцев назад +32

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад +3

      Спасибо!

  • @user-dj7dt2mi6y
    @user-dj7dt2mi6y 6 месяцев назад +13

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

    • @ADV-IT
      @ADV-IT  5 месяцев назад

      Спасибо!

  • @Flamin_Cat
    @Flamin_Cat 6 месяцев назад +7

    Приятно, когда тебе, как школьнику, на пальцах объясняют все подробно, но при этом максимально просто :) Спасибо

  • @evlazarev
    @evlazarev 8 месяцев назад +14

    Классное видео. Спасибо. Идея для новых видео - мониторинг.

  • @r.v.5606
    @r.v.5606 7 месяцев назад +4

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

  • @user-uw1zp6es8q
    @user-uw1zp6es8q 8 месяцев назад +4

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

  • @user-lj2xy3lo6d
    @user-lj2xy3lo6d 8 месяцев назад +5

    Шикарственно! 26 минут и уже примерно ясно где, когда и для чего применять этот инструмент. Детали уже можно самостоятельно изучить. Спасибо за очереную удочку!

    • @ADV-IT
      @ADV-IT  8 месяцев назад

      Детали и готовое решение будут на следующей уроке

  • @alex-g1
    @alex-g1 8 месяцев назад +20

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

    • @user-ro5vg9sf1o
      @user-ro5vg9sf1o 8 месяцев назад +1

      Поддерживаю, flux cd реально било б классно про него очень мало материалов

    • @George-mk7lp
      @George-mk7lp 7 месяцев назад

      @@user-ro5vg9sf1o ruclips.net/video/X5W_706-jSY/видео.html&ab_channel=ThatDevOpsGuy

    • @olegen1
      @olegen1 7 месяцев назад

      ну есть нормальный туториал на официальном сайте@@user-ro5vg9sf1o

  • @user-km7uh9hb3n
    @user-km7uh9hb3n 7 месяцев назад +4

    Благодаря Денису новые и пугающие инструменты становятся простыми и понятными. Спасибо!!!❤🎉

  • @andrey.nekrasov
    @andrey.nekrasov Месяц назад +1

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

  • @-kote
    @-kote 2 месяца назад +1

    Ура блин, разлозжил всё по полочкам, доки читал и не понимал что и куда. А тут толково рассказал, спасибо.

  • @user-mz4tn7ig6i
    @user-mz4tn7ig6i 8 месяцев назад +3

    Ты лучше всех объясняешь! Спс за твою работу.

  • @user-br9sz4jn5k
    @user-br9sz4jn5k 2 месяца назад +1

    Контент просто топ!
    Я в восторге с этих уроков! 💎
    Вселенский респект 🤟

  • @paveltarasov4011
    @paveltarasov4011 7 месяцев назад +2

    Круто, как раз повод начать изучать ArgoCD

  • @rudmage
    @rudmage 6 месяцев назад +1

    Мое почтение, 0 воды, 100% конкретики.

  • @user-tk7hx1jk6r
    @user-tk7hx1jk6r 5 месяцев назад +1

    Автоматически лайк) Спасибо!!!

  • @komronu
    @komronu 8 месяцев назад +2

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

  • @serglit102
    @serglit102 8 месяцев назад +3

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

  • @aleksey_amk
    @aleksey_amk 4 месяца назад +1

    Отличный ролик, спасибо!

  • @pain1737_6
    @pain1737_6 8 месяцев назад +3

    Большое спасибо за труд!

  • @denyspetryk4443
    @denyspetryk4443 6 месяцев назад +1

    Привет , четко, лаконично, весело и просто , двумя словами - это уровень :))

  • @user-vm3ji7lm6t
    @user-vm3ji7lm6t 8 месяцев назад +4

    Давно ждём

  • @Ilya-cw7qj
    @Ilya-cw7qj 8 месяцев назад +1

    Денис, супер! Спасибо за материал.

  • @StasMihajlow
    @StasMihajlow 7 месяцев назад +1

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

  • @nikelchaninov1252
    @nikelchaninov1252 8 месяцев назад +1

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

  • @taalaikurmanbek9850
    @taalaikurmanbek9850 8 месяцев назад +1

    Denis spasibo za vse uroki!!!
    ArgoCD klass jdem vtoroi chasti

  • @dubloid
    @dubloid 8 месяцев назад +3

    С нетерпением жду!

  • @lexa500
    @lexa500 4 месяца назад +1

    респекту нет предела, чотинько все объяснил

  • @igorgarmatenko1131
    @igorgarmatenko1131 8 месяцев назад +1

    Круто! Ждем продолжения!

  • @TheRedbeardster
    @TheRedbeardster 8 месяцев назад +3

    Молоток, спасибо!

  • @bigvandi
    @bigvandi 3 месяца назад

    спасибо, офигенный гайд. просто и понятно

  • @borisberezovsky51
    @borisberezovsky51 8 месяцев назад +2

    Спасибо тебе, добрый человек! Классная работа!

    • @MrDwarflord15
      @MrDwarflord15 8 месяцев назад

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

    • @ADV-IT
      @ADV-IT  7 месяцев назад

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

  • @kamenskiyyyy
    @kamenskiyyyy 8 месяцев назад +1

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

  • @poematization
    @poematization 8 месяцев назад +1

    Спасибо за урок, очень жду интеграцию через терраформ

  • @manul7978
    @manul7978 8 месяцев назад +1

    Спасибо как всегда супер!

  • @eldarkarimov5791
    @eldarkarimov5791 3 месяца назад +1

    спасибо за урок

  • @chicagomoscow
    @chicagomoscow 8 месяцев назад +2

    Ждем 2-й урок

  • @gansgimmler3684
    @gansgimmler3684 8 месяцев назад +3

    О, топ гайд подъехал

  • @user-kj2fb3wl7z
    @user-kj2fb3wl7z 8 месяцев назад +4

    Отличная тема

  • @maxgudim7312
    @maxgudim7312 7 месяцев назад +1

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

  • @dyg6945
    @dyg6945 6 месяцев назад +1

    Супер!! Спасибо!!

  • @t.j.6701
    @t.j.6701 2 месяца назад +1

    Дэн лучший

  • @s.v.kulygin
    @s.v.kulygin 8 месяцев назад +1

    вот это тема! 🔥

  • @PetrOsetr
    @PetrOsetr 7 месяцев назад +1

    Хех это прям мой стек с работы.

  • @NeimorJeck
    @NeimorJeck 8 месяцев назад +1

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

  • @user-nw9yf3it1f
    @user-nw9yf3it1f Месяц назад +1

    АААА голова кипит)))))

  • @kostiantynivanov6875
    @kostiantynivanov6875 Месяц назад +1

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

  • @iaroslavdavydiak6439
    @iaroslavdavydiak6439 6 месяцев назад +1

    That is just 🤩

  • @poematization
    @poematization 8 месяцев назад +2

    Thanks!

    • @ADV-IT
      @ADV-IT  8 месяцев назад +1

      Спасибо большое за поддержку!

  • @stanislavkrivtsov6320
    @stanislavkrivtsov6320 8 месяцев назад +2

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад +1

      А как ArgoCD узнает что в Docker Hub что-то поменялось?

    • @Deniksa
      @Deniksa 7 месяцев назад

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

  • @samrybkin9184
    @samrybkin9184 3 месяца назад

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

    • @ADV-IT
      @ADV-IT  3 месяца назад +1

      Я не использовал сам, но видел что используют многие. Не могу посоветовать ничего тут, сорри, с ютубе вижу куча видео на эту тему.

    • @samrybkin9184
      @samrybkin9184 3 месяца назад

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

  • @user-ff9ws2bo2k
    @user-ff9ws2bo2k 8 месяцев назад +1

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад

      Использовал только один раз, и то только устанавливал

    • @user-ff9ws2bo2k
      @user-ff9ws2bo2k 8 месяцев назад +1

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

    • @ADV-IT
      @ADV-IT  7 месяцев назад

      Ну это правильно в принципе

  • @user-lw1ux3vp6k
    @user-lw1ux3vp6k 7 месяцев назад +1

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

    • @ADV-IT
      @ADV-IT  7 месяцев назад

      Я один, а тем много, всё не успею.

  • @PetrOsetr
    @PetrOsetr 7 месяцев назад

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

    • @ADV-IT
      @ADV-IT  7 месяцев назад +2

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

  • @VT-ur6ie
    @VT-ur6ie 8 месяцев назад +1

    💥💥💥💥💥

  • @MoscowStreetsWalks
    @MoscowStreetsWalks 7 месяцев назад +1

    А crossplane будет? =)

  • @Vol4ikk
    @Vol4ikk 8 месяцев назад

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад

      api кого?

    • @Vol4ikk
      @Vol4ikk 8 месяцев назад

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад +1

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

  • @Kint157
    @Kint157 8 месяцев назад

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

    • @ADV-IT
      @ADV-IT  8 месяцев назад +1

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

    • @ADV-IT
      @ADV-IT  7 месяцев назад

      Не удалял ничего.

  • @user-sv4nn6vy1l
    @user-sv4nn6vy1l 8 месяцев назад +1

    Так вот как на самом деле выглядит DevOps !!! Не смогу я стать девопсом, у меня уши маленькие и хвост не растет. 🤣🤣🤣

    • @romankolesnikov4373
      @romankolesnikov4373 19 дней назад

      Там на руках копыта надо еще иметь, так что… вопросов много в общем, путь не простой )))

  • @MrMikhailDJ
    @MrMikhailDJ 8 месяцев назад

    Единственное, что пока не совсем понятно: в чем главное преимущество перед связкой jenkins+ansible?

    • @ADV-IT
      @ADV-IT  8 месяцев назад

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

    • @MrMikhailDJ
      @MrMikhailDJ 8 месяцев назад

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

    • @olegen1
      @olegen1 7 месяцев назад

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

    • @MrMikhailDJ
      @MrMikhailDJ 7 месяцев назад

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

  • @komronu
    @komronu 7 месяцев назад

    а кроме paypal метод поддержки больше не чего нет ?

    • @ADV-IT
      @ADV-IT  7 месяцев назад

      Лайк!

  • @komronu
    @komronu 7 месяцев назад

    visa карта например

  • @user-mf6uc9iw2z
    @user-mf6uc9iw2z 6 месяцев назад

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

  • @user-hl4em4oc6y
    @user-hl4em4oc6y 8 месяцев назад +1

    Все ложат на репозиторий😅

  • @romankolesnikov4373
    @romankolesnikov4373 19 дней назад

    Да не скажем мы что это репликасет, всёравно еще не бычим в этих дровах ничего, пока только просмотрели но не проклацали…)