Files
sless/doc/infrastructure/overview.md

73 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инфраструктура
## 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) |
## Nubes Cloud endpoints
> **Не путать** — оба домена похожи, но разные назначения:
| URL | Назначение |
|-----|------------|
| `https://deck-api-test.ngcloud.ru/api/v1/index.cfm` | **API Dashboard** — используется в Terraform-провайдерах (`nubes`, `sless → nubes_endpoint`). Без `/index.cfm` — 404. |
| `https://deck-test.ngcloud.ru/` | **UI облака** — только браузер, в Terraform не использовать |
## Мониторинг
- Victoria Metrics — в кластере
- Grafana: `https://grafana.ngcloud.ru`
## Будущий кластер
Новый кластер готовится. После переезда:
- Манифесты переносятся без изменений
- Меняются только конфиги подключения к S3/PostgreSQL если нужно