docs(runbook): bookva-es урезан до 256m (Portainer стек 37, доступ есть), gotcha 5 исправлена
This commit is contained in:
@@ -27,8 +27,8 @@ process (mongod) score ~114`). Симптом-задача — «ozon fbs produc
|
|||||||
- **mongo (БД sched):** `books-job-scheduler-mongo` = `172.20.0.5:27017`, image `mongo:4.2`,
|
- **mongo (БД sched):** `books-job-scheduler-mongo` = `172.20.0.5:27017`, image `mongo:4.2`,
|
||||||
БД `agendaDb` (sched-задачи: `sched_tasks`, `sched_schedules`, `sched_runs`). Source-of-truth compose:
|
БД `agendaDb` (sched-задачи: `sched_tasks`, `sched_schedules`, `sched_runs`). Source-of-truth compose:
|
||||||
`/usr/docker/books-job-scheduler/docker-compose.yml` (**files-based**, НЕ Portainer-kzntsv).
|
`/usr/docker/books-job-scheduler/docker-compose.yml` (**files-based**, НЕ Portainer-kzntsv).
|
||||||
- **ES:** `elasticsearch` (`/usr/docker/elasticsearch/docker-compose.yml`, `ES_JAVA_OPTS=-Xmx256m`),
|
- **ES:** `elasticsearch` (стек 33, `/usr/docker/elasticsearch/docker-compose.yml`, `ES_JAVA_OPTS=-Xmx256m`),
|
||||||
`bookva-es` (Portainer/hidden — см. gotchas, `ES_JAVA_OPTS=-Xmx512m`).
|
`bookva-es` (**Portainer стек 37, endpoint 1**; `ES_JAVA_OPTS` урезан 512m→`-Xmx256m`).
|
||||||
- **CI-остатки:** `buildx_buildkit_builder-*` (`moby/buildkit:buildx-stable-1`), удалены.
|
- **CI-остатки:** `buildx_buildkit_builder-*` (`moby/buildkit:buildx-stable-1`), удалены.
|
||||||
|
|
||||||
## Диагностика (как понять, что это OOM)
|
## Диагностика (как понять, что это OOM)
|
||||||
@@ -60,7 +60,8 @@ docker rm -f buildx_buildkit_builder-1ba06752-bf56-4b50-88c5-ce1b48f44a4e0 build
|
|||||||
```
|
```
|
||||||
|
|
||||||
### 3. Урезать ES heap (вторично; elasticsearch уже 256m)
|
### 3. Урезать ES heap (вторично; elasticsearch уже 256m)
|
||||||
`bookva-es` → `ES_JAVA_OPTS=-Xms256m -Xmx256m` (через его деплой; см. gotchas).
|
`bookva-es` → `ES_JAVA_OPTS=-Xms512m -Xmx512m` → `-Xms256m -Xmx256m`.
|
||||||
|
Сделано: Portainer PUT стека 37 (`PUT /api/stacks/37?endpointId=1` с реконструированным compose). Verify: `docker logs bookva-es | grep heap` → `heap size [256mb]`.
|
||||||
|
|
||||||
## Verify / smoke
|
## Verify / smoke
|
||||||
|
|
||||||
@@ -80,7 +81,7 @@ docker rm -f buildx_buildkit_builder-1ba06752-bf56-4b50-88c5-ce1b48f44a4e0 build
|
|||||||
2. **Управление books VDS — файловые compose** `/usr/docker/*/docker-compose.yml`, НЕ Portainer-kzntsv. `portainer.kzntsv.site` endpoints — только `primary`+`stostayer`, книг там нет. Свой Portainer на books VDS — без host-port (нестандартно), напрямую не доступен. **Канон kzntsv «всё через Portainer» на книги не распространяется.**
|
2. **Управление books VDS — файловые compose** `/usr/docker/*/docker-compose.yml`, НЕ Portainer-kzntsv. `portainer.kzntsv.site` endpoints — только `primary`+`stostayer`, книг там нет. Свой Portainer на books VDS — без host-port (нестандартно), напрямую не доступен. **Канон kzntsv «всё через Portainer» на книги не распространяется.**
|
||||||
3. **`com.docker.compose.project.config_files=/data/compose/22`** (label) — старый путь Portainer; `/data/compose/*` на диске НЕ существует. Реальный источник — `/usr/docker/*/docker-compose.yml`.
|
3. **`com.docker.compose.project.config_files=/data/compose/22`** (label) — старый путь Portainer; `/data/compose/*` на диске НЕ существует. Реальный источник — `/usr/docker/*/docker-compose.yml`.
|
||||||
4. **compose-файлы в CRLF** (`\r\n`) — python-патч учитывать line-ending (иначе needle не матчит).
|
4. **compose-файлы в CRLF** (`\r\n`) — python-патч учитывать line-ending (иначе needle не матчит).
|
||||||
5. **`bookva-es`** — deploy неоднозначен (нет локального compose, `/data/compose/37` нет; управляется скрытым механизмом) — править осторожно, только при понимании деплоя.
|
5. **`bookva-es`** — **Portainer стек 37 (endpoint 1)**. Доступ есть: `BOOKS_PORTAINER_URL` + `BOOKS_PORTAINER_API_KEY` из `pass books-vds/full-env`. НО `GET /api/stacks/:id` НЕ отдаёт `stackFileContent` (в этой версии Portainer), поэтому compose реконструируется из `docker inspect` и обновляется через `PUT` стека. Не менять вслепую без этих данных.
|
||||||
6. **mongo warning XFS** — предупреждение, не ошибка (данные на ext4).
|
6. **mongo warning XFS** — предупреждение, не ошибка (данные на ext4).
|
||||||
7. **`command` массив** в compose: `command: ["mongod", "--wiredTigerCacheSizeGB", "0.25"]` — строку тоже можно, но список надёжнее.
|
7. **`command` массив** в compose: `command: ["mongod", "--wiredTigerCacheSizeGB", "0.25"]` — строку тоже можно, но список надёжнее.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user