issues/27: restore local-k8s guide set
This commit is contained in:
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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`**.
|
||||
@@ -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).
|
||||
|
||||
|
||||
@@ -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
|
||||
```
|
||||
Reference in New Issue
Block a user