Контейнерлештирүү жана оркестрлештирүү
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 кире бериште, байкоо жана алерталар.
- 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 = комплаенс жана бузулууга туруктуулук.