docs: HISTORY — подробная сводка развёрнутого стека, правила платформы, план хвостов
This commit is contained in:
@@ -798,3 +798,52 @@ consumer → PG → чтение через /v1/.../telemetry.
|
||||
- Процедура для чужого кластера без kubectl: PG-auth в EMQX (вместо HTTP),
|
||||
порядок деплоя EMQX→iot-service, UUID из консоли deck, DSN с sslmode=require,
|
||||
роль с CREATEROLE/CREATEDB, один EXPOSE-порт в образе EMQX.
|
||||
|
||||
---
|
||||
|
||||
## 25. ПОДРОБНАЯ СВОДКА: что развёрнуто на платформе (16.08)
|
||||
|
||||
### Контейнеры (realm iot-naeel, кластер iot-naeel)
|
||||
| Компонент | ns (instanceUid) | Домен | Образ |
|
||||
|---|---|---|---|
|
||||
| EMQX | `2fdd9658-4995-494f-892a-d88dda7da1ee` | exqx.containerk8s.dev.nubes.ru | naeel/iot-emqx:v0.2.0 |
|
||||
| iot-service | `4504e05b-7b7f-4689-a61f-fbf6234dd0ed` | iot.containerk8s.dev.nubes.ru | naeel/iot-service:v0.1.0 |
|
||||
| shared-sqs | `f1ffb134-7d16-45bd-8bef-69f6ec8ab33c` | sqs.containerk8s.dev.nubes.ru | (чужой) |
|
||||
| ws-probe (тест) | `2d9b96ff-…` | testiot.containerk8s.dev.nubes.ru | (тестовый) |
|
||||
|
||||
### Managed-сервисы
|
||||
- PostgreSQL: инстанс `postgresqlk8s`, instanceUid `509145c3-ba71-4687-a084-d9dcbc88d3d2`,
|
||||
internalMaster `postgresqlk8s-master.509145c3-….svc.cluster.local:5432`.
|
||||
Роль `iot_service` (CREATEROLE, CREATEDB), БД `iotdb`. DSN:
|
||||
`postgresql://iot_service:<пароль>@…:5432/iotdb?sslmode=require` (SSL обязателен!).
|
||||
- shared-sqs: тенант `t-fec713a719ad0b33`, очередь `iot-telemetry`,
|
||||
внутренний endpoint `containerk8s.f1ffb134-….svc.cluster.local:4100`.
|
||||
|
||||
### Env iot-service (заданы/пропатчены)
|
||||
IOT_PG_DSN (sslmode=require), SQS_ACCESS_KEY, SQS_SECRET_KEY, MQTT_USERNAME,
|
||||
MQTT_PASSWORD, ADMIN_STATS_TOKEN, MQTT_HOST=containerk8s.2fdd9658-….svc.cluster.local,
|
||||
AUTH_TEST_MODE=true (ТЕСТ! вернуть false).
|
||||
|
||||
### Env EMQX (пропатчены kubectl)
|
||||
EMQX_AUTHENTICATION__1__URL=http://containerk8s.4504e05b-….svc.cluster.local:9090/internal/mqtt/auth
|
||||
EMQX_AUTHORIZATION__SOURCES__1__URL=http://containerk8s.4504e05b-….svc.cluster.local:9090/internal/mqtt/acl
|
||||
EMQX_LOG__CONSOLE_HANDLER__LEVEL=debug (диагностика)
|
||||
|
||||
### Правила платформы (выстраданы)
|
||||
1. Путь к образу в deck фиксируется при создании → только latest + redeploy;
|
||||
зеркало кэширует latest → в НАШЕМ кластере kubectl set image уникальным тегом.
|
||||
2. Env в deck фиксируются при создании (формат JSON в форме — выяснить!).
|
||||
3. Порт приложения берётся из EXPOSE образа; поле порта в форме отсутствует →
|
||||
образ обязан иметь РОВНО один EXPOSE.
|
||||
4. Загрузка EMQX на CPU-квоте 500m — 5–10 мин (не зависание!); dashboard
|
||||
падает с таймаутами; для deck задавать CPU ≥1000m.
|
||||
5. PG требует SSL: pg_hba no encryption → sslmode=require.
|
||||
|
||||
### Хвосты (текущий план работ)
|
||||
1. AUTH_TEST_MODE=false.
|
||||
2. EMQX v0.2.1: убрать dashboard из конфига; CPU-квота (наш кластер — patch,
|
||||
deck — рекомендация).
|
||||
3. PG-auth в EMQX (без kubectl для чужого кластера): authentication postgres
|
||||
(devices + bridge) + authorization postgres + http-фолбэк; монолит создаёт
|
||||
bridge-строку в iot_devices (EnsureBridgeDevice).
|
||||
4. Процедура деплоя для чужого кластера (документ).
|
||||
|
||||
Reference in New Issue
Block a user