- infrastructure/overview.md: исправить S3 URL, Container Registry (DockerHub), namespace sless, Terraform Registry terra.k8c.ru - errors/log.md: добавить 3 ошибки — kaniko S3 scheme, бесконечный цикл сборки, docker credStore desktop.exe - decisions/log.md: добавить решения — DockerHub, terraform провайдер в той же репе, WaitReady паттерн, code_hash для версионирования кода - api/design.md: обновить базовый URL, добавить upload endpoint с описанием процесса, исправить runtime список
64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# Инфраструктура
|
||
|
||
## Kubernetes кластер (существующий, временный)
|
||
|
||
- **Version:** v1.33.1
|
||
- **Ноды:** 1 control-plane + 2 workers
|
||
- **CNI:** Cilium
|
||
- **Ingress:** nginx, external IP `5.172.178.182`
|
||
- **Storage:** rawfile CSI (OpenEBS), StorageClass `local-path` (default)
|
||
- **cert-manager:** есть
|
||
- **Kyverno:** есть (политики — проверить при деплое)
|
||
|
||
## Namespace'ы для sless
|
||
|
||
| Namespace | Что там |
|
||
|-----------|---------|
|
||
| `sless` | PostgreSQL, Secret sless-registry-auth, RBAC |
|
||
| `sless-fn-{namespace}` | Deployments функций и их Services/Ingress |
|
||
| `terra` | Terraform registry-server, terraform-operator |
|
||
|
||
## Terraform Registry
|
||
|
||
- **URL:** `https://terra.k8c.ru`
|
||
- Image: `naeel/terraform-registry-server:gpg-key-20260208`
|
||
- Хранилище: S3 `terraform-registry`, путь: `{hostname}/{namespace}/{provider}/{version}/`
|
||
- Провайдер sless: `terra.k8c.ru/naeel/sless` v0.1.0 опубликован
|
||
- GPG ключ подписи: `CB3A0DF161ECC416` (файл: `terraform/secrets/private_key.asc`)
|
||
|
||
## S3
|
||
|
||
- **URL:** `https://s3.msk-1.ngcloud.ru` (HTTPS обязателен — Ceph требует схему)
|
||
- **Тип:** Ceph S3 compatible
|
||
- Доступ: внешний, через access/secret key
|
||
- Бакет для кода функций: `sless-functions`
|
||
- Бакет для Terraform registry: `terraform-registry`
|
||
- **Важно:** kaniko требует `S3_FORCE_PATH_STYLE=true` и полный URL с `https://`
|
||
- Путь для контекстов сборки: `contexts/{namespace}/{name}/{timestamp}.tar.gz`
|
||
|
||
## Container Registry
|
||
|
||
- Namespace `registry` — это **Apache NiFi Registry** (НЕ Docker registry), порты 18080/18443
|
||
- Docker registry: **DockerHub**, user `naeel`
|
||
- Образы функций: `naeel/sless-{namespace}-{name}:latest`
|
||
- Runtime образы: `naeel/sless-runtime-{runtime}:latest`
|
||
- Для kaniko: Secret `sless-registry-auth` (docker-registry type) в namespace `sless`
|
||
|
||
## DockerHub образы
|
||
|
||
| Образ | Назначение |
|
||
|-------|------------|
|
||
| `naeel/sless-runtime-python3.11:latest` | Base runtime для python3.11 функций |
|
||
| `naeel/sless-default-hello:latest` | Пример собранной функции (kaniko) |
|
||
|
||
## Мониторинг
|
||
|
||
- Victoria Metrics — в кластере
|
||
- Grafana: `https://grafana.ngcloud.ru`
|
||
|
||
## Будущий кластер
|
||
|
||
Новый кластер готовится. После переезда:
|
||
- Манифесты переносятся без изменений
|
||
- Меняются только конфиги подключения к S3/PostgreSQL если нужно
|