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 |
|
| [CI/CD и Loki](./ci-and-logs) | теги, registry, Grafana Explore |
|
||||||
| [Чеклист проверки](./checklist-verify) | smoke после поднятия |
|
| [Чеклист проверки](./checklist-verify) | smoke после поднятия |
|
||||||
| [Git-flow (кратко)](./git-flow) | ветки, теги → [полная версия](../test-contour/git-flow) |
|
| [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).
|
План платформы: [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