GH GambleHub

Контейнерлештирүү жана оркестрлештирүү

1) Эмне үчүн контейнерлер жана k8s iGaming

Өзгөртүү ылдамдыгы: алдын ала сүрөттөр, бир Pipline CI/CD.
Туруктуулук: авто-кайра баштоо, горизонталдуу скейл, self-hiling.
Маалыматтарды/аймактарды изоляциялоо: юрисдикциядагы неймспейстер/кластерлер.
Операциялык стандарттар: ресурстар саясаты, бирдиктүү журнал/метрика/соода.

Керек болбогондо: кичинекей команда, 2-3 кызмат, сейрек релиздер - PaaS/модулдук монолит менен баштоо.

2) Сүрөттөр жана реестрлер (OCI/Docker)

2. 1 Сүрөттөрдү чогултуу - принциптери

Multi-stage: bild → rantaim (назик негизги сүрөттөр 'distroless', 'alpine' кылдаттык менен).
Кайталануу :/sha256, 'COPY --chown', '--mount = type = cache' версияларын BuildKit 'ге жазыңыз.
SBOM жана кол тамга: 'cosign sign/verify', 'slsa provenance', саясат "гана кол коюлган".
Slim-down: dev-tools алып салуу, 'USER nonroot', 'readOnlyRootFilesystem' кирет.

Dockerfile мисал (Node. js)

dockerfile build
FROM node:22-bookworm AS build
WORKDIR /app
COPY package. json./
RUN npm ci --omit=dev
COPY..
RUN npm run build

runtime (distroless)
FROM gcr. io/distroless/nodejs22
WORKDIR /srv
COPY --from=build /app/dist./dist
COPY --from=build /app/node_modules./node_modules
USER 10001
ENV NODE_ENV=production
CMD ["dist/server. js"]

2. 2 Реестрлер жана саясаттар

Private registry + гео-реплика (EU/NA) GDPR латенттүүлүгүн жана шайкештигин азайтуу үчүн.
Retention/immutability: PoP-жылы кэш жылытуу, тег кайра жазууга тыюу салуу.
Admission-Control: кол коюлган/таза сүрөттөр гана (cosign + Trivy/Grype).

3) Оркестр: Kubernetes негизги үлгүлөрү

3. 1 примитивдүү

Deployment - стателсиз кызматтар (лобби, API).
StatefulSet - капчык/кезек/сактоо (fix-аты, туруктуу көлөмү).
DaemonSet - блог агенттери/тармак компоненттери.
Job/CronJob - миграция, отчеттор, ETL.

3. 2 Ресурстар жана QoS

'requests/limits' (CPU/Memory) → QoS класстары жана болжолдуу пландаштыруу.
Бурстабли гана бул билип туруп жерде; критикалык - Guaranteed.
Критикалык төлөм PODs бөлүнгөн пулга (taints/tolerations, node-affinity) жайгаштырылат.

3. 3 Туруктуулук жана релиздер

Probes: 'startup', 'liveness', 'readiness' (убакыт жана мезгилдер менен).
Rollout: `maxSurge/maxUnavailable`, canary через вес в Ingress/Gateway/Service Mesh.
PDB (PodDisruptionBudget) + graceful shutdown (PreStop hook, `terminationGracePeriodSeconds`).
Drain/cordon nod жаңыртып жатканда.

4) Тармак: CNI, кызматтар, кириш трафик

4. 1 CNI катмары

Calico/Cilium/Weave - тармак саясаты (NetworkPolicy), аткаруу үчүн eBPF.
аралык эрежелер: минималдуу зарыл egress/ingress.

4. 2 Кызматтар жана кирүү

Service: `ClusterIP/NodePort/LoadBalancer`.
L7 үчүн Ingress же Gateway API: жол/хедер/хост, TLS, канарейка салмагы.
mTLS кластердин ичинде: кызмат-меш аркылуу (Istio/Linkerd) - TLS жана саясат кармоо.

Мисал HTTPRoute (Gateway API, канар салмагы)

yaml apiVersion: gateway. networking. k8s. io/v1 kind: HTTPRoute spec:
rules:
- backendRefs:
- name: lobby-v1 weight: 90 port: 8080
- name: lobby-v2 weight: 10 port: 8080

5) Сактоо: CSI/PV/PVC, том класстары

Провайдердин CSI драйверлери (EBS/PD/Premium SSD) + аткаруу параметрлери менен 'storageClass'.
Sharing үчүн RWX (NFS/FSx/Filestore) - кулпу менен кылдаттык менен.
Backup/калыбына келтирүү: Velero/Kasten, мезгил-мезгили менен снапшот, калыбына келтирүү текшерүү.
Шифрлөө: диск деңгээлинде жана DD (KMS) деңгээлинде.

6) Auto-масштабдуу: HPA/VPA/KEDA

HPA (CPU/RAM/типтүү метриктер боюнча - RPS, p95): API/лобби үчүн.
VPA (сунуштар/авто) - туруктуу воркерлер үчүн.
KEDA (event-driven) - Кафка/SQS/Redis, Cron-шедул кезектери боюнча масштаб.
Cluster Autoscaler - жүк түйүндөрү; чокулары үчүн warm бассейндер (турнирлер/агымдар).

7) Кызмат-меш (зарыл болгон)

mTLS/саясат кызматы, ID Authorization (SPIFFE).
Circuit-breaker/timeout/retry, outlier-ejection, күзгү (shadow).
Телеметрия кутудан: бирдиктүү метриктер жана жолдор.
Ичке трафик менеджменти керек болгон жерде колдонуңуз (төлөмдөр, оюн провайдерлери).

8) Коопсуздук: сырлар, саясат, шайкештик

Secrets: тышкы менеджер (AWS/GCP/Azure KMS, External Secrets), айлануу.
Саясат-as-code: OPA/Gatekeeper/Kyverno - тыюу ': latest', root-USER, hostPath, артыкчылыктар.
Укуктардын эскалациясы: Namespaces + RBAC, Dev/Stage/Prod бөлүнүшү, аудит.
Image Security: CI/CD сканерлөө, кол коюу (cosign), кол коюу боюнча admission.
mTLS жана JWT ичинде (меш), WAF/Rate-чектөө кире (Ingress/Gateway).

9) Байкоо жана SLO

Metrics: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, saturations.
Logs: структуралык JSON → Loki/Elastic, PII/PAN/IBAN жашыруу.
Traces: OTLP → Tempo/Jaeger; 'trace _ id' шлюзден келет.
SLO: Мисалы, 'Deposit p95 ≤ 300 ms, success ≥ 98. 5% ', alerty burn-rate.
Проактивдүүлүк: дашборддор per-service/per-route, DLQ боюнча watchdog жана кезек лагдары.

10) CI/CD, Helm, GitOps

CI: Линтерлер, тесттер (unit/contract/integration), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: 'values' менен декларативдик чарттар. 'курчап турат.
GitOps (ArgoCD/Flux): single-source-of-truth, PR-ревю манифесттер, rollback баскычы.
Стратегиялары: көк-жашыл, canary, shadow; схемалар көчүрүү - expand-and-contract.

values үзүндүсү. yaml (ресурстар/үлгүлөрү)

yaml resources:
requests: { cpu: "200m", memory: "256Mi" }
limits:  { cpu: "500m", memory: "512Mi" }
livenessProbe: { httpGet: { path: /healthz, port: 8080 }, initialDelaySeconds: 20, periodSeconds: 10 }
readinessProbe: { httpGet: { path: /readyz, port: 8080 }, initialDelaySeconds: 5, periodSeconds: 5 }

11) пландаштыруу жана изоляция

NodePools: тез диск менен "төмөн ызы-чуу" түйүндөрүнө төлөмдөрдү/капчыкты бөлүп.
Taints/Tolerations: оор жүктөр үчүн корголгон пулдар.
(Anti-) Affinity: аймактар/түйүндөр (HA) боюнча көчүрмөлөрдү жайып.
ResourceQuota/LimitRange боюнча неймспейс - "ызы-чуу кошуна" коргоо.

12) Мультикластер, көп аймак, DR

Юрисдикциялар боюнча бөлүү: EU/LatAm/ROW кластерлери; резиденттердин маалыматтары - жергиликтүү.
GSLB/Anycast кире бериште, байкоо жана алерталар.

DR-деңгээл:
  • Warm standby (сунушталат): сынчыл DD синх-реплика, мезгил-мезгили менен текшерүү failover.
  • Active-Active окуу/аймактык багыттоо үчүн.
  • Резервация: backaps (Velero), rehearial калыбына келтирүү.

13) iGaming өзгөчөлүгү

Төлөмдөр/капчык: p95 ≤ 300-500 ms, жеке бассейндер жана катуу PDB; canary 1→5→10%.
Лобби/мазмун: RPS/INP боюнча агрессивдүү HPA, жылытылган сүрөттөр/вектордук кэш.
Live оюндар/агымдар: LC/минималдуу retrains, узун убакыт сокет, байланыш боюнча sticky.
Комплаенс: катуу саясат менен неймспейс, KMS аркылуу сырлар, Хелм-релиздер өзгөрүүлөрдү текшерүү.
Жооптуу оюн: лимиттер/блоктор кызматы - артыкчылыктуу трафик (саясат боюнча fail-open/close).

14) Чек-баракчалар

Кызмат көрсөтүүнүн алдында

  • Multi-этап сүрөт, USER nonroot, cosign кол, сканер өттү.
  • Requests/limits, probes, env/secret тышкы менеджерден.
  • PDB, `maxUnavailable ≤ 1`, graceful shutdown.
  • SLO/Алерта, DD үчүн кулпудан жол.
  • Канар схемасы жана кайтаруу планы.
  • OPA/Kyverno саясаты өтөт (no root, no hostPath, no: latest).

Кластер/платформа

  • CNI жана NetworkPolicy кирет; mTLS (меш) зарыл болгон жерде.
  • StorageClass/retenshn, backup/restore текшерилген.
  • HPA/VPA/KEDA орнотулган; Cluster Autoscaler и warm-pool.
  • RBAC минималдуу, аудит кирет, сырлар - KMS тартып.
  • GitOps: репозиторийдеги хит-параддар/манифесттер, PR кароо талап кылынат.

15) Анти-үлгүлөрү

Сүрөттөр 'latest', root-колдонуучу, "калың" базалык катмарлар.
Жок 'requests/limits' → эвикциялар/троттлинг.
Readiness = liveness.
taints жок бир ок боюнча statful/stateless аралаштыруу.
expand-and-contract жок "чекеге" схемаларын көчүрүү.
Аймактык обочолонуусуз "бардык рынокторго" жалгыз кластер.
PII/PAN менен Логи, ConfigMap сырлары.
Жок PDB/drenage → чокулары жана жаңыртуу менен үзүндүлөр.

16) Платформа Метрика (минималдуу)

Кластер: CPU/mem requests vs allocatable, pod-churn, node-pressure.
Тармак: p95 per-route, 4xx/5xx, reset/timeout, retry-rate, mTLS каталар.
Сактоо: IOPS/latency, queue-depth, CSI каталар.
Autoscale: HPA decisions, CA окуялар, жылытуу убактысы.
Бизнес: TTP, TtW, FTD-success, провайдер боюнча төлөмдөрдү четке кагуу.
Коопсуздук: OPA дал келбестиктер, кол коюлган эмес сүрөттөр, мөөнөтү өтүп кеткен сырлар.

17) Манифесттердин мисалдары

Deployment (API, канар label)

yaml apiVersion: apps/v1 kind: Deployment metadata: { name: wallet-api, labels: { app: wallet, track: stable } }
spec:
replicas: 4 strategy: { type: RollingUpdate, rollingUpdate: { maxSurge: 1, maxUnavailable: 1 } }
selector: { matchLabels: { app: wallet, track: stable } }
template:
metadata: { labels: { app: wallet, track: stable } }
spec:
serviceAccountName: wallet-sa containers:
- name: api image: registry. local/wallet/api@sha256:...
ports: [{ containerPort: 8080 }]
resources:
requests: { cpu: "250m", memory: "256Mi" }
limits:  { cpu: "500m", memory: "512Mi" }
readinessProbe: { httpGet: { path: /readyz, port: 8080 }, periodSeconds: 5 }
livenessProbe: { httpGet: { path: /healthz, port: 8080 }, initialDelaySeconds: 20 }
securityContext:
runAsNonRoot: true readOnlyRootFilesystem: true

PDB (капчык)

yaml apiVersion: policy/v1 kind: PodDisruptionBudget spec:
minAvailable: 3 selector: { matchLabels: { app: wallet } }

HPA (custom-metrics аркылуу RPS боюнча)

yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler spec:
minReplicas: 4 maxReplicas: 40 metrics:
- type: Pods pods:
metric:
name: http_requests_per_second target:
type: AverageValue averageValue: "50"

18) Ишке ашыруу процесси (спринттер боюнча)

1. Сүрөттөрдү чогултуу жана коопсуздук: multi-этап, SBOM, кол тамгалар, admission саясаты.
2. Базалык платформа k8s: CNI, Ingress/Gateway, мониторинг/логи/соода, StorageClass.
3. CI/CD жана GitOps: Helm-чарттар, чөйрө, canary/rollback, схемалар көчүрүү.
4. Скейл жана туруктуулук: HPA/VPA/KEDA, PDB, node пулдар, taints/affinity, DR планы.

Жыйынтыктоочу шпаргалка

Жука, кол коюлган сүрөттөр + кирүү саясаты = коопсуздук негизи.
Үлгүлөр, ресурстар, PDB, drain = релиздердин туруктуулугу.
HPA/VPA/KEDA + тюнинг бассейндер = масштабы жок "чөгүп".
Gateway/Ingress + mTLS/OPA = коопсуз периметри жана ички байланыш.
Observability + SLO + GitOps = башкарылуучу өзгөрүүлөр.
Аймактык изоляция жана DR = комплаенс жана бузулууга туруктуулук.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.