Cloudflare Zero Trust

Подключение к внутренней сети

Единая точка входа для доступа к инфраструктуре Yatta через Cloudflare WARP. Установите клиент, авторизуйтесь через Yandex ID и получите доступ ко всем сервисам.

Cloudflare One · WARP Client

Скачайте клиент, установите и при подключении введите название команды

1
Установите WARP Скачайте клиент для вашей ОС
2
Подключитесь к команде Settings → Account → Login with organization
3
Введите имя команды yattacourse
4
Авторизуйтесь Через Yandex ID (SAML 2.0)

Как это работает

*.yattacourse.cloud → DNS → 158.160.166.254 (NLB) → через WARP tunnel и VM в кластер

УСТРОЙСТВО Браузер / CLI WARP Client Split Tunnel Include CLOUDFLARE EDGE Gateway Identity check Tunnel Router yatta-internal WireGuard YANDEX CLOUD · VPC yatta-dev-vpc VM cloudflared 10.0.3.x · MASQUERADE Tunnel connector tunnel NLB (публичный) 158.160.166.254 *.yattacourse.cloud HTTPS Envoy Gateway 10.96.62.232 (ClusterIP) *.yattacourse.dev routing 10.96.* KUBERNETES · yatta-dev · Pod CIDR 10.112.0.0/16 · Service CIDR 10.96.0.0/16 cloudflared×2 ns:cloudflare-tunnel CoreDNS 10.96.0.2 Pods api · grafana · loki · tempo · pyroscope · … route by Host *.yattacourse.cloud DNS → 158.160.166.254 Split Tunnel → WARP → VM Tunnel Routes 10.0.0.0/16 (VPC) 10.96.0.0/16 (Svc) 10.112.0.0/16 (Pod) 158.160.166.254/32
УСТРОЙСТВО Браузер / CLI WARP Client CLOUDFLARE EDGE Gateway DNS + Policy Tunnel yatta-internal WireGuard YANDEX CLOUD · VPC yatta-dev-vpc · 10.0.0.0/16 VM · cloudflared 10.0.3.x · MASQUERADE Tunnel connector #1 tunnel KUBERNETES · yatta-dev · Service CIDR 10.96.0.0/16 · Pod CIDR 10.112.0.0/16 cloudflared × 2 ns: cloudflare-tunnel Connector #2 (in-cluster) CoreDNS 10.96.0.2 rewrite .cloud→.local Envoy Gateway 10.96.62.232 (LB) *.yattacourse.dev/cloud Pods api, grafana loki, minio… HTTP → LB 10.96.62.232 Путь DNS-запроса 1. WARP Domain Fallback 2. → CoreDNS 10.96.0.2 (через tunnel) 3. → resolve *.yattacourse.* = 10.96.62.232 4. HTTP → Envoy GW → route to Pod Путь HTTP-трафика 1. WARP → CF Edge (WireGuard) 2. Tunnel → VM cloudflared 3. VM → 10.96.62.232 (Envoy LB) 4. Envoy → Pod (by Host header)
Domain Fallback: *.yattacourse.dev, *.svc.cluster.cloud → CoreDNS 10.96.0.2 · *.yattacourse.cloud → публичный DNS → 158.160.166.254 → через WARP tunnel
*.yattacourse.cloud
  1. DNS → Cloudflare public → 158.160.166.254
  2. IP в Split Tunnel Include → WARP перехватывает
  3. WireGuard → CF Edge → Tunnel → VM cloudflared
  4. VM → NLB → Envoy Gateway → Pod
*.yattacourse.dev
  1. DNS → Domain Fallback → CoreDNS 10.96.0.2
  2. CoreDNS → 10.96.62.232 (Envoy ClusterIP)
  3. IP в 10.96.0.0/16 → WARP → Tunnel → K8s cloudflared
  4. Envoy Gateway → Pod (route by Host)
*.svc.cluster.cloud
  1. DNS → Domain Fallback → CoreDNS 10.96.0.2
  2. CoreDNS rewrite: .cloud → .local
  3. Resolve → ClusterIP / PodIP
  4. WARP → Tunnel → прямой доступ к сервису

Доступные сервисы

Все внутренние ресурсы доступны после подключения WARP

Приложения

API

api.yattacourse.dev

REST API платформы Yatta

yatta-api.yatta.svc.cluster.cloud

HTTPS :443

Admin

admin.yattacourse.dev

Панель администрирования

yatta-admin.yatta.svc.cluster.cloud

HTTPS :443

Dashboard

dashboard.yattacourse.dev

Личный кабинет авторов

yatta-dashboard.yatta.svc.cluster.cloud

HTTPS :443

Portal

portal.yattacourse.dev

Портал обучения студентов

yatta-portal.yatta.svc.cluster.cloud

HTTPS :443

Site

yattacourse.dev

Маркетинговый сайт (Next.js SSR)

yatta-site.yatta.svc.cluster.cloud

HTTPS :443

Observability

Grafana

grafana.yattacourse.cloud

Мониторинг и дашборды

grafana.observability.svc.cluster.cloud :3000

HTTPS :443

Faro (Alloy)

faro.yattacourse.cloud

Browser RUM collector (Grafana Faro → Alloy)

HTTP :12347

Loki

loki.yattacourse.cloud

Агрегация и поиск логов (API-only, UI через Grafana)

loki.monitoring.svc :3100

HTTP :3100нет веб-UI
curl https://loki.yattacourse.cloud/loki/api/v1/labels curl https://loki.yattacourse.cloud/ready

Tempo

tempo.yattacourse.cloud

Distributed tracing (API-only, UI через Grafana)

tempo.monitoring.svc :3200

HTTP :3200нет веб-UI
curl https://tempo.yattacourse.cloud/ready curl https://tempo.yattacourse.cloud/api/traces/{traceID}

Pyroscope

pyroscope.yattacourse.cloud

Continuous profiling

pyroscope.observability.svc.cluster.cloud :4040

HTTPS :443

OTLP Collector

otel-collector.observability.svc.cluster.cloud

Приём телеметрии (только внутренний)

gRPC :4317HTTP :4318

Инфраструктура

Keycloak

id.yattacourse.dev

Аутентификация и SSO (публичный)

HTTPS :443

Базы данных

Подключайтесь по внутреннему DNS через WARP. Credentials запросите у DevOps.

PostgreSQL

postgres-postgresql.yatta.svc.cluster.cloud

TCP :5432
psql -h postgres-postgresql.yatta.svc.cluster.cloud -p 5432 -U <user> -d <db>

Redis / Valkey

valkey-master.yatta.svc.cluster.cloud

TCP :6379
redis-cli -h valkey-master.yatta.svc.cluster.cloud -p 6379

ClickHouse

clickhouse.yatta.svc.cluster.cloud

HTTP :8123
curl 'http://clickhouse.yatta.svc.cluster.cloud:8123/?query=SELECT+1'
💡 DNS-хак: .svc.cluster.cloud = .svc.cluster.local — CoreDNS rewrite через WARP Domain Fallback.

Прямой доступ к Pods и Services

Обращайтесь напрямую по IP или доменному имени через Split Tunnel

По доменному имени

<service>.<namespace>.svc.cluster.cloud резолвится CoreDNS в ClusterIP

curl http://yatta-api.yatta.svc.cluster.cloud:80/v1/health

По ClusterIP / Pod IP

Service CIDR 10.96.0.0/16 · Pod CIDR 10.112.0.0/16

kubectl get svc -n yatta # → ClusterIP kubectl get pods -n yatta -o wide # → Pod IP curl http://<ip>:<port>