GH GambleHub

Konteynerlashtirish va orkestrlash

1) Nima uchun konteynerlar va k8s iGaming

Oʻzgarish tezligi: bashorat qilinadigan rasmlar, yagona CI/CD payplaynlar.
Barqarorlik: avto-qayta ishga tushirish, gorizontal skeyl, self-xiling.
Ma’lumotlar/hududlarni izolyatsiya qilish: yurisdiksiya ostidagi neyspeyslar/klastyerlar.
Operatsion standartlar: resurslar siyosati, yagona log/metrika/treyslar.

Kerak bo’lmaganda: kichik jamoa, 2-3 ta xizmat, noyob relizlar - PaaS/modulli monolitdan boshlang.

2) Tasvirlar va reyestrlar (OCI/Docker)

2. 1 Tasvirlarni yigʻish - tamoyillar

Multi-stage: bild → rantaym (ingichka asosiy tasvirlar’distroless’,’alpine’ehtiyotkorlik bilan).
Takrorlanuvchanlik :/sha256,’COPY --chown’,’-mount = type = cache’ni BuildKit’ga oʻrnating.
SBOM va imzo:’cosign sign/verify’,’slsa provenance’, faqat imzolangan siyosat.
Slim-down: dev-toolsni olib tashlang,’USER nonroot’,’readOnlyRootFilesystem’ni yoqing.

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. Reyestrlar va siyosatlar

GDPR latentligini va muvofiqligini pasaytirish uchun Private registry + geo-replikalar (EU/NA).
Retention/immutability: taglarni qayta yozishni taqiqlash, PoP’da keshni isitish.
Admission-control: faqat imzolangan/skan qilingan rasmlar (cosign + Trivy/Grype).

3) Orkestratsiya: Kubernetes bazaviy patternlari

3. 1 primitivlar

Deployment - stateless-services (lobbi, API).
StatefulSet - hamyon/navbat/ombor (fix nomi, barqaror jildlar).
DaemonSet - log agentlari/tarmoq komponentlari.
Job/CronJob - migratsiya, hisobotlar, ETL.

3. 2 Resurslar va QoS

’requests/limits’ (CPU/Memory) → QoS sinflari va oldindan aytiladigan rejalashtirish.
Burstable faqat ongli ravishda; tanqidiy - Guaranteed.
Tanqidiy to’lov PODlarini ajratilgan pullarga (taints/tolerations, node-affinity) joylashtiring.

3. 3 Barqarorlik va relizlar

Probes:’startup’,’liveness’,’readiness’(taymaut va davrlar bilan).
Rollout: `maxSurge/maxUnavailable`, canary через вес в Ingress/Gateway/Service Mesh.
PDB (PodDisruptionBudget) + graceful shutdown (PreStop hook, `terminationGracePeriodSeconds`).
Yangilashda Drain/cordon nod.

4) Tarmoq: CNI, servislar, kirish trafigi

4. 1 CNI qatlami

Calico/Cilium/Weave - tarmoq siyosati (NetworkPolicy), ishlash uchun eBPF.
Nomlar orasidagi qoidalar: minimal zarur egress/ingress.

4. 2 Xizmatlar va kirish

Service: `ClusterIP/NodePort/LoadBalancer`.
L7 uchun Ingress yoki Gateway API: yo’l/xeder/xost yo’nalishlari, TLS, kanar og’irligi.
mTLS klaster ichida: servis-mesh orqali (Istio/Linkerd) - TLS va siyosatni ushlash.

HTTPRoute misoli (Gateway API, kanar ogʻirligi)

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) Saqlash: CSI/PV/PVC, jildlar klasslari

Provayderning CSI-drayverlari (EBS/PD/Premium SSD) +’storageClass’ning ishlash parametrlari.
Sharing uchun RWX (NFS/FSx/Filestore) - qulflash bilan ehtiyot bo’ling.
Backup/restore: Velero/Kasten, davriy snapshotlar, tiklanishni tekshirish.
Shifrlash: disk darajasida va DB (KMS) darajasida.

6) Avto-masshtablash: HPA/VPA/KEDA

HPA (CPU/RAM/maxsus metriklar bo’yicha - RPS, p95): API/lobbi uchun.
VPA (tavsiyalar/avto) - barqaror vorkerlar uchun.
KEDA (event-driven) - Kafka/SQS/Redis, Cron-shedulalar navbati boʻyicha masshtab.
Cluster Autoscaler - yuk bo’yicha uzellar; cho’qqilar uchun warm-pullar (turnirlar/oqimlar).

7) Servis-mesh (zarurat bo’yicha)

mTLS/servis servis siyosati, identifikatsiyalar bo’yicha avtorizatsiya (SPIFFE).
Circuit-breaker/timeout/retry, outlier-ejection, oynalash (shadow).
Qutidan telemetriya: yagona metrika va trassalar.
Nozik trafik menejmenti (to’lovlar, o’yin provayderlari) kerak bo’lgan joylarda foydalaning.

8) Xavfsizlik: sirlar, siyosat, muvofiqlik

Secrets: tashqi menejer (AWS/GCP/Azure KMS, External Secrets), rotatsiya.
Policy-as-code: OPA/Gatekeeper/Kyverno - taqiq’: latest’, root-USER, hostPath, imtiyozlar.
Huquqlarning kuchayishi: Namespaces + RBAC, Dev/Stage/Prod bo’linishi, audit.
Image Security: CI/CD skan, imzo (cosign), imzo admission.
mTLS va JWT ichki (mesh), WAF/Rate-limit kirish joyida (Ingress/Gateway).

9) Kuzatuv va SLO

Metrics: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, saturations.
Logs: tuzilmaviy JSON → Loki/Elastic, maskalash PII/PAN/IBAN.
Traces: OTLP → Tempo/Jaeger;’trace _ id’shlyuzdan keladi.
SLO: masalan,’Deposit p95 ≤ 300 ms, success ≥ 98. 5%’, alertlar burn-rate.
Proaktivligi: per-service/per-route dashbordlari, DLQ bo’yicha watchdog va navbat laglari.

10) CI/CD, Helm, GitOps

CI: linterlar, testlar (unit/contract/integration), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: s’values.’ning deklarativ chartlari.
GitOps (ArgoCD/Flux): single-source-of-truth, PR-revyu manifestlar, rollback tugmasi.
Strategiyalar: blue-green, canary, shadow; sxemalar migratsiyasi - expand-and-contract.

Values fragmenti. yaml (resurslar/namunalar)

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) Rejalashtirish va izolyatsiya qilish

NodePools: to’lovlarni/hamyonni tezkor diskli «past shovqinli» uzellarga ajrating.
Taints/Tolerations: kritik yuklar uchun himoyalangan pullar.
(Anti-) Affinity: replikalarni zonalar/tugunlarga (HA) bo’lg.
ResourceQuota/LimitRange - «shovqinli qo’shnilarga» qarshi himoya.

12) Multiklaster, ko’p mintaqa, DR

Yurisdiksiyalar bo’yicha bo’linish: EU/LatAm/ROW klastyerlari; rezidentlarning ma’lumotlari - mahalliy.
Kirish joyidagi GSLB/Anycast, kuzatuv va alerta.

DR darajalari:
  • Warm standby (tavsiya etiladi): tanqidiy ma’lumotlarning sinx-nusxasi, davriy tekshiruvlar failover.
  • Oʻqish/mintaqaviy marshrutlash uchun Active-active.
  • Zaxiralash: backaplar (Velero), rehearal tiklanish.

13) iGaming-spetsifikasi

To’lovlar/hamyon: p95 ≤ 300-500 ms, alohida pullar va qat’iy PDB; canary 1→5→10%.
Lobbi/kontent: RPS/INP bo’yicha tajovuzkor HPA, isitilgan tasvirlar/vektor kesh.
Hayot o’yinlari/oqimlari: LC/minimal retray, uzun soket taymautlari, ulanish bo’yicha sticky.
Komplayens: qattiq Policy bilan neyspeyslar, KMS orqali sirlar, Helm-relizlarni o’zgartirish auditi.
Mas’uliyatli o’yin: limitlar/blokirovkalar xizmati - ustuvor trafik (siyosat bo’yicha fail-open/close).

14) Chek-varaqlar

Servisni joylashtirishdan oldin

  • Multi-stage tasviri, USER nonroot, imzo cosign, skaner o’tkazildi.
  • Tashqi menejerdan Requests/limits, probes, env/secret.
  • PDB, `maxUnavailable ≤ 1`, graceful shutdown.
  • SLO/alertlar, shlyuzdan DBgacha trassalar.
  • Kanar sxemasi va orqaga qaytish rejasi.
  • OPA/Kyverno siyosati (no root, no hostPath, no: latest).

Klaster/platforma

  • CNI va NetworkPolicy kiritilgan; mTLS (mesh) kerak bo’lganda.
  • StorageClass/retenshn, backap/restore tekshirildi.
  • HPA/VPA/KEDA sozlangan; Cluster Autoscaler и warm-pool.
  • RBAC minimal, audit kiritilgan, sirlar KMS dan.
  • GitOps: repozitoriyadagi chartlar/manifestlar, PR sharhi talab qilinadi.

15) Anti-patternlar

’latest’, root-foydalanuvchi, «qalin» asosiy qatlamlar.
No’requests/limits’→ eviksiyalar/trottling.
Readiness = liveness.
Steytful/statelessni taintssiz bitta pulda aralashtirish.
expand-and-contract’siz «peshonaga» sxemalarini koʻchirish.
Mintaqaviy izolyatsiyasiz «barcha bozorlarga» yagona klaster.
PII/PAN loglari, ConfigMap sirlari.
PDB/drenaj yo’qligi → cho’qqilar va yangilanishlar paytida uzilishlar.

16) Platforma metrikasi (minimal)

Кластер: CPU/mem requests vs allocatable, pod-churn, node-pressure.
Tarmoq: p95 per-route, 4xx/5xx, reset/timeout, retry-rate, mTLS xatolari.
Saqlovchilar: IOPS/latency, queue-depth, CSI xatolari.
Avtoskeyl: HPA decisions, CA events, isish vaqti.
Biznes: TTP, TtW, FTD-success, provayder bo’yicha to’lovlarni rad etish.
Xavfsizlik: OPA nomuvofiqliklari, imzolanmagan tasvirlar, muddati o’tgan sirlar.

17) Manifestlar misollari

Deployment (API, kanar 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 (hamyon)

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

HPA (custom-metrics orqali RPS bo’yicha)

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) Joriy etish jarayoni (sprintlar bo’yicha)

1. Multi-stage, SBOM, imzolar, admission siyosati.
2. k8s bazaviy platformasi: CNI, Ingress/Gateway, monitoring/logi/treys, StorageClass.
3. CI/CD va GitOps: Helm-chartlar, chorshanba, canary/rollback, sxemalar koʻchiriladi.
4. Skeyl va barqarorlik: HPA/VPA/KEDA, PDB, node-pullar, taints/affinity, DR-reja.

Yakuniy shpargalka

Nozik, imzolangan rasmlar + ruxsat siyosati = xavfsizlik asosi.
Namunalar, resurslar, PDB, drain = relizlarning barqarorligi.
HPA/VPA/KEDA + tyuning pulov = masshtab «cho’kmasdan».
Gateway/Ingress + mTLS/OPA = xavfsiz perimetr va ichki aloqa.
Observability + SLO + GitOps = boshqariladigan oʻzgarishlar.
Mintaqaviy izolyatsiya va DR = komplayens va ishdan chiqish chidamliligi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.