ArgoCD в KUBERNETES с НУЛЯ | УСТАНОВКА, НАСТРОЙКА и УПРАВЛЕНИЕ

Ғылым және технология

#argocd #devops #k8s
Если помог, поддержите Лайком или парой баксов, хотябы Канадских :) www.paypal.me/DenisAstahov
00:00 - Вступление
00:17 - Что мы сотворим и настроим
02:37 - Вариант N1 установки ArgoCD для Multiply Clusters
02:50 - Вариант N2 установки ArgoCD для Multiply Clusters
03:33 - Создание k8s кластеров в AWS EKS
04:52 - Создание центрального GitHub Repository
05:42 - Установка ArgoCD в k8s через Terraform в DEV
10:28 - Как узнать пароль для ArgoCD
11:16 - Как залогиниться в ArgoCD UI
12:18 - Установка ArgoCD в k8s через Terraform в PROD
13:47 - Настройка доступа из ArgoCD в GitHub через SSH Key
16:43 - Установка ArgoCD ROOT Application через Terraform
21:00 - Деполой новых ArgoCD Apps и наших приложений через GitOps
28:16 - Обновление ArgoCD на новую версию через Terraform
29:36 - Как Случайно ВСЁ Удалить
30:10 - Как Всё Восстановить через Terraform
31:09 - Как выглядит наш центральный GitHub Repository
31:19 - Мои ссылки по ArgoCD
github.com/adv4000/argocd
github.com/adv4000/argocd-ter...

Пікірлер: 102

  • @user-yc9lz3cq7h
    @user-yc9lz3cq7h7 ай бұрын

    Это вообще круть!!!!!! Самая наикрутейшая круть!!!! Спасибо брат за проделанную работу.

  • @dzmitrydarashuk6528

    @dzmitrydarashuk6528

    2 ай бұрын

    Чудненько!

  • @MrPro1004fun
    @MrPro1004fun8 ай бұрын

    Денис, спасибо за труды! Все очень доступно и понятно! Приятно смотреть.

  • @dmitrykhrniak451
    @dmitrykhrniak451Ай бұрын

    Спасибо, смотрю тебя много лет, восхищен качеством контента!

  • @JokermanMM
    @JokermanMMАй бұрын

    Просто супер годнота, лайкаю каждый твой видос, спасибо тебе огромное!

  • @ok-world
    @ok-world4 ай бұрын

    Это то чего я искал. Как всегда без воды и все по делу. Спасибо.

  • @Ruben-by4oy
    @Ruben-by4oy8 ай бұрын

    Спасибо большое за работу. Супер доступно и полезно. А будет ли продолжение типо интеграция с Argo-Workflows, Argo-Rollout, External Secrets... ?

  • @user-br9sz4jn5k
    @user-br9sz4jn5k2 ай бұрын

    Топ топ топ...!) Спасибо за контент и мои расширяющиеся глаза!) И этож надо все в 30 минут уложил... Надеюсь за пару дней рассмакую на своем примере ролик ☸

  • @alwor
    @alwor7 ай бұрын

    Спасибо большое! Кратко и ёмко про argocd.

  • @dyg6945
    @dyg69457 ай бұрын

    Как обычно все четко и понятно. Спасибо!!

  • @andreyruban4554
    @andreyruban45547 ай бұрын

    Спасибо за видео и пример. Именно примеры так сказать Prod-like сетапа наиболее интересные потому что близки к реальности. Реально круто) и хочется еще функционал как ребята писали ниже Argo-Workflows, Argo-Rollout, External Secrets

  • @gansgimmler3684
    @gansgimmler36848 ай бұрын

    Огромное спасибо! Не думал, что это так просто

  • @Dmitrii-Kalashnikov
    @Dmitrii-Kalashnikov4 ай бұрын

    Благодарю вас гуру ADV-IT 🙏🙌❤

  • @user-km7uh9hb3n
    @user-km7uh9hb3n7 ай бұрын

    Действительно интересно и полезно. Тысячекратное спасибо!!!

  • @panchwall_devops
    @panchwall_devops7 ай бұрын

    Денис спасибо приятно смотреть твои видео даже если уже это все знаешь.

  • @barracudawest1270
    @barracudawest12703 ай бұрын

    Большое спасибо. Это то что я очень искал и собирал в интернете по крупицам. А у вас все в двух видео. Очень круто. Еще раз вам спасибо. Смотрю ваш канал с 2017 года примерно. С этих видео я и начал свою дорогу в DevOps. Хотел спросить, а не могли бы вы сделать видео о том как апгрейдить кебер кластеры в AWS через Terraform? Думаю, это было бы очень интересно всем.

  • @pain1737_6
    @pain1737_68 ай бұрын

    Денис, спасибо большое !!

  • @t.j.6701
    @t.j.67012 ай бұрын

    Дэн молодец

  • @Korch.
    @Korch.7 ай бұрын

    Привет, я очень рад, что нашел твой канал, тут есть все, что мне надо !!!! Искал медь, а нашел золото. Большое спасибо, вечных пингов )

  • @iaroslavdavydiak6439
    @iaroslavdavydiak64396 ай бұрын

    Super cool content. Good job! 🤟🤟🤟

  • @AndreyZhivotovskiy1
    @AndreyZhivotovskiy1Ай бұрын

    красава

  • @eugene782
    @eugene7828 ай бұрын

    хотелось бы еще увидеть интеграцию "argocd" например с "helm"+"hashicorp vault"+"external secrets operator". мы его так используем..мб вы покажете более интересное решение.

  • @user-sb2lk5bq9k

    @user-sb2lk5bq9k

    8 ай бұрын

    Я использую helm + sealed secret keys )

  • @MrMikhailDJ

    @MrMikhailDJ

    7 ай бұрын

    Вопрос. Сколько у вас на проекте приблизтельно сервисов, если не секрет? И сколько суммарно переменных для всего приложения? Сколько деплоев в день делают ваши разработчики на различные стенды? Мы с нашей командой DevOps не можем проанализировать где argoCD может в теории быть удобен, когда на проекте около 45 сервисов и под 1000 переменных различных, которые нужно добавлять убирать и т.д. При использовании обычных методов для достижения целей CI, ArgoCD для нас заменяет только шаг deploy to kubernetes. Использования ArgoCD в целом какая-то бессмыслица, если у вас условно 2-3 сервиса и не более 5 деплоев в день. Иначе это излишне усложняет инфраструктуру.

  • @MrMikhailDJ

    @MrMikhailDJ

    7 ай бұрын

    Как с вами связаться, Евгений?

  • @eugene782

    @eugene782

    7 ай бұрын

    @@MrMikhailDJ если у вас есть отработанные практики деплоя Argocd и приложений в него то никакой сложности в этом нет. И не важно какого размера проект...Преимущества - gitops. Я не потерплю когда кто то в команде лезет в клстер руками что то делать..Все должно быть в гите! У меня всего 20 команд разработки, у каждой по 1-2 проекта. Деплоятся по-разному..кто то и раз в неделю..а кто то и раз в час... Переменных тоже разное количество..у кого то штук 20..А у рельсового монолита что то около 1000...Ну и к тому же инфру мы тоже деплоим через арго: ингресы, стейтфулл БД, всякое нужное ПО итд...Все переменные добавляются в helm values как ссылка на секрет, создаваемый external secrets operator.(который высасывает секреты из hashicorp vault)

  • @user-fq1st5vn4n
    @user-fq1st5vn4n7 ай бұрын

    Спасибо большое

  • @izmalkovvladimir
    @izmalkovvladimir9 күн бұрын

    Спасибо.

  • @zrfcnb1381
    @zrfcnb13817 ай бұрын

    best

  • @EdHadi
    @EdHadi3 ай бұрын

    спасибо!

  • @Vol4ikk
    @Vol4ikk6 ай бұрын

    Классный урок, спасибо А подскажите пожалуйста, можно ли терраформом/по апи, как-то еще изменить значение values? Нужно дергать иногда одну из переменных хельма, но изменения в гите или руками в графике делать не хотелось бы...

  • @Morandi44441
    @Morandi444416 ай бұрын

    Купил курс на udemy cicd ради argocd, а он тут в свободном доступе )) @ADV-IT Денис, подскажи пожалуйста , я видел подобные видео от других авторов, и плюс минус читал это в доке, но мне не понятно как правильно автоматизировать ci, чтобы в при cd не надо было руками пушить файл и изменненым id билда в репозиторий для того чтобы Argo CD задеплоил мой залитый в ECR или другой Docker registry имедж в кубер? Я как вариант вижу создание template yaml файла с $buildid и потом git push его в репозиторий?

  • @sromankov6102
    @sromankov61025 ай бұрын

    спасибо отличный урок, какую программу используете для линукса на вашей виндовс машине ?

  • @ADV-IT

    @ADV-IT

    5 ай бұрын

    MobaXTerm

  • @VlasoversRV
    @VlasoversRV7 ай бұрын

    Привет автору, нашел твой канал по комментарию под одной статьей. Хочу погрузиться в изучение devops. Увидел у тебя на канале много видео и собранные плей-листы. Спасибо за это, но подскажите есть ли где то инструкция в каком лучше порядке их смотреть? Или какие-то рекомендации для начала, буду благодарен.

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    kzread.info/dash/bejne/c6x3ybxwqbixorg.html

  • @dmitrypistoletov
    @dmitrypistoletov7 ай бұрын

    Добрый день. Спасибо за Ваш труд, не перестаю черпать что-то новое для себя. Будет ли видео по работе с секретами в ArgoCD? Например, через Sealed secrets?

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Не в планах пока

  • @user-ks7cv6ff1i

    @user-ks7cv6ff1i

    6 ай бұрын

    @@ADV-IT Запишите в беклог, пожалуйста. Очень нужно видео по сикретах, Hashikorp Vault сикретах

  • @Slubs89
    @Slubs897 ай бұрын

    Денис, спасибо! Вопрос такой, а вы не планируете выкладывать видео по elk? Очень хотелось бы разобраться в данной теме с вами.

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Я не знаю ELK

  • @Slubs89

    @Slubs89

    7 ай бұрын

    ​@@ADV-ITДавайте изучать вместе)))

  • @alexandrkazakov723
    @alexandrkazakov7237 ай бұрын

    Привет, а в какой программе ты делаешь превью для ютуб?

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    PowerPoint

  • @eq716
    @eq7168 ай бұрын

    ого! гранд мерсі!

  • @jammin7341
    @jammin73417 ай бұрын

    Здравствуйте Денис! Прошёл уже весь курс до сюда, повторяю всё на windows 10 в minikube. Скажите пожалуйста, реализумо ли повторить всё что в этом уроке - локально на minikube? Уж очень хочется argocd в живую пощупать)) Minikub умеет создавать два кластера, сейчас вот создал их два по две ноды. Или придётся всё таки создать на aws аккаунт, закинуть денежку, купить и настроить домен, и доучиваться уже там? Да, и спасибо огромное за труды Ваши - теперь знаю Кубер настолько, чтобы влиться в проекты на новой работе))

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Можно конечно, только Load Balancer который на моих services на minikube нету

  • @olegen1

    @olegen1

    7 ай бұрын

    я поднял все на минике, LB также эмулируется нормально через minikube tunnel, в арго все синкается и зеленое. Только смысла 2 кластера по 3 ноды делать нет, можно один оставить. Могу дать гит

  • @jammin7341

    @jammin7341

    7 ай бұрын

    @@olegen1 давайте, был бы крайне признателен, интересно посмотреть)

  • @Kulturnik

    @Kulturnik

    6 ай бұрын

    ​@@olegen1будем ждать, хочется посмотреть. Спасибо.

  • @SHPILEVOY13
    @SHPILEVOY135 ай бұрын

    Нужна малая инструкция как это всё провернуть новичку на локальных кластерах и без terraform,а то с самого начала файлы про настройку aws сбивают с толку, мы нубы очень будем благодарны. Благодарю за ваш контент. AVE отец devops всея Руси!

  • @joeynim424
    @joeynim4244 ай бұрын

    дык а как деплой новых версий образов автоматизировать? Чтоб хелм руками каждый раз не править. Есть конторы где в день по 200 деплоев проходит, и руками номера версий замучаешься менять. Не уж то в ci гит коммит гит пуш автоматизировать после сборки образа?

  • @ADV-IT

    @ADV-IT

    4 ай бұрын

    В перой части рассказал как всё автоматизировать

  • @dmytrohaponov5517
    @dmytrohaponov55177 ай бұрын

    В общем не знаю где спросить чтоб заметили и ответили надеюсь автор обратит внимание на мой пост )) В общем я практикующий беккенд разработчик с опытом и меня интересует подойдет ли мне курс Дениса на юдеми для деплоя сервера, настройки и т.д - минимальный набор для того чтоб запустить беккенд на серваке + настроить какой то пайплайн ну и для сертификации в дальнейшем конечно же потому что нравится материал и как автор поясняет

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    DevOps CI/CD Pipelines куча примеров с нуля в принципе

  • @user-rj7zx8pw4d
    @user-rj7zx8pw4d7 ай бұрын

    AWS CloudHSM есть возможность рассказать про это? чет мало инфы для чего это и кто юзает это) но дорого капец)

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Никому не нужный просто, это только для Compliance определенного типа. ключи держаться на Hardware а не в Cloud.

  • @Multifutiy
    @Multifutiy8 ай бұрын

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

  • @Bashir-xs7ld

    @Bashir-xs7ld

    8 ай бұрын

    Это не плагин, в настройках VS Code нужно поставить галочку Format on save.

  • @m1lson304
    @m1lson3048 ай бұрын

    Привет! Хочу спросить, стоит ли идти на курсы DevOps от онлайн школ? И если стоит, то на какие? Или подскажите где взять реальные задачи? Сам работаю сисадмином, но хочется перекфалифицироваться слегка

  • @trew91111

    @trew91111

    8 ай бұрын

    ага жизнь непредсказуема, работал в цоде серваки виртуалки, 2 недели назад устроился енекеем ,так жалко знания мои пропадают, и выполнять тупую работу школьника

  • @m1lson304

    @m1lson304

    8 ай бұрын

    @@trew91111 а зачем тогда устроился?🫣

  • @trew91111

    @trew91111

    8 ай бұрын

    @@m1lson304 семью чем кормить?

  • @m1lson304

    @m1lson304

    8 ай бұрын

    @@trew91111 найти что тебе подкстать

  • @user-fq1st5vn4n

    @user-fq1st5vn4n

    7 ай бұрын

    Не стоит, тут достаточно

  • @letfullov
    @letfullov8 ай бұрын

    кто подскажет чем отличается в арго рефреш от хард рефреш?

  • @Tiberiumgod
    @Tiberiumgod7 ай бұрын

    Приветствую. У меня вопрос, как можно удалить автоматически job если при попытке скачать image для pod я получаю ImagePullBackOff ошибку? Есть такая возможность?

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Откатить обратно в git на предыдушую версию

  • @Tiberiumgod

    @Tiberiumgod

    7 ай бұрын

    @@ADV-IT Я пытаюсь создать job с помощью nodejs пакета для kubernetes, чтобы исполнить тяжёлые операции с помощью временного pod, которому выделяются большие ресурсы памяти и процессора. Все работает кроме варианта, если что то случилось при попытке достать image. Тогда job не завершается и не удаляется. А pod имеет статус ImagePullBackOff. Меня интересует, есть ли возможность как то обработать такую проблему используя файл манифест для job? Я нашел опцию activeDeadlineSeconds, но я не знаю как долго может исполняться код. Нужно, чтобы при первой же ошибке job маркировался как проваленный и освобождал ресурсы обратно, удаляя все.

  • @alekseymavrin6361
    @alekseymavrin63615 ай бұрын

    Спасибо за видео. Но есть пара просьб - можно рассказывать помедленнее раза в 1.5 - 2 хотя бы, а то приходится отматывать и пересматривать несколько раз в некоторых моментах и больше рассказывать о деталях - как работает terraform, состав файлов - что, где, для чего и зачем и прочее, что такое чарты и зачем они нужны. Я просто лично вообще не понял каким образом терраформ деплоит сам argo, просмотрел файлы, не непонятно чего и для чего там прописано. Когда это все деплоится напрямую через kubectl то все понятно, есть конкретная команда, но в этих файлах ничего похожего на нее нет.

  • @ADV-IT

    @ADV-IT

    5 ай бұрын

    Это не курс по Terraform, он есть в других моих видео. Это не курс по Helm, он есть в других моих видео.

  • @olegen1
    @olegen17 ай бұрын

    Стал поднимать в миникубе и что то app контейнеры валятся с php error

  • @olegen1

    @olegen1

    7 ай бұрын

    поднимал на маке, а оказывается image автора для x86/64 только представлены. Если кто повторяет все на минике на маке - меняйте образ, например, на nginx или httpd

  • @abyrvalg809
    @abyrvalg8094 ай бұрын

    Денис, дай пожалуйста скидочный купон на твои курсы на Udemy :) если есть такая возможность

  • @ADV-IT

    @ADV-IT

    4 ай бұрын

    На какой?

  • @abyrvalg809

    @abyrvalg809

    4 ай бұрын

    @@ADV-IT на кубер

  • @ADV-IT

    @ADV-IT

    4 ай бұрын

    www.udemy.com/course/rus-kubernetes/?couponCode=12C2E5E82AF6DFB08B6B Спасибо!

  • @igorgladkov8270
    @igorgladkov82707 ай бұрын

    А где ссылка на GIT ? :)

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Для ленивых: github.com/adv4000/argocd github.com/adv4000/argocd-terraform

  • @igorgladkov8270

    @igorgladkov8270

    7 ай бұрын

    @@ADV-IT я не ленивый, было сказано размещу, а не разместил. Я поправил тебя 🤓

  • @kubikrubik2215
    @kubikrubik22157 ай бұрын

    Печально, что Argocd не умеет одновременно нормально работать с разными values.yaml в одном чарте. Тогда можно было бы из 1 чарта сразу деплоить тест, прод и т.д.

  • @dyagilev5278

    @dyagilev5278

    7 ай бұрын

    Может, там нужен applicationset + generators matrix - git связка, делаешь в репе json список из кластеров (dev, test, prod), добавляешь через configmap или через утилиту argocd свои кластера в арго сервер. И тянешь из этого json файла инфу в applicationset ч-з переменные, условно вот так будет выглядеть: ... template: metadata: name: {{ .cluster }} ... helm: valueFiles: - values.{{ .cluster }}.yaml --- И он тебе создаст 3 application по одному в каждый кластер (dev,test,prod) с нужным values.*.yaml

  • @kubikrubik2215

    @kubikrubik2215

    7 ай бұрын

    @@dyagilev5278вариант, надо будет попробовать

  • @Denriful

    @Denriful

    7 ай бұрын

    еще как вариант - для каждого окружения свой бранч

  • @user-lw1ux3vp6k
    @user-lw1ux3vp6k3 ай бұрын

    о нет!!! установка через терраформ!!! 😭

  • @ADV-IT

    @ADV-IT

    3 ай бұрын

    Вообще на работе абсолютно все через terraform, ничего в ручную не делается

  • @MrMikhailDJ
    @MrMikhailDJ7 ай бұрын

    Уже туеву кучу видео про argoCD посмотрел, но всё никак не могу понять преимуществ его использования перед обычным грамотно настроенным ci/cd пайплайном в jenkins. Пока пришёл к выводу, что argoCD - это просто аналог стейджа deploy to kubernetes в каком-нибудь пайплайне для деплоя приложений в кластер. Неудобно и нет возможности персистентно всё это настраивать, чтобы можно было управлять десятками сервисов, где под 1000 переменных суммарно исп. для всего приложения. Как всё это обновлять ответа нигде нет... Только использовать автоматизацию в jenkins или gitlab ci. Но в таком случае выходит то о чём я говорил - дополнительным не нужным ПО заменять шаг деплоя приложения. Бред полнейший.............

  • @Sam_Sepiol6785

    @Sam_Sepiol6785

    4 ай бұрын

    Арго - инструмент, который видит git источником правды, все менеджится через гит, если кто-то что поправил руками в кубере, арго это заметит и синхронизирует так как в гите. Ты можешь иметь одну репу с твоими хелм чартом/чартами и разные helm- values под разные кластера. Ставишь applicationset и все прекрасно разливается хоть в сотни кластеров, используя твои value файлы. Это очень удобно

  • @MrMikhailDJ

    @MrMikhailDJ

    4 ай бұрын

    @@Sam_Sepiol6785 в этом и проблема. Если нужно внести изменения, то нужно под каждый стенд менять отдельно в разных источниках и если это еще можно как ты сказал управлять через helm, то ситуация с тем, что если разработчику надо на определенное время в определенном сервисе поменять одно единственное значение в кубере, то оно не применяется, потому что арго увидит и изменит на свои. Тогда выходит, что нужен постоянный передеплой, а это неудобно. Пока не вижу плюсов… Плюс CD процесс нужно менять таким образом, чтобы у тебя в еще одну доп репу какую-то манифесты пушились. Слишком сильно усложняет структуру и процесс CI/CD. Если ты знаешь статью хорошую на эту тему, то скинь пожалуйста. Иначе мне непонятно как применять этот инструмент для больших приложений при работе в большой команде

  • @valk9819

    @valk9819

    2 ай бұрын

    @@MrMikhailDJ @ADV-IT так получается нельзя внести изменения только для одного сервиса ?

  • @CokePaul
    @CokePaul7 ай бұрын

    Цікаво, а нахуя воно треба? Жити в Канаді де все в дві рази дорожче ніж в Європі, проте в Канаді. Люди впахують заради того щоб флексити перед своїми знайомими, друзями і тд. Чуш, живіть краще заради себе!

  • @ADV-IT

    @ADV-IT

    7 ай бұрын

    Это был урок про ArgoCD, а не про Канаду.

  • @CokePaul

    @CokePaul

    7 ай бұрын

    @@ADV-IT Сорі, це я до іншого відео комент хотів написати, щос не туди пішло😂 А вам лайк за годні уроки!👍

  • @andrey.nekrasov
    @andrey.nekrasov6 ай бұрын

    "# Can be deployed ONLY after ArgoCD deployment: depends_on = [module.argocd_prod]" - кто нибудь, подскажите как это реализовать? У меня ошибка "Error: Module is incompatible with count, for_each, and depends_on". Терраформ v1.6.4

  • @ADV-IT

    @ADV-IT

    6 ай бұрын

    Ну просто поставь Comment #### # А потом убери Comment ####

  • @andrey.nekrasov

    @andrey.nekrasov

    6 ай бұрын

    @@ADV-IT я так и сделал )) но хотелось бы настроить нормально. Еще один вопрос - "APP HEALTH Progressing" крутиться - куда копать, что бы это починить? У меня локальный k3d.

  • @ADV-IT

    @ADV-IT

    6 ай бұрын

    @@andrey.nekrasov github.com/adv4000/argocd-terraform/blob/main/terraform_argocd_eks/argocd.yaml#L22-L30

  • @andrey.nekrasov

    @andrey.nekrasov

    6 ай бұрын

    ​@@ADV-ITок, попробую убрать этот кусок.

Келесі