issues/27: restore local-k8s guide set

This commit is contained in:
Valery Petrov
2026-06-03 18:39:59 +03:00
parent 2e4164e5f1
commit 100170a71b
6 changed files with 190 additions and 3 deletions
+43
View File
@@ -0,0 +1,43 @@
# Как зайти (локальная 4-VM ферма)
Сначала: `k8s/scripts/print-urls-4vm.sh` → добавить строки в `/etc/hosts`.
Пароли: `k8s/scripts/print-credentials.sh`
## /etc/hosts
```text
192.168.252.8 argocd.sova.local
192.168.252.4 git.sova.local
192.168.252.5 grafana.sova.local prometheus.sova.local
192.168.252.6 api.test.sova.local admin.test.sova.local cabinet.test.sova.local docs.sova.local
```
`api.test` / `admin.test` — на **App VM (.6)**, не на Edge.
## Сервисы
| Сервис | URL | Примечание |
|--------|-----|------------|
| **Gitea** | http://git.sova.local:30300/ | org `sova` |
| **ArgoCD** | http://argocd.sova.local:**30104**/ или http://192.168.252.8:**30104**/ | не :80 |
| **Grafana** | http://grafana.sova.local:**30337**/ | admin + пароль из скрипта |
| **Loki** | Grafana → **Explore** → datasource **Loki** | `{namespace="sova-test"}` |
| **API test** | http://api.test.sova.local/ | hosts → **192.168.252.6** |
| **Admin** | http://admin.test.sova.local/ | hosts → **192.168.252.6** |
## CI-тег (пример backend)
```bash
cd k8s
./scripts/repair-app-git-repos.sh # если репо в Gitea были одинаковые
./scripts/release-tag.sh backend backend-v1.0.4-test
```
Actions: http://git.sova.local:30300/sova/backend/actions
## Перезапуск
```bash
cd k8s && ./scripts/restart-local-multicluster.sh
```
@@ -0,0 +1,39 @@
# Чеклист проверки (локальная ферма)
## /etc/hosts и пароли
```bash
cd k8s
./scripts/print-urls-4vm.sh
./scripts/print-credentials.sh
```
## Smoke
```bash
curl -H "Host: api.test.sova.local" http://192.168.252.6/
curl -H "Host: admin.test.sova.local" http://192.168.252.6/
open http://git.sova.local:30300/
open http://argocd.sova.local:30104/
open http://grafana.sova.local:30337/ # Explore → Loki
./scripts/release-tag.sh backend backend-v1.0.4-test
export KUBECONFIG=~/.kube/config-k8s-app-test
kubectl get pods -n sova-test
```
## Edge (ArgoCD)
Нужно **≥4G RAM** (`EDGE_MEM=4G` в `multipass-4vm.env`). Пересоздание:
```bash
./scripts/bootstrap-edge-only.sh
```
## Полная отладка
```bash
./scripts/fix-and-verify.sh
```
+45
View File
@@ -0,0 +1,45 @@
# CI/CD, репозитории, Loki — паритет с `k3s-test`
Каталог **`k8s/`**. У каждого приложения свой `.git` в `sova-backend/` и т.д. (не корень монорепо).
## Репозитории в Gitea
| Gitea repo | Локальная папка |
|------------|-----------------|
| `backend` | `k8s/sova-backend/` |
| `adminpanel` | `k8s/sova-adminpanel/` |
| `cabinet` | `k8s/sova-cabinet/` |
| `docs` | `k8s/sova-docs/` |
| `sova-deploy` | `k8s/sova-deploy/` |
| `sova-mocks` | `k8s/sova-mocks/` |
Синхронизация из монорепо: `k8s/scripts/sync-from-monorepo.sh`
## CI/CD через теги
Формат: `{компонент}-v{semver}-{test|stage|prod}` (например `backend-v1.0.4-test`).
```bash
cd k8s
VM_NAME=vm-k8s-git ./scripts/bootstrap-gitea-ci-secrets.sh
VM_NAME=vm-k8s-git ./scripts/bootstrap-gitea-runner.sh
VM_NAME=vm-k8s-app-test REGISTRY_GIT_IP=192.168.252.4 SKIP_K3S_RESTART=1 ./scripts/configure-k3s-registry.sh
./scripts/release-tag.sh backend backend-v1.0.4-test
```
`deploy-gitops` пушит в ветку **`test`/`stage`/`prod`** в `sova-deploy` (не `main`).
## Loki
1. Loki на **Mgmt** (`vm-k8s-mgmt`), namespace `monitoring`.
2. **Promtail** на App TEST — app `promtail-test`.
3. **Grafana****Explore****Loki** (`{namespace="sova-test"}`).
Если Grafana не стартует (два default datasource) — см. `k8s/scripts/deploy-platform-mgmt.sh` (удаление `loki-loki-stack` CM).
## Донастройка
```bash
./scripts/apply-k3s-test-parity.sh
./scripts/fix-and-verify.sh
```
+22
View File
@@ -0,0 +1,22 @@
# Git-flow: ветки, теги (k8s / локальная ферма)
Полная документация: [test-contour/git-flow](../test-contour/git-flow).
## Быстрый старт
```bash
cd k8s
./scripts/setup-git-flow-branches.sh
./scripts/setup-gitea-branch-protection.sh
./scripts/release-tag.sh backend backend-v1.0.4-test
```
## Ветки
| Ветка | Контур |
|-------|--------|
| `prod` | production (default) |
| `test` | test k3s / ArgoCD `targetRevision: test` |
| `stage` | stage |
`sova-deploy` в Gitea: ветки `test` / `stage` / `prod`**без `main`**.
-3
View File
@@ -9,9 +9,6 @@
| [CI/CD и Loki](./ci-and-logs) | теги, registry, Grafana Explore |
| [Чеклист проверки](./checklist-verify) | smoke после поднятия |
| [Git-flow (кратко)](./git-flow) | ветки, теги → [полная версия](../test-contour/git-flow) |
| [Argo CD: test-contour и promtail-test](./argocd-contours) | зонтик GitOps и Promtail |
| [Redmine #27: ветки issues/27](./issues-27-branches) | перенос из monorepo → Gitea |
| [Redmine ↔ Gitea (MR → #27)](./redmine-gitea) | webhook, проект «Новый сайт» |
План платформы: [K8s + Terraform + ArgoCD](../k8s-cicd-platform-plan).
+41
View File
@@ -0,0 +1,41 @@
# Локальный non-prod (4 VM Multipass)
Соответствует плану v2.1 **без** prod и DB HA. Каталог: **`k8s/`**.
## VM
| VM | RAM | Роль |
|----|-----|------|
| `vm-k8s-edge` | 4G | ArgoCD, ingress |
| `vm-k8s-git` | 3G | Gitea, runner |
| `vm-k8s-mgmt` | 4G | Prometheus, Grafana, Loki |
| `vm-k8s-app-test` | 8G | test/stage k3s, PG/MySQL, apps |
Суммарно ~19G — `k8s/scripts/multipass-4vm.env`.
## Запуск
```bash
cd k8s
./scripts/bootstrap-local-multicluster.sh local-test
./scripts/verify-nonprod.sh
```
## GitOps
- ArgoCD на Edge, деплой в кластер **`app-test`**
- Ветка Gitea: **`test`** (не `main`)
- Контур **`prod-contour`** не применяется (`LOCAL_NONPROD=1`)
- Promtail → Loki на Mgmt (`LOKI_PUSH_URL`)
## Переключение test ↔ stage
```bash
./sova-deploy/scripts/switch-test-stage.sh stage # на Edge kubeconfig
```
## Удаление VM
```bash
multipass delete vm-k8s-edge vm-k8s-git vm-k8s-mgmt vm-k8s-app-test --purge
```