Files
Sergey Bondarev 18abde91e0 ass cicd p2
2021-12-14 14:56:14 +03:00
..
2021-12-14 14:56:14 +03:00
2021-12-14 14:56:14 +03:00
2021-12-14 14:56:14 +03:00
2021-12-14 14:56:14 +03:00

Подготовка кластера

1. Создаем SA для helm

Для этого запускаем скрипт setup.sh.

bash setup.sh xpaste production

В конце своего выполнения скрипт выдаст нам токен, который необходимо сохранить.

2. Создание variables в gitlab

Для доступа из Gitlab в Kubernetes нам необходимо добавить в Gitlab переменную, в которой будет содержаться токен с предыдущего шага.

  • Переходим в Gitlab

Для этого открываем в браузере свой форк xpaste.

  • Добавляем переменную

Для этого в левом меню находим Settings -> CI/CD -> Variables и нажимаем Expand. Жмем кнопку Add Variable и в поле Key вводим имя переменной:

K8S_PROD_CI_TOKEN

В поле Value вводим скопированный токен из вывода команды setup.sh (пункт 1) и нажимаем Add Variable.

3. Создаем token для доступа в registry

Для этого переходим в раздел Settings -> Repository -> Deploy tokens и нажимаем Expand.

В поле Name вводим

k8s-pull-token-prod

Cтавим галочку рядом с read_registry. Все остальные поля оставляем пустыми. Нажимаем Create deploy token.

!!НЕ ЗАКРЫВАЕМ ОКНО БРАУЗЕРА!!

4. Создаем secret в kubernetes

Создаем secret, который будет использоваться для image pull. Для этого возвращаемся на первый master и выполняем команду: Вносим нужные данные в скрипт docker_pull_secret.sh и запускаем его:

Соответственно подставляя на место <> нужные параметры, которые получили на шаге 3.

vim docker_pull_secret.sh
./docker_pull_secret.sh

5. Создание секрета для приложения

Создаем секрет, из которого при деплое будут взяты значения для переменных окружения, таких как доступы к БД и секретный ключ. Вносим нужные данные в скрипт xpaste_secret.sh (в данном случае ничего не меняем) и запускаем его:

vim xpaste_secret.sh
./xpaste_secret.sh

secret-key-base xxxxxxxxxxxxx это не плэйсхолдер. Можно так и оставить.