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
Это вообще круть!!!!!! Самая наикрутейшая круть!!!! Спасибо брат за проделанную работу.
@dzmitrydarashuk6528
2 ай бұрын
Чудненько!
Денис, спасибо за труды! Все очень доступно и понятно! Приятно смотреть.
Спасибо, смотрю тебя много лет, восхищен качеством контента!
Просто супер годнота, лайкаю каждый твой видос, спасибо тебе огромное!
Это то чего я искал. Как всегда без воды и все по делу. Спасибо.
Спасибо большое за работу. Супер доступно и полезно. А будет ли продолжение типо интеграция с Argo-Workflows, Argo-Rollout, External Secrets... ?
Топ топ топ...!) Спасибо за контент и мои расширяющиеся глаза!) И этож надо все в 30 минут уложил... Надеюсь за пару дней рассмакую на своем примере ролик ☸
Спасибо большое! Кратко и ёмко про argocd.
Как обычно все четко и понятно. Спасибо!!
Спасибо за видео и пример. Именно примеры так сказать Prod-like сетапа наиболее интересные потому что близки к реальности. Реально круто) и хочется еще функционал как ребята писали ниже Argo-Workflows, Argo-Rollout, External Secrets
Огромное спасибо! Не думал, что это так просто
Благодарю вас гуру ADV-IT 🙏🙌❤
Действительно интересно и полезно. Тысячекратное спасибо!!!
Денис спасибо приятно смотреть твои видео даже если уже это все знаешь.
Большое спасибо. Это то что я очень искал и собирал в интернете по крупицам. А у вас все в двух видео. Очень круто. Еще раз вам спасибо. Смотрю ваш канал с 2017 года примерно. С этих видео я и начал свою дорогу в DevOps. Хотел спросить, а не могли бы вы сделать видео о том как апгрейдить кебер кластеры в AWS через Terraform? Думаю, это было бы очень интересно всем.
Денис, спасибо большое !!
Дэн молодец
Привет, я очень рад, что нашел твой канал, тут есть все, что мне надо !!!! Искал медь, а нашел золото. Большое спасибо, вечных пингов )
Super cool content. Good job! 🤟🤟🤟
красава
хотелось бы еще увидеть интеграцию "argocd" например с "helm"+"hashicorp vault"+"external secrets operator". мы его так используем..мб вы покажете более интересное решение.
@user-sb2lk5bq9k
8 ай бұрын
Я использую helm + sealed secret keys )
@MrMikhailDJ
7 ай бұрын
Вопрос. Сколько у вас на проекте приблизтельно сервисов, если не секрет? И сколько суммарно переменных для всего приложения? Сколько деплоев в день делают ваши разработчики на различные стенды? Мы с нашей командой DevOps не можем проанализировать где argoCD может в теории быть удобен, когда на проекте около 45 сервисов и под 1000 переменных различных, которые нужно добавлять убирать и т.д. При использовании обычных методов для достижения целей CI, ArgoCD для нас заменяет только шаг deploy to kubernetes. Использования ArgoCD в целом какая-то бессмыслица, если у вас условно 2-3 сервиса и не более 5 деплоев в день. Иначе это излишне усложняет инфраструктуру.
@MrMikhailDJ
7 ай бұрын
Как с вами связаться, Евгений?
@eugene782
7 ай бұрын
@@MrMikhailDJ если у вас есть отработанные практики деплоя Argocd и приложений в него то никакой сложности в этом нет. И не важно какого размера проект...Преимущества - gitops. Я не потерплю когда кто то в команде лезет в клстер руками что то делать..Все должно быть в гите! У меня всего 20 команд разработки, у каждой по 1-2 проекта. Деплоятся по-разному..кто то и раз в неделю..а кто то и раз в час... Переменных тоже разное количество..у кого то штук 20..А у рельсового монолита что то около 1000...Ну и к тому же инфру мы тоже деплоим через арго: ингресы, стейтфулл БД, всякое нужное ПО итд...Все переменные добавляются в helm values как ссылка на секрет, создаваемый external secrets operator.(который высасывает секреты из hashicorp vault)
Спасибо большое
Спасибо.
best
спасибо!
Классный урок, спасибо А подскажите пожалуйста, можно ли терраформом/по апи, как-то еще изменить значение values? Нужно дергать иногда одну из переменных хельма, но изменения в гите или руками в графике делать не хотелось бы...
Купил курс на udemy cicd ради argocd, а он тут в свободном доступе )) @ADV-IT Денис, подскажи пожалуйста , я видел подобные видео от других авторов, и плюс минус читал это в доке, но мне не понятно как правильно автоматизировать ci, чтобы в при cd не надо было руками пушить файл и изменненым id билда в репозиторий для того чтобы Argo CD задеплоил мой залитый в ECR или другой Docker registry имедж в кубер? Я как вариант вижу создание template yaml файла с $buildid и потом git push его в репозиторий?
спасибо отличный урок, какую программу используете для линукса на вашей виндовс машине ?
@ADV-IT
5 ай бұрын
MobaXTerm
Привет автору, нашел твой канал по комментарию под одной статьей. Хочу погрузиться в изучение devops. Увидел у тебя на канале много видео и собранные плей-листы. Спасибо за это, но подскажите есть ли где то инструкция в каком лучше порядке их смотреть? Или какие-то рекомендации для начала, буду благодарен.
@ADV-IT
7 ай бұрын
kzread.info/dash/bejne/c6x3ybxwqbixorg.html
Добрый день. Спасибо за Ваш труд, не перестаю черпать что-то новое для себя. Будет ли видео по работе с секретами в ArgoCD? Например, через Sealed secrets?
@ADV-IT
7 ай бұрын
Не в планах пока
@user-ks7cv6ff1i
6 ай бұрын
@@ADV-IT Запишите в беклог, пожалуйста. Очень нужно видео по сикретах, Hashikorp Vault сикретах
Денис, спасибо! Вопрос такой, а вы не планируете выкладывать видео по elk? Очень хотелось бы разобраться в данной теме с вами.
@ADV-IT
7 ай бұрын
Я не знаю ELK
@Slubs89
7 ай бұрын
@@ADV-ITДавайте изучать вместе)))
Привет, а в какой программе ты делаешь превью для ютуб?
@ADV-IT
7 ай бұрын
PowerPoint
ого! гранд мерсі!
Здравствуйте Денис! Прошёл уже весь курс до сюда, повторяю всё на windows 10 в minikube. Скажите пожалуйста, реализумо ли повторить всё что в этом уроке - локально на minikube? Уж очень хочется argocd в живую пощупать)) Minikub умеет создавать два кластера, сейчас вот создал их два по две ноды. Или придётся всё таки создать на aws аккаунт, закинуть денежку, купить и настроить домен, и доучиваться уже там? Да, и спасибо огромное за труды Ваши - теперь знаю Кубер настолько, чтобы влиться в проекты на новой работе))
@ADV-IT
7 ай бұрын
Можно конечно, только Load Balancer который на моих services на minikube нету
@olegen1
7 ай бұрын
я поднял все на минике, LB также эмулируется нормально через minikube tunnel, в арго все синкается и зеленое. Только смысла 2 кластера по 3 ноды делать нет, можно один оставить. Могу дать гит
@jammin7341
7 ай бұрын
@@olegen1 давайте, был бы крайне признателен, интересно посмотреть)
@Kulturnik
6 ай бұрын
@@olegen1будем ждать, хочется посмотреть. Спасибо.
Нужна малая инструкция как это всё провернуть новичку на локальных кластерах и без terraform,а то с самого начала файлы про настройку aws сбивают с толку, мы нубы очень будем благодарны. Благодарю за ваш контент. AVE отец devops всея Руси!
дык а как деплой новых версий образов автоматизировать? Чтоб хелм руками каждый раз не править. Есть конторы где в день по 200 деплоев проходит, и руками номера версий замучаешься менять. Не уж то в ci гит коммит гит пуш автоматизировать после сборки образа?
@ADV-IT
4 ай бұрын
В перой части рассказал как всё автоматизировать
В общем не знаю где спросить чтоб заметили и ответили надеюсь автор обратит внимание на мой пост )) В общем я практикующий беккенд разработчик с опытом и меня интересует подойдет ли мне курс Дениса на юдеми для деплоя сервера, настройки и т.д - минимальный набор для того чтоб запустить беккенд на серваке + настроить какой то пайплайн ну и для сертификации в дальнейшем конечно же потому что нравится материал и как автор поясняет
@ADV-IT
7 ай бұрын
DevOps CI/CD Pipelines куча примеров с нуля в принципе
AWS CloudHSM есть возможность рассказать про это? чет мало инфы для чего это и кто юзает это) но дорого капец)
@ADV-IT
7 ай бұрын
Никому не нужный просто, это только для Compliance определенного типа. ключи держаться на Hardware а не в Cloud.
@ADV-IT подскажи пожалуйста плагин для редактирования кода, что бы он красиво расставлял пробелы после знака =
@Bashir-xs7ld
8 ай бұрын
Это не плагин, в настройках VS Code нужно поставить галочку Format on save.
Привет! Хочу спросить, стоит ли идти на курсы DevOps от онлайн школ? И если стоит, то на какие? Или подскажите где взять реальные задачи? Сам работаю сисадмином, но хочется перекфалифицироваться слегка
@trew91111
8 ай бұрын
ага жизнь непредсказуема, работал в цоде серваки виртуалки, 2 недели назад устроился енекеем ,так жалко знания мои пропадают, и выполнять тупую работу школьника
@m1lson304
8 ай бұрын
@@trew91111 а зачем тогда устроился?🫣
@trew91111
8 ай бұрын
@@m1lson304 семью чем кормить?
@m1lson304
8 ай бұрын
@@trew91111 найти что тебе подкстать
@user-fq1st5vn4n
7 ай бұрын
Не стоит, тут достаточно
кто подскажет чем отличается в арго рефреш от хард рефреш?
Приветствую. У меня вопрос, как можно удалить автоматически job если при попытке скачать image для pod я получаю ImagePullBackOff ошибку? Есть такая возможность?
@ADV-IT
7 ай бұрын
Откатить обратно в git на предыдушую версию
@Tiberiumgod
7 ай бұрын
@@ADV-IT Я пытаюсь создать job с помощью nodejs пакета для kubernetes, чтобы исполнить тяжёлые операции с помощью временного pod, которому выделяются большие ресурсы памяти и процессора. Все работает кроме варианта, если что то случилось при попытке достать image. Тогда job не завершается и не удаляется. А pod имеет статус ImagePullBackOff. Меня интересует, есть ли возможность как то обработать такую проблему используя файл манифест для job? Я нашел опцию activeDeadlineSeconds, но я не знаю как долго может исполняться код. Нужно, чтобы при первой же ошибке job маркировался как проваленный и освобождал ресурсы обратно, удаляя все.
Спасибо за видео. Но есть пара просьб - можно рассказывать помедленнее раза в 1.5 - 2 хотя бы, а то приходится отматывать и пересматривать несколько раз в некоторых моментах и больше рассказывать о деталях - как работает terraform, состав файлов - что, где, для чего и зачем и прочее, что такое чарты и зачем они нужны. Я просто лично вообще не понял каким образом терраформ деплоит сам argo, просмотрел файлы, не непонятно чего и для чего там прописано. Когда это все деплоится напрямую через kubectl то все понятно, есть конкретная команда, но в этих файлах ничего похожего на нее нет.
@ADV-IT
5 ай бұрын
Это не курс по Terraform, он есть в других моих видео. Это не курс по Helm, он есть в других моих видео.
Стал поднимать в миникубе и что то app контейнеры валятся с php error
@olegen1
7 ай бұрын
поднимал на маке, а оказывается image автора для x86/64 только представлены. Если кто повторяет все на минике на маке - меняйте образ, например, на nginx или httpd
Денис, дай пожалуйста скидочный купон на твои курсы на Udemy :) если есть такая возможность
@ADV-IT
4 ай бұрын
На какой?
@abyrvalg809
4 ай бұрын
@@ADV-IT на кубер
@ADV-IT
4 ай бұрын
www.udemy.com/course/rus-kubernetes/?couponCode=12C2E5E82AF6DFB08B6B Спасибо!
А где ссылка на GIT ? :)
@ADV-IT
7 ай бұрын
Для ленивых: github.com/adv4000/argocd github.com/adv4000/argocd-terraform
@igorgladkov8270
7 ай бұрын
@@ADV-IT я не ленивый, было сказано размещу, а не разместил. Я поправил тебя 🤓
Печально, что Argocd не умеет одновременно нормально работать с разными values.yaml в одном чарте. Тогда можно было бы из 1 чарта сразу деплоить тест, прод и т.д.
@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
7 ай бұрын
@@dyagilev5278вариант, надо будет попробовать
@Denriful
7 ай бұрын
еще как вариант - для каждого окружения свой бранч
о нет!!! установка через терраформ!!! 😭
@ADV-IT
3 ай бұрын
Вообще на работе абсолютно все через terraform, ничего в ручную не делается
Уже туеву кучу видео про argoCD посмотрел, но всё никак не могу понять преимуществ его использования перед обычным грамотно настроенным ci/cd пайплайном в jenkins. Пока пришёл к выводу, что argoCD - это просто аналог стейджа deploy to kubernetes в каком-нибудь пайплайне для деплоя приложений в кластер. Неудобно и нет возможности персистентно всё это настраивать, чтобы можно было управлять десятками сервисов, где под 1000 переменных суммарно исп. для всего приложения. Как всё это обновлять ответа нигде нет... Только использовать автоматизацию в jenkins или gitlab ci. Но в таком случае выходит то о чём я говорил - дополнительным не нужным ПО заменять шаг деплоя приложения. Бред полнейший.............
@Sam_Sepiol6785
4 ай бұрын
Арго - инструмент, который видит git источником правды, все менеджится через гит, если кто-то что поправил руками в кубере, арго это заметит и синхронизирует так как в гите. Ты можешь иметь одну репу с твоими хелм чартом/чартами и разные helm- values под разные кластера. Ставишь applicationset и все прекрасно разливается хоть в сотни кластеров, используя твои value файлы. Это очень удобно
@MrMikhailDJ
4 ай бұрын
@@Sam_Sepiol6785 в этом и проблема. Если нужно внести изменения, то нужно под каждый стенд менять отдельно в разных источниках и если это еще можно как ты сказал управлять через helm, то ситуация с тем, что если разработчику надо на определенное время в определенном сервисе поменять одно единственное значение в кубере, то оно не применяется, потому что арго увидит и изменит на свои. Тогда выходит, что нужен постоянный передеплой, а это неудобно. Пока не вижу плюсов… Плюс CD процесс нужно менять таким образом, чтобы у тебя в еще одну доп репу какую-то манифесты пушились. Слишком сильно усложняет структуру и процесс CI/CD. Если ты знаешь статью хорошую на эту тему, то скинь пожалуйста. Иначе мне непонятно как применять этот инструмент для больших приложений при работе в большой команде
@valk9819
2 ай бұрын
@@MrMikhailDJ @ADV-IT так получается нельзя внести изменения только для одного сервиса ?
Цікаво, а нахуя воно треба? Жити в Канаді де все в дві рази дорожче ніж в Європі, проте в Канаді. Люди впахують заради того щоб флексити перед своїми знайомими, друзями і тд. Чуш, живіть краще заради себе!
@ADV-IT
7 ай бұрын
Это был урок про ArgoCD, а не про Канаду.
@CokePaul
7 ай бұрын
@@ADV-IT Сорі, це я до іншого відео комент хотів написати, щос не туди пішло😂 А вам лайк за годні уроки!👍
"# 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
6 ай бұрын
Ну просто поставь Comment #### # А потом убери Comment ####
@andrey.nekrasov
6 ай бұрын
@@ADV-IT я так и сделал )) но хотелось бы настроить нормально. Еще один вопрос - "APP HEALTH Progressing" крутиться - куда копать, что бы это починить? У меня локальный k3d.
@ADV-IT
6 ай бұрын
@@andrey.nekrasov github.com/adv4000/argocd-terraform/blob/main/terraform_argocd_eks/argocd.yaml#L22-L30
@andrey.nekrasov
6 ай бұрын
@@ADV-ITок, попробую убрать этот кусок.