GH GambleHub

Containerizare și orchestrare

1) De ce containere și k8s în iGaming

Rata de schimbare: imagini previzibile, o singură conductă CI/CD.
Stabilitate: auto-reporniri, scară orizontală, auto-vindecare.
Izolarea datelor/regiunii: spații de nume/clustere sub jurisdicții.
Standarde operaționale: politici de resurse, jurnal unic/metrici/trasee.

Atunci când nu este necesar: o echipă mică, 2-3 servicii, versiuni rare - începe cu PaaS/monolit modular.

2) Imagini și registre (OCI/Docker)

2. 1 Asamblarea imaginilor - Principii

Mai multe etape: construiți → runtime (imagini subțiri de bază „distroless”, „alpine” cu precauție).
Repetabilitate: fixați versiunile/sha256, 'COPY --chown',' --mount = type = cache 'în BuildKit.
SBOM și semnătura: „cosign sign/verify”, „slsa provenience”, „semned only” policy.
Slim-down: șterge dev-tools, includ 'USER nonroot', 'readOnlyRootFilesystem'.

Exemplu Dockerfile (Nod. 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 Registre și politici

Registru privat + geo-replici (EU/NA) pentru a reduce latența și respectarea GDPR.
Retenție/imunitate - prevenirea suprascrierii etichetelor, încălzirea memoriei cache în PoP.
Controlul admiterii: numai imagini semnate/scanate (cosign + Trivy/Grype).

3) Orchestrație: modele de bază Kubernetes

3. 1 Primitive

Implementare - servicii apatride (lobby, API).
StatefulSet - portofel/cozi/depozitare (nume fix, volume stabile).
DaemonSet - agenți jurnal/componente de rețea.
Job/CronJob - migrații, rapoarte, ETL.

3. 2 Resurse și QoS

Specificați 'requests/limits' (CPU/Memory) → clasele QoS și programarea previzibilă.
Burstable numai în cazul în care este conștient; critic - Garantat.
Plasați bazine de plată critice pe bazine dedicate (cauciucuri/toleranțe, nod-afinitate).

3. 3 Durabilitate și eliberări

Sonde: „pornire”, „viață”, „pregătire” (cu termene și perioade).
Rollout: 'maxSurge/maxIndisponibil', canar через вес в Ingress/Gateway/Service Mesh.
PDB (PodDisruptionBudget) + închidere grațioasă (cârlig PreStop, 'terminationGracePeriodSeconds').
Noduri de scurgere/cordon pentru upgrade-uri.

4) Rețea: CNI, servicii, trafic de intrare

4. 1 strat CNI

Calico/Cilium/Weave - NetworkPolicy, eBPF pentru performanță.
Reguli interspațiale: ieșire/intrare minimă necesară.

4. 2 Servicii și autentificare

Serviciu: 'ClusterIP/NodePort/LoadBalancer'.
Ingress sau Gateway API pentru L7: trasee de cale/antet/gazdă, TLS, greutăți canare.
mTLS în cadrul clusterului: prin service-mesh (Istio/Linkerd) - interceptarea TLS și politică.

HTTPRoute Exemplu (Gateway API, greutate canară)

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) Depozitare: CSI/PV/PVC, clase de volum

Furnizor de drivere CSI (EBS/PD/Premium SSD) + "storageClass' cu parametrii de performanță.
RWX pentru partajare (NFS/FSx/Filestore) - atent cu încuietori.
Backup/restaurare: Velero/Kasten, instantanee periodice, verificare recuperare.
Criptare la nivel de disc și nivel de bază de date (KMS).

6) Scalare automată: HPA/VPA/KEDA

HPA (de CPU/RAM/măsurători personalizate - RPS, p95): pentru API/lobby.
VPA (recomandări/auto) - pentru lucrători stabili.
KEDA (event-driven) - scară de cozi Kafka/SQS/Redis, Cron-shedula.
Cluster Autoscaler - noduri de sarcină; piscine calde pentru vârfuri (turnee/fluxuri).

7) Service-mesh (dacă este necesar)

Politicile mTLS/ servis↔servis, autorizația de identitate (SPIFFE).
Circuit-breaker/timeout/retry, outlier-ejection, umbra.
Telemetria din cutie: măsurători uniforme și piste.
Utilizați unde aveți nevoie de gestionarea subtilă a traficului (plăți, furnizori de jocuri).

8) Securitate: Secrete, Politică, Conformitate

Secrete: manager extern (AWS/GCP/Azure KMS, secrete externe), rotație.
Policy-as-code: OPA/Gatekeeper/Kyverno - neagă „: cele mai recente”, root-USER, hostPath, privilegii.
Escaladarea drepturilor: Namespaces + RBAC, Dev/Stage/Prod split, audit.
Image Security: scanare în CI/CD, semnare (cosign), admitere prin semnătură.
mTLS și JWT în interior (mesh), intrare WAF/Rate-limit (Ingress/Gateway).

9) Observabilitate și SLO

Valori: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, saturații.
Busteni: structurale JSON → Loki/Elastic, PII/PAN/IBAN mascare.
Urme: OTLP → Tempo/Jaeger; 'trace _ id' vine de la poarta de acces.
SLO: de exemplu "Depozit p95 ≤ 300 ms, succes ≥ 98. 5% ', alerte arde-rata.
Proactivitate: tablouri de bord per service/per-route, DLQ watchdog și lag-uri de coadă.

10) CI/CD, Helm, GitOps

CI: lintere, teste (unitate/contract/integrare), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: diagrame declarative cu valori. "pe medii.
GitOps (ArgoCD/Flux): single-source-of-truth, PR manifest review, buton rollback.
Strategii: albastru-verde, canar, umbră; migrații scheme - extinderea și contractarea.

Fragment de valori. yaml (resurse/probe)

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) Planificarea și izolarea

NodePools: Plăți separate/portofel în noduri „cu zgomot redus” cu disc rapid.
Tains/Tolerations: bazine protejate pentru sarcini critice.
(Anti-) Afinitate: replici frotiu de zona/nod (HA).
ResourceCote/LimitRange pe namespaces - protecție împotriva „vecinilor zgomotoși”.

12) Multicluster, multi-regiune, DR

Împărțirea pe jurisdicții: clusterele EU/LatAM/ROW; date rezidente - la nivel local.
Intrare GSLB/Anycast, observabilitate pe clasă și alerte.

Nivelurile DR:
  • Warm standby (recomandat): replica de baze de date critice, controale periodice failover.
  • Activ-activ pentru citiri/rutare regională.
  • Backup: copii de rezervă (Velero), recuperare repetiție.

13) Specificitatea iGaming

Plăți/portofel: p95 ≤ 300-500 ms, piscine individuale și PDB strict; canar 1→5→10%.
Lobby/conținut: HPA agresiv prin RPS/INP, imagini încălzite/memorie cache vectorială.
Jocuri/fluxuri live: LC/retraiele minime, intervale lungi de timp pentru prize, lipicioase pe conexiune.
Conformitate: Neimspaces cu Politica dur, secrete prin KMS, auditul modificărilor la lansările Helm.
Joc responsabil: serviciu limită/blocare - trafic prioritar (deschis/închis prin politică).

14) Liste de verificare

Înainte de stabilire a serviciului

  • Imagine în mai multe etape, USER nonroot, semnătură cosign, scanare trecut.
  • Cereri/limite, sonde, env/secret de la managerul extern.
  • PDB, 'maxIndisponibil ≤ 1', închidere grațioasă.
  • SLO/alerte, urmărirea de la gateway la DB.
  • Model canar și plan rollback.
  • Politicile OPA/Kyverno trec (fără rădăcină, fără hostPath, nu: cele mai recente).

Cluster/Platformă

  • CNI și NetworkPolicy activate; mTLS (plasă), dacă este necesar.
  • StorageClass/retenție, backup/restaurare verificate.
  • HPA/VPA/KEDA configurat; Cluster Autoscaler и piscină caldă.
  • RBAC este minim, auditul este activat, secretele sunt de la KMS.
  • GitOps: diagrame/manifeste în depozit, revizuire PR necesară.

15) Anti-modele

"Ultimele 'images, utilizator rădăcină, straturi de bază groase.
No 'requests/limits' → evacuări/accelerări.
Pregătire = liveness.
Amestecarea statefull/apatrizilor pe aceeași piscină fără zgârieturi.
Migrarea sistemelor „head-on” fără extindere și contract.
Singurul cluster „pe toate piețele” fără izolare regională.
Jurnale cu PII/PAN, secrete în ConfigMap.
Lipsa PDB/drenaj → pauze în vârfuri și în timpul upgrade-uri.

16) Metrica platformei (minim)

Кластер: CPU/mem cereri vs alocabile, pod-chorn, nod-presiune.
Rețea: p95 pe traseu, 4xx/5xx, resetare/timeout, reîncercare, mTLS erori.
Stocare: IOPS/latență, adâncime de coadă, erori CSI.
Autoscale: decizii HPA, evenimente CA, timp de încălzire.
Afaceri: TTP, TtW, FTD-succes, refuzul plăților pe furnizor.
Securitate: inconsecvențe OPA, imagini nesemnate, secrete expirate.

17) Exemple de manifeste

Implementare (API, etichetă canară)

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

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

HPA (prin RPS prin custom-metrics)

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) Procesul de implementare (prin sprinturi)

1. Asamblarea imaginilor și securitatea: în mai multe etape, SBOM, semnături, politica de admitere.
2. Platforma de bază k8s: CNI, Ingress/Gateway, monitorizare/busteni/trasee, StorageClass.
3. CI/CD și GitOps: diagrame Helm, miercuri, canar/rollback, migrații schema.
4. Scară și reziliență: HPA/VPA/KEDA, PDB, noduri, cauciucuri/afinitate, planul DR.

Foaie de trișat finală

Imagini subțiri, semnate + politica de admitere = fundație de securitate.
Eșantioane, resurse, PDB, scurgere = robustețe de eliberare.
Piscine de tuning HPA/VPA/KEDA + = scară fără desene.
Gateway/Ingress + mTLS/OPA = perimetru securizat și interfon.
Observabilitate + SLO + GitOps = Modificări gestionate.
Izolarea regională și DR = respectarea și toleranța la erori.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.