Деплой приложения в Kubernetes из GitLab - полная цепочка от настройки серверов до приложения

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 มิ.ย. 2024
  • В этом ролике я расскажу простыми словами и покажу как:
    - развернуть инстанс GitLab в Yandex.Cloud
    - как развернуть кластер Kubernetes в Yandex.Cloud
    - как настроить runner
    - как настроить GitLab-агент
    - как написать скрипт для автоматизации сборки и деплоя
    - ну и как это всё работает
    Видео большое и для удобства навигации можете пользоваться таймкодами:
    00:00 - Начало
    01:27 - Развертывание кластера Kubernetes в Yandex.Cloud
    05:20 - Развертывание инстанса GitLab в Yandex.Cloud
    07:19 - Создание группы узлов Kubernetes
    09:29 - Настройка kubectl
    12:46 - Начальная настройка GitLab
    14:31 - Создание проекта в GitLab
    17:03 - Краткий обзор GitLab
    17:56 - Настройка раннера (runner) в GitLab
    21:39 - Настройка GitLab container registry
    25:04 - Создание тестового Docker контейнера
    27:23 - Настройка CI-pipeline
    35:21 - Настройка GitLab-агента для интеграции с Kebernetes
    39:42 - Написание манифеста для создания Deployment
    42:01 - Описание фазы Deploy в CI/CD скрипте
    45:55 - Настройка аутентификации для скачивания имиджа из закрытого репозитория
    52:51 - Проверка работы контейнера
    54:51 - Выключение инстанса GitLab и кластера Kubernetes после работы для экономии
    55:23 - Заключительное слово

ความคิดเห็น • 30

  • @illillilli
    @illillilli 4 หลายเดือนก่อน

    Спасибо огромное что не поленился создать этот гайд. Прям то что нужно.

  • @user-oq3np1ud8q
    @user-oq3np1ud8q 7 หลายเดือนก่อน +1

    Спасибо за детальное изложение и подачу материла! В конце ноября 23года все работает. Даже с учетом того что в яндекс клауд появилась новая версия k8s и gitlab. Хотелось бы увидеть обозначенные в конце видео пункты про обновление докер файлов и подключение дашборда. И в целом хотелось бы видеть больше таких качественных видео. Ну и для новичков думаю было бы полезно в гите репозиторий с файлами из видео выложить.

  • @alekseykrekotnev7264
    @alekseykrekotnev7264 4 หลายเดือนก่อน

    Отличное видео, благодарю за труд, удачи в профессиональном развитии.

  • @user-ul4uv6xi7e
    @user-ul4uv6xi7e ปีที่แล้ว

    Отличное видео! Даешь больше видео по куберу? 😃

  • @kexyk372
    @kexyk372 2 หลายเดือนก่อน

    Блин как классно и просто рассказываешь!!! Смотрел на одном дыхании, очень ждем курс про дашборд и настройку безопасности. Также хотелось бы хотябы обзорно как реализован у вас проект в кубере в плане стэка бэкенд фронтенд взаимодействия и базы данных

    • @futuro135
      @futuro135  2 หลายเดือนก่อน

      У нас чего-то Кубер на проектах невостребован. Докер композ рулит! )

  • @OkupAiAbai
    @OkupAiAbai 3 หลายเดือนก่อน

    Сто тыщ лайков, добрый человек!

  • @user-ul9hz2kh4e
    @user-ul9hz2kh4e 8 หลายเดือนก่อน

    Расскажите про безопасность еще) И пример с SQL БД еще

  • @aleksandrdevelopment3321
    @aleksandrdevelopment3321 ปีที่แล้ว +1

    это просто то что нужно!!! искал материал, реально годный не найдешь, тут все на пальцах рассказано скажите пожалуйста нужно ли создавать Service Account или агент все берет на себя?

    • @futuro135
      @futuro135  ปีที่แล้ว

      Я уже забыл ))

  • @night_gryphon
    @night_gryphon 5 หลายเดือนก่อน +1

    как были сконструированы все эти "заклинания" для запуска kaniko? в официальном туториале всё вообще по другому. Где прочитать про описаный тут метод для большего понимания что откуда взялось и почему так?

  • @OkupAiAbai
    @OkupAiAbai 3 หลายเดือนก่อน

    Подскажите, пожалуйста, как добавить лод балансир для доступа к приложению из вне?

  • @OkupAiAbai
    @OkupAiAbai 3 หลายเดือนก่อน

    Подскажите почему для пула образы мы нигде не указываемы креды?

  • @DunSety
    @DunSety ปีที่แล้ว

    Огромное спасибо!
    Есть вопрос, а как это в конце работает когда порт пробрасываем, kubectl связывает порт из кластера с портом внешней тачки с которой мы кидаем команды?

    • @futuro135
      @futuro135  ปีที่แล้ว

      Если я правильно понял вопрос, то да ) мэппим порт контейнера на порт локальной машины, с которой запускаем kubectl

    • @DunSety
      @DunSety ปีที่แล้ว

      @@futuro135 Вот это круто конечно, не думал что так можно, подскажите, как вы обросли такими навыками? Что почитать или посмотреть?

  • @WebReferal
    @WebReferal ปีที่แล้ว

    Добавил в закладки видос, поверхностно промотал... Подскажите, дорого обходится в месяц Я.Облако? А то увидел у вас в ролике 6к в месяц и чет потерялся...

    • @futuro135
      @futuro135  ปีที่แล้ว

      Я вот не постоянно ЯО использую - так для экспериментов. Виртуалки и кластеры Кубера выключаю за собой ) Ну так у меня 3 кластера Кубера, 2 инстанса Гита, 4 виртуалки, DNS, куча айпишников, сетевой балансировщик, балансировщик приложений. За январь заплатил 6к. Кубер-то можно на локалке поставить вместе с Docker Desktop

  • @xxxxPomaHxxxx
    @xxxxPomaHxxxx ปีที่แล้ว

    Наверно надо было сказать что гитлаб дает бесплатные ранеры на 400 минут, более чем достаточно чтобы поиграться или на пет проекты.
    Было бы круто без гитлаб агентов сд сделать, привязываться так сильно к си ранеру не очень имхо, хочется иметь возможно с минимальными усилиями переехать.

    • @futuro135
      @futuro135  ปีที่แล้ว

      Гитлаб дает 400 минут раннеров только тем, кто прошел авторизацию с карточой VISA не российской под видом защиты от спама. Вот и всё.

    • @xxxxPomaHxxxx
      @xxxxPomaHxxxx ปีที่แล้ว

      @@futuro135 хмм, у меня не привязана, вроде норм всё бесплатно, тока вчера запускал, наверно для новых акков новые правила.

  • @OkupAiAbai
    @OkupAiAbai 3 หลายเดือนก่อน

    Подскажите где взять сертификат от портала гитлаб? (у вас на видео секьюр)

    • @futuro135
      @futuro135  3 หลายเดือนก่อน

      Я делал на Яндекс облаке. Там можно создавать бесплатные сертификаты Let’s encrypt. Ну можно и самому сделать сертификат Let’s encrypt

    • @OkupAiAbai
      @OkupAiAbai 3 หลายเดือนก่อน

      @@futuro135 Дело в том что созданный гитлаб уже имеет доменный адрес и сертификат, как его получить для того чтобы работать с репами удаленно?

  • @vladimirlutenco8373
    @vladimirlutenco8373 7 หลายเดือนก่อน

    джба выполнилась успешно. а по факту новый под не поднялся( вот тут бы не мешало бы доработать чтобы джоба падала раз под не поднялся или остался прошлый

  • @DunSety
    @DunSety ปีที่แล้ว

    А почему не использовать например общий гитлаб?

    • @futuro135
      @futuro135  ปีที่แล้ว

      По разным причинам. У меня главная причина - для авторизации в Гитлабе нужна привязка банковской карты, а российские карты не принимаются.

    • @DunSety
      @DunSety ปีที่แล้ว

      @@futuro135 Там тоже можно добавить свои раннеры, но когда я делал Гитлаб Агента, то он никак не хотел переходить в статус "Онлайн" пришлось переделывать с инстасом гитлаба в яндекс облаке

  • @OkupAiAbai
    @OkupAiAbai 3 หลายเดือนก่อน

    Такую хрень поймал, грешу на агент гитлаб User "system:serviceaccount:default:default"

    • @OkupAiAbai
      @OkupAiAbai 3 หลายเดือนก่อน

      разобрался: делой не правильно был орисан