GH GambleHub

Konteýner we orkestr

1) Näme üçin iGaming-de konteýnerler we k8s

Üýtgeşmeleriň tizligi: çak edilýän şekiller, ýeke-täk CI/CD paýlanyş.
Durnuklylyk: awto-täzeden başlamak, gorizontal skeýl, self hiling.
Maglumatlaryň/sebitleriň izolýasiýasy: ýurisdiksiýa tabynlygyndaky nomespeksler/klasterler.
Amal standartlary: resurslar syýasaty, ýeke-täk log/metrika/söwda.

Zerur bolmadyk mahaly: kiçi topar, 2-3 hyzmat, seýrek neşirler - PaaS/modully monolitden başlaň.

2) Şekiller we sanawlar (OCI/Docker)

2. 1 Şekilleri ýygnamak - ýörelgeler

Multi-stage: bild → rantaim (inçe esasy şekiller 'distroless', 'alpine' seresaplylyk bilen).
Gaýtalanma :/sha256, 'COPY --chown', '-mount = type = cache' wersiýalaryny BuildKit-e ýazyň.
SBOM we gol: 'cosign sign/verify', 'slsa provenance', "diňe gol çekilenler" syýasaty.
Slim-down: dev-tools-y aýyryň, 'USER nonroot', 'readOnlyRootFilesystem' -ni açyň.

Dockerfile mysaly (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 Reýestrler we syýasatlar

Gizlinligi we GDPR-e laýyklygy azaltmak üçin hususy registriýa + geo-replikalar (EU/NA).
Retention/immutability: bellikleri täzeden ýazmagy, PoP-de keşi gyzdyrmagy gadagan edýär.
Admission-control: diňe gol çekilen/skan edilen şekiller (cosign + Trivy/Grype).

3) Orkestr: Kubernetesiň esasy nusgalary

3. 1 Başlangyç

Deployment - stateless-services (lobbi, API).
StatefulSet - gapjyk/nobatlar/ammar (fix-at, durnukly tomlar).
DaemonSet - log agentleri/tor komponentleri.
Job/CronJob - migrasiýa, hasabatlar, ETL.

3. 2 Çeşmeler we QoS

'requests/limits' (CPU/Memory) → QoS synplary we öňünden aýdyp boljak meýilnamalaşdyryş.
Burstable diňe aňly ýagdaýda; kritiki - Guaranteed.
Kritiki töleg PODlaryny bölünen howuzlara goýuň (taints/tolerations, node-affinity).

3. 3 Durnuklylyk we goýberişler

Probes: 'startup', 'liveness', 'readiness' (wagt we döwürler bilen).
Rollout: `maxSurge/maxUnavailable`, canary через вес в Ingress/Gateway/Service Mesh.
PDB (PodDisruptionBudget) + graceful shutdown (PreStop hook, `terminationGracePeriodSeconds`).
Täzelenende Drain/cordon nod.

4) Tor: CNI, hyzmatlar, giriş traffigi

4. 1 CNI gatlak

Calico/Cilium/Weave - ulgam syýasaty (NetworkPolicy), öndürijilik üçin eBPF.
Nomespeksiýa düzgünleri: iň az zerur egress/ingress.

4. 2 Hyzmatlar we giriş

Service: `ClusterIP/NodePort/LoadBalancer`.
L7 üçin Ingress ýa-da Gateway API: ýol/gider/host, TLS, kanar agramy.
mTLS klasteriň içinde: hyzmat-mesh arkaly (Istio/Linkerd) - TLS we syýasaty saklamak.

HTTPRoute mysaly (Gateway API, kanar agramy)

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) Saklamak: CSI/PV/PVC, jilt synplary

Üpjün edijiniň CSI sürüjileri (EBS/PD/Premium SSD) + 'storageClass' öndürijilik parametrleri bilen.
RWX (NFS/FSx/Filestore) - blokirlemelere seresap boluň.
Backup/restore: Velero/Kasten, wagtal-wagtal snapshotlar, dikeldiş barlagy.
Şifrlemek: disk derejesinde we DB (KMS) derejesinde.

6) Awto-masştab: HPA/VPA/KEDA

HPA (CPU/RAM/aýratyn metrikler boýunça - RPS, p95): API/lobbi üçin.
VPA (teklipler/awtoulag) - durnukly workerler üçin.
KEDA (event-driven) - Kafka/SQS/Redis, Cron-şedulalar boýunça masştab.
Cluster Autoscaler - ýük düwünleri; iň ýokary nokatlar üçin warm-howuzlar (ýaryşlar/akymlar).

7) Hyzmat-meş (zerur bolsa)

mTLS/politics service service, şahsyýet taýdan ygtyýarlandyrma (SPIFFE).
Circuit-breaker/timeout/retry, outlier-ejection, aýna (shadow).
Gutudan telewizor metriýasy: birmeňzeş metrikler we ýollar.
Inçe trafik dolandyryşy zerur bolan ýerlerde ulanyň (tölegler, oýun üpjün edijileri).

8) Howpsuzlyk: syrlar, syýasat, laýyklyk

Secrets: daşarky dolandyryjy (AWS/GCP/Azure KMS, External Secrets), aýlanyş.
Policy-as-code: OPA/Gatekeeper/Kyverno - gadaganlyk ': latest', root-USER, hostPath, artykmaçlyklar.
Hukuklaryň güýçlenmegi: Namespaces + RBAC, Dev/Stage/Prod bölünişi, audit.
Image Security: CI/CD-de barlamak, gol çekmek (cosign), gol çekmek üçin admission.
mTLS we JWT içinde (mesh), WAF/Rate-limit girelgesinde (Ingress/Gateway).

9) Synlamak we SLO

Metrics: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, saturations.
Logs: gurluş JSON → Loki/Elastic, gizlemek PII/PAN/IBAN.
Traces: OTLP → Tempo/Jaeger; 'trace _ id' şlýuzdan gelýär.
SLO: mysal üçin 'Deposit p95 ≤ 300 ms, success ≥ 98. 5% ', burn-rate alertleri.
Proýaktiwligi: DLQ we nobat laglary boýunça daşbordlar per-service/per-route, watchdog.

10) CI/CD, Helm, GitOps

CI: linterler, synaglar (unit/contract/integration), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: 'values.' Bilen gurşalan deklaratiw diagrammalar.
GitOps (ArgoCD/Flux): single-source-of-truth, PR-rewyu manifestleri, rollback düwmesi.
Strategiýalar: blue-green, canary, shadow; shemalaryň göçmegi - expand-and-contract.

Bölek values. yaml (çeşmeler/nusgalar)

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) Meýilleşdirmek we izolýasiýa etmek

NodePools: tölegleri/gapjygy çalt diskli "pes sesli" düwünlere bölüň.
Taints/Tolerations: kritiki ýükler üçin goralýan howuzlar.
(Anti-) Affinity: bellikleri zolaklara/düwünlere (HA) ýaýradyň.
ResourceQuota/LimitRange - "şowhunly goňşulardan" gorag.

12) Multiklaster, köp sebit, DR

Ýurisdiksiýalar boýunça bölünişik: EU/LatAm/ROW klasterleri; rezidentleriň maglumatlary - ýerli.
Girelgede GSLB/Anycast, gözegçilik-gözegçilik we töwekgelçilikler.

DR derejeleri:
  • Warm standby (maslahat berilýär): kritiki DB-leriň synx-replikasy, failover wagtal-wagtal barlaglary.
  • Okamak/sebitleýin ugrukdyrmak üçin Active-active.
  • Ätiýaçlyk: ekaplar (Velero), rehearal dikeldiş.

13) iGaming-aýratynlygy

Tölegler/gapjyk: p95 ≤ 300-500 ms, aýratyn howuzlar we berk PDB; canary 1→5→10%.
Lobbi/mazmun: RPS/INP boýunça agressiw HPA, gyzdyrylan şekiller/wektor kesh.
Durmuş oýunlary/akymlary: LC/minimal retraýlar, soketleriň uzyn wagtlary, baglanyşyk boýunça sticky.
Gabat gelmek: gaty Syýasat, KMS arkaly syrlar, Helm-relizlerdäki üýtgeşmeleriň barlagy.
Jogapkär oýun: çäklendirmeler/blokirlemeler hyzmaty - ileri tutulýan traffik (syýasat boýunça fil-open/close).

14) Çek-listler

Hyzmaty goýmazdan ozal

  • Multi-stage şekili, USER nonroot, cosign goly, skaner geçdi.
  • Daşarky dolandyryjydan requests/limits, probes, env/secret.
  • PDB, `maxUnavailable ≤ 1`, graceful shutdown.
  • SLO/alertler, şlýuzdan DB-e çenli.
  • Kanareýa shemasy we yzyna gaýtarmak meýilnamasy.
  • OPA/Kyverno syýasaty geçýär (no root, no hostPath, no: latest).

Klaster/platforma

  • CNI we NetworkPolicy goşuldy; mTLS (meş) gerek ýerinde.
  • StorageClass/retenshn, backup/restore barlandy.
  • HPA/VPA/KEDA sazlandy; Cluster Autoscaler и warm-pool.
  • RBAC minimal, audit girýär, syrlar - KMS-den.
  • GitOps: ammardaky diagrammalar/manifestler, PR syn hökmanydyr.

15) Anti-patternler

'latest', root-ulanyjy, "galyň" esasy gatlaklar.
Ýok 'requests/limits' → ewiksiýalar/trottling.
Readiness = liveness.
Taýntsyz bir howuzda statful/statelessiň garyşmagy.
Expand-and-contract bolmasa "maňlaýyna" göçmek.
Sebitleýin izolýasiýa bolmazdan "ähli bazarlara" ýeke-täk klaster.
PII/PAN ýazgylary, ConfigMap-daky syrlar.
PDB/drenajyň ýoklugy → piklerde we täzelenmelerde gaýalar.

16) Platforma metrikleri (iň az)

Кластер: CPU/mem requests vs allocatable, pod-churn, node-pressure.
Tor: p95 per-route, 4xx/5xx, reset/timeout, retry-rate, mTLS-ýalňyşlyklar.
Ammar: IOPS/latency, queue-depth, CSI ýalňyşlyklary.
Awtoskeýl: HPA decisions, CA events, gyzdyrma wagty.
Iş: TTP, TtW, FTD-success, üpjün ediji boýunça töleglerden ýüz öwürmek.
Howpsuzlyk: OPA-nyň gabat gelmezligi, gol çekilmedik şekiller, möhleti geçen syrlar.

17) Manifestleriň mysallary

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 (gapjyk)

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

HPA (custom-metrics arkaly RPS boýunça)

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) Giriş prosesi (sprintlar boýunça)

1. Şekilleri ýygnamak we howpsuzlygy: multi-stage, SBOM, gollar, admission syýasaty.
2. k8s esasy platformasy: CNI, Ingress/Gateway, Monitoring/Logy/Trades, StorageClass.
3. CI/CD we GitOps: Helm-diagrammalar, gurşaw, canary/rollback, shema göçmeleri.
4. Skail we durnuklylyk: HPA/VPA/KEDA, PDB, node-howuzlar, taints/affinity, DR-meýilnama.

Jemleýji şpargalka

Inçe, gol çekilen şekiller + giriş syýasaty = howpsuzlygyň esaslary.
Synaglar, çeşmeler, PDB, drain = goýberilişleriň durnuklylygy.
HPA/VPA/KEDA = howuzlary sazlamak.
Gateway/Ingress + mTLS/OPA = howpsuz perimetr we içerki aragatnaşyk.
Observability + SLO + GitOps = dolandyrylýan üýtgeşmeler.
Sebitleýin izolýasiýa we DR = laýyklyk we şowsuzlyga çydamlylyk.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.