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 будет прокидываться внутрь контейнера, оставаясь отлично редактируемой в файловой системе.
Перед запуском нужно выполнить ряд проверочных шагов:
-
Контейнер с приложением должен быть собран и размещен где-то, откуда его сможет забрать кластер. В большинстве случаев это Docker Hub.
-
Нужно убедиться, что у сервисного аккаунта кластера есть роль load-balancer.admin -- эта роль не добавляется, если сервисный аккаунт для кластера создается автоматически
-
Еще перед установкой нужно определиться с тем, каким образом мы будем доставлять трафик к приложению. В этом примере мы возьмем 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 .