Подготовка кластера
1. Создаем ns и RBAC
Для этого запускаем скрипт setup.sh, перед запуском <Ваш номер логина> меняем на свой номер студента!!.
bash ~/slurm/practice/14.ci-cd/1.1.prepare_cluster/setup.sh s<Ваш номер логина>-xpaste production
В конце своего выполнения скрипт выдаст нам токен, который необходимо сохранить.
2. Создание variables в gitlab
Для доступа из Gitlab в Kubernetes нам необходимо добавить в Gitlab переменную, в которой будет содержаться токен с предыдущего шага.
- Переходим в Gitlab
Для этого открываем в браузере свой форк xpaste. <Ваш номер логина> меняем на свой номер студента:
https://gitlab.slurm.io/s<Ваш номер логина>/xpaste
- Добавляем переменную
Для этого в левом меню находим Settings -> CI/CD -> Variables и нажимаем Expand. Жмем кнопку Add Variable и в поле Key вводим имя переменной:
K8S_CI_TOKEN
В поле Value вводим скопированный токен из вывода команды setup.sh (пункт 1) и нажимаем Add Variable.
3. Создаем token для доступа в registry
Для этого переходим в раздел Settings -> Repository -> Deploy tokens и нажимаем Expand.
В поле Name вводим
k8s-pull-token
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
6. Создание секрета для приложения
Создаем секрет, из которого при деплое будут взяты значения для переменных окружения, таких как доступы к БД и секретный ключ. Вносим нужные данные в скрипт xpaste_secret.sh и запускаем его:
vim xpaste_secret.sh
./xpaste_secret.sh
secret-key-base xxxxxxxxxxxxx это не плэйсхолдер. Можно так и оставить.