mirror of
https://github.com/slurm-personal/school-dev-k8s.git
synced 2026-06-27 13:50:24 +00:00
delete old
This commit is contained in:
@@ -20,9 +20,9 @@ build:
|
||||
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
||||
- |
|
||||
/kaniko/executor --context $CI_PROJECT_DIR \
|
||||
--cache=true --cache-repo=$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME \
|
||||
--cache=true --cache-repo=$CI_REGISTRY_IMAGE \
|
||||
--dockerfile $CI_PROJECT_DIR/Dockerfile \
|
||||
--destination $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
--destination ${CI_REGISTRY_IMAGE}:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
|
||||
deploy:dev:
|
||||
stage: deploy
|
||||
@@ -35,7 +35,7 @@ deploy:dev:
|
||||
- kubectl config set-context ci --cluster=k8s --user=ci
|
||||
- kubectl config use-context ci
|
||||
- helm upgrade --install xpaste .helm
|
||||
--set image=$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
|
||||
--set image=$CI_REGISTRY_IMAGE
|
||||
--set imageTag=$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
|
||||
--debug
|
||||
--atomic
|
||||
|
||||
@@ -9,31 +9,12 @@ Gitlab CI/CD описывается в файле `.gitlab-ci.yml` в форма
|
||||
Для этого скопируем заранее подготовленный шаблон `.gitlab-ci.yml` в проект `xpaste`, выполнив команду:
|
||||
|
||||
```bash
|
||||
cp ~/slurm/practice/14.ci-cd/1.2.deploy/.gitlab-ci.yml ~/xpaste/
|
||||
cp .gitlab-ci.yml ~/xpaste/
|
||||
```
|
||||
|
||||
## 2. Адрес Kubernetes API
|
||||
|
||||
В файле `.gitlab-ci.yml` указан IP-адрес нашего общего kube api.
|
||||
|
||||
## 3. Настройка базы данных
|
||||
|
||||
Сервер базы данных общий для всех студентов, каждому студенту выделена своя база данных.
|
||||
Логин и пароль для доступа к БД мы указывали при создании секрета, а в параметрах чарта укажен название БД.
|
||||
|
||||
Для этого откроем `values.yaml`:
|
||||
|
||||
```bash
|
||||
vi ~/xpaste/.helm/values.yaml
|
||||
```
|
||||
|
||||
В начале файла необходимо заменить строку `<Ваш номер логина> - меняем на свой номер студента!!`:
|
||||
|
||||
```diff
|
||||
- DB_NAME: <номер своего логина>_xpaste
|
||||
+ DB_NAME: s000001_xpaste
|
||||
```
|
||||
|
||||
В файле `.gitlab-ci.yml` указан адрес kube api. Так как runner запущен внутри кластера кубернтес, можем указать название сервиса kubernetes.default
|
||||
|
||||
## 3. Настройка ingress
|
||||
|
||||
@@ -44,11 +25,11 @@ vi ~/xpaste/.helm/values.yaml
|
||||
vi ~/xpaste/.helm/values.yaml
|
||||
```
|
||||
|
||||
В конце файла необходимо заменить строку `<Ваш номер логина> - меняем на свой номер студента!!`:
|
||||
В переменной host необходимо указать DNS название, которое вы выдали сайту xpaste:
|
||||
|
||||
```diff
|
||||
- host: xpaste.s<Ваш номер логина>.mcs.slurm.io
|
||||
+ host: xpaste.s000001.mcs.slurm.io
|
||||
- host: xpaste.s<Ваш номер логина>.edu.slurm.io
|
||||
+ host: xpaste.s000001.edu.slurm.io
|
||||
```
|
||||
|
||||
Сохраняем все изменения и пушим их в gitlab. Для этого необходимо выполнить команды:
|
||||
@@ -62,47 +43,20 @@ git push
|
||||
|
||||
## 4. Переключаемся в namespace приложения
|
||||
|
||||
До сих пор мы работали в неймспейсе кластера Kubernetes с названием `s<номер_студента>`
|
||||
|
||||
Но наше приложение xpaste устанавливается в другой namespace `s<номер_студента>-xpaste-production`.
|
||||
Наше приложение xpaste устанавливается в другой namespace `xpaste-development`.
|
||||
Для удобства работы, чтобы не набирать каждый раз опцию `--namespace` изменим namespace, который kubectl использует по умолчанию:
|
||||
|
||||
```bash
|
||||
kubectl config set-context --current --namespace=s<номер_студента>-xpaste-production
|
||||
kubectl config set-context --current --namespace=xpaste-development
|
||||
```
|
||||
|
||||
## 5. Проверка результата
|
||||
|
||||
Для проверки результата необходимо перейти в Gitlab в раздел `ci/cd -> pipelines` форка проекта xpaste.
|
||||
Можно воспользоваться прямой ссылкой: `https://gitlab.slurm.io/sXXXXXX/xpaste/pipelines`. `sXXXXXX` необходимо заменить на номер своего студента.
|
||||
Можно воспользоваться прямой ссылкой: `https://gitlab.com/sXXXXXX/xpaste/pipelines`. `sXXXXXX` необходимо заменить на свой каталог в гитлабе.
|
||||
|
||||
В результате все job должны закончиться без ошибок.
|
||||
|
||||
## 6.Открываем приложение в браузере
|
||||
|
||||
В браузере открываем URL: http://xpaste.s<Ваш номер логина>.mcs.slurm.io. `<Ваш номер логина>` необходимо заменить на номер своего студента. Открывать нужно в режиме `инкогнито`.
|
||||
|
||||
Если вы увидели `503` ошибку, значит практику выполнили верно.
|
||||
|
||||
## 7. Самостоятельная работа
|
||||
|
||||
Самостоятельная работа продолжительностью 5 минут. Во время самостоятельной работы надо попробовать ответить на вопросы:
|
||||
|
||||
* Почему деплой закончился успешно, а приложение недоступно?
|
||||
* Что надо исправить в CI/CD ?
|
||||
* Что надо исправить в приложении или его настройках ?
|
||||
|
||||
Ошибку пока исправлять не надо.
|
||||
|
||||
## 8. Доработка CI/CD
|
||||
|
||||
* Для корректировки поведения CI/CD необходимо внести изменения в ci/cd, описанные в [snippet](https://gitlab.slurm.io/-/snippets/107)
|
||||
|
||||
Удаляем установленный релиз helm чарта:
|
||||
|
||||
```bash
|
||||
helm delete s<номер_студента>-xpaste
|
||||
```
|
||||
Далее пушим изменения и смотрим за процессом CI/CD.
|
||||
|
||||
После внесения изменений процесс деплоя должен завершиться с ошибкой.
|
||||
В браузере открываем URL: http://xpaste.s<Ваш номер логина>.edu.slurm.io. Открывать нужно в режиме `инкогнито`.
|
||||
|
||||
Reference in New Issue
Block a user