GH GambleHub

Контейнерлеу және оркестрлеу

1) Неліктен контейнерлер мен k8s iGaming

Өзгерістер жылдамдығы: болжамды кескіндер, CI/CD бірыңғай пайплайны.
Тұрақтылығы: авто-қайта қосу, көлденең скейл, селф-хилинг.
Деректерді/аймақтарды оқшаулау: юрисдикцияға жататын неймспейстер/кластерлер.
Операциялық стандарттар: ресурстар саясаты, бірыңғай журнал/метрика/трейстер.

Қажет болмаған кезде: шағын команда, 2-3 сервис, сирек релиздер - PaaS/модульдік монолиттен бастаңыз.

2) Бейнелер мен тізілімдер (OCI/Docker)

2. 1 Бейнелерді жинау - қағидаттар

Multi-stage: билд → рантайм (жіңішке базалық бейнелер '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 Тізілімдер мен саясат

Құпиялылықты және GDPR сәйкестігін төмендету үшін Private registry + geo-реплика (EU/NA).
Retention/immutability: тегтерді қайта жазуға тыйым салу, PoP кэшін жылыту.
Admission-control: тек қол қойылған/сканерленген суреттер (cosign + Trivy/Grype).

3) Оркестрлеу: Kubernetes негізгі үлгілері

3. 1 Примитивті

Deployment - stateless-сервистер (лобби, API).
StatefulSet - әмиян/кезек/сақтау орны (фикс-аты, тұрақты том).
DaemonSet - логтар/желілік компоненттер агенттері.
Job/CronJob - көші-қон, есептер, ETL.

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

'requests/limits' (CPU/Memory) → QoS кластарын және болжамды жоспарлауды көрсетіңіз.
Burstable тек саналы жерде ғана; сыни - Guaranteed.
Күрделі төлем POD-тарын бөлінген пулдарға (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 нод.

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' өнімділік параметрлерімен.
Шарингке арналған RWX (NFS/FSx/Filestore) - блоктаумен абайлаңыз.
Backup/restore: Velero/Kasten, мерзімді снапшоттар, қалпына келтіруді тексеру.
Шифрлау: диск деңгейінде және БД (KMS) деңгейінде.

6) Автоматты масштабтау: HPA/VPA/KEDA

HPA (CPU/RAM/кастомдық метриктер бойынша - RPS, p95): API/лобби үшін.
VPA (ұсынымдар/авто) - тұрақты воркерлер үшін.
KEDA (event-driven) - Kafka/SQS/Redis, Cron-шедул кезектері бойынша масштаб.
Cluster Autoscaler - жүктеме бойынша тораптар; шыңдарға арналған warm-пулдар (турнирлер/ағындар).

7) Сервис-меш (қажеттілігіне қарай)

mTLS/саясат сервис, сәйкестік бойынша авторизация (SPIFFE).
Circuit-breaker/timeout/retry, outlier-ejection, зеркалау (shadow).
Қораптан жасалған телеметрия: бірыңғай метриктер мен трассалар.
Жұқа трафик-менеджмент (төлемдер, ойын провайдерлері) қажет болған жерде пайдаланыңыз.

8) Қауіпсіздік: құпиялар, саясат, сәйкестік

Secrets: сыртқы менеджер (AWS/GCP/Azure KMS, External Secrets), ротация.
Policy-as-code: OPA/Gatekeeper/Kyverno - тыйым салу ': latest', root-USER, hostPath, артықшылықтар.
Құқықтардың күшеюі: Namespaces + RBAC, Dev/Stage/Prod, аудит.
Image Security: CI/CD сканерлеу, қолтаңбалау (cosign), қолтаңба бойынша admission.
mTLS және JWT ішінде (меш), WAF/Rate-limit кіреберісте (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% ', алерты burn-rate.
Проактивтілігі: DLQ бойынша per-service/per-route, 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 батырмасы.
Стратегиялар: blue-green, 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 (ұсынылады): сыни БД синх-репликасы, failover мерзімді тексерулері.
  • Оқу/аймақтық бағыттау үшін Active-active.
  • Резервтеу: бэкаптар (Velero), rehearal қалпына келтіру.

13) iGaming-ерекшелігі

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

14) Чек парақтары

Сервисті орналастыру алдында

  • Multi-stage бейне, USER nonroot, қолтаңба cosign, сканерден өтті.
  • Сыртқы менеджерден Requests/limits, probes, env/secret.
  • PDB, `maxUnavailable ≤ 1`, graceful shutdown.
  • SLO/алерта, шлюзден ДБ-ға дейін.
  • Канареялық схема және қайтару жоспары.
  • OPA/Kyverno саясаты өтеді (no root, no hostPath, no: latest).

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

  • CNI және NetworkPolicy қосылған; mTLS (меш) қажет жерде.
  • StorageClass/ретеншн, бэкап/restore тексерілді.
  • HPA/VPA/KEDA теңшелген; Cluster Autoscaler и warm-pool.
  • RBAC минималды, аудит қосылған, құпиялар - KMS-ден.
  • GitOps: репозиторийдегі чартлар/манифесттер, PR шолуы міндетті.

15) Қарсы үлгілер

'latest', root-пайдаланушы, «қалың» негізгі қабаттар.
Жоқ 'requests/limits' → эвикциялар/троттлинг.
Readiness = liveness (қалқымалы қайта құру).
Стейтфул/стателессті бір пулға taints-сіз араластыру.
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 қателері.
Автоскейл: HPA decisions, CA events, жылыту уақыты.
Бизнес: 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-stage, 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 міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.