Skip to content

yandex-cloud-examples/yc-courses-ru-devsecops-fix-zap

Repository files navigation

Материалы для курса «DevSecOps в облачном CI/CD»

https://practicum.yandex.ru/profile/ycloud-devsecops/subscribe

Как собрать контейнер?

Собираю контейнер

docker build . -t maniaque/finenomore:1.0

И кладу его в Docker Hub

docker push maniaque/finenomore:1.0

Как запустить на своей машине?

docker-compose up

Как редактировать код?

Поскольку код у нас копируется в контейнер на этапе сборки, то редактировать код онлайн просто так не получится.

Чтобы сделать возможным простое редактирование, нам нужно переименовать файл docker-compose.override.yml- (да, именно так, с минусом) в файл docker-compose.override.yml (без минуса).

После этого можно выполнять команду docker-compose up, и директория app будет прокидываться внутрь контейнера, оставаясь отлично редактируемой в файловой системе.

Как запустить в кластере?

Перед запуском нужно выполнить ряд проверочных шагов:

  1. Контейнер с приложением должен быть собран и размещен где-то, откуда его сможет забрать кластер. В большинстве случаев это Docker Hub.

  2. Нужно убедиться, что у сервисного аккаунта кластера есть роль load-balancer.admin -- эта роль не добавляется, если сервисный аккаунт для кластера создается автоматически

  3. Еще перед установкой нужно определиться с тем, каким образом мы будем доставлять трафик к приложению. В этом примере мы возьмем Ingress-контроллер NGINX, его установка описана в документации

Дальше после получения необходимого файла конфигурации для доступа к кластеру, выполняем следующие команды для установки Ingress-контроллера NGINX:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

helm repo update

helm install ingress-nginx ingress-nginx/ingress-nginx

Для установки приложения в кластер можно использовать Helm Chart, который находится в директории k8s/finenomore

Переходим в эту директорию

cd k8s/finenomore

Устанавливаем чарт

helm install finenomore .