GH GambleHub

کانتینری و ارکستراسیون

1) چرا ظروف و k8s در iGaming

نرخ تغییر: تصاویر قابل پیش بینی، خط لوله CI/CD تک.
ثبات: خودکار راه اندازی مجدد، مقیاس افقی، خود شفا.
جداسازی داده ها/منطقه: فضای نام/خوشه تحت حوزه های قضایی.
استانداردهای عملیاتی: سیاست های منابع، تک ورود/معیارها/مسیرهای پیاده روی.

هنگامی که مورد نیاز نیست: یک تیم کوچک، 2-3 سرویس، نسخه های نادر - با PaaS/مونولیت مدولار شروع می شود.

2) تصاویر و ثبت (OCI/Docker)

2. 1 تصویر مجمع - اصول

چند مرحله ای: build → زمان اجرا (تصاویر پایه نازک «distroless»، «alpine» با احتیاط).
تکرارپذیری: fix versions/sha256, 'COPY --chown', '--mount = type = cache' در BuildKit.
SBOM و امضا: 'cosign sign/verify', 'slsa provenance', 'signed only' policy.
Slim-down: ابزارهای توسعه را حذف کنید، شامل 'USER nonroot'، 'readOnlyRootFilesystem'.

مثال Dockerfile (گره. ج)

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 ثبت و سیاست ها

رجیستری خصوصی + geo-replica (EU/NA) برای کاهش تاخیر و انطباق GDPR.
حفظ/ایمنی - جلوگیری از بازنویسی برچسب ها، گرم کردن کش در PoP.
کنترل پذیرش: فقط تصاویر امضا شده/اسکن شده (cosign + Trivy/Grype).

3) ارکستراسیون: الگوهای اساسی Kubernetes

3. 1 اولیه

استقرار - خدمات بدون حالت (لابی، API).
StatefulSet - کیف پول/صف/ذخیره سازی (نام ثابت، حجم پایدار).
DaemonSet - عوامل ورود/اجزای شبکه.
شغل/CronJob - مهاجرت، گزارش، ETL.

3. ۲ منابع و QoS

Specify «requests/limits» (CPU/Memory) → کلاس های QoS و برنامه ریزی قابل پیش بینی.

فقط در جایی که آگاه است قابل انفجار است ؛ انتقادی - تضمین شده

محل غلاف پرداخت بحرانی در استخر اختصاص داده شده (tains/تحمل, گره وابستگی).

3. 3 پایداری و انتشار

Probes: «راه اندازی»، «زنده بودن»، «آمادگی» (با زمان و دوره).
رول: 'maxSurge/maxUnavailable'، через قناری вес в ورود/دروازه/سرویس مش.
PDB (PodDisruptionBudget) + خاموش شدن برازنده (قلاب PreStop، 'TerminationGracePeriodSeconds').
گره های تخلیه/کوردون برای ارتقاء.

4) شبکه: CNI، خدمات، ترافیک ورودی

4. 1 لایه CNI

Calico/Cilium/Weave - NetworkPolicy، eBPF برای عملکرد.
قوانین بین فضایی: حداقل خروج/ورود مورد نیاز است.

4. 2 خدمات و ورود

سرویس: 'ClusterIP/NodePort/LoadBalancer'.
ورود یا دروازه API برای L7: مسیر/هدر/مسیرهای میزبان، TLS، وزن قناری.
mTLS درون خوشه: از طریق سرویس مش (Istio/Linkerd) - رهگیری TLS و سیاست.

مثال HTTPRoute (دروازه 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/حق بیمه SSD) + 'storageClass' با پارامترهای عملکرد.
RWX برای به اشتراک گذاری (NFS/FSx/Filestore) - مراقب قفل ها باشید.
پشتیبان گیری/بازیابی: Velero/Kasten، عکس های دوره ای، بررسی بازیابی.
رمزگذاری سطح دیسک و سطح پایگاه داده (KMS).

6) مقیاس خودکار: HPA/VPA/KEDA

HPA (توسط CPU/RAM/معیارهای سفارشی - RPS، P95): برای API/لابی.
VPA (توصیه/خودکار) - برای کارگران پایدار.
KEDA (رویداد محور) - مقیاس توسط صف کافکا/SQS/Redis, Cron-shedula.
خوشه خودکار - گره های بار ؛ استخرهای گرم برای قله (مسابقات/جریان).

7) سرویس مش (در صورت لزوم)

سیاست های mTLS/ servis↔servis، مجوز هویت (SPIFFE).
قطع کننده مدار/وقفه/تلاش مجدد، تخلیه خارج، سایه.
تله متری خارج از جعبه: معیارهای یکنواخت و آهنگ.
استفاده از جایی که شما نیاز به مدیریت ترافیک ظریف (پرداخت، ارائه دهندگان بازی).

8) امنیت: اسرار، سیاست، انطباق

اسرار: مدیر خارجی (AWS/GCP/Azure KMS، اسرار خارجی)، چرخش.
Policy-as-code: OPA/Gatekeeper/Kyverno - deny ': latest', root-USER, hostPath, privileges.
افزایش حقوق: فضاهای نام + RBAC، Dev/Stage/Prod تقسیم، حسابرسی.
امنیت تصویر: اسکن در CI/CD، امضای (cosign)، پذیرش با امضا.
mTLS و JWT در داخل (مش)، ورودی WAF/Rate-limit (ورودی/دروازه).

9) قابلیت مشاهده و SLO

معیارها: Prometheus/OpenTelemetry، p50/95/99، 4xx/5xx، اشباع.
سیاهههای مربوط: JSON ساختاری → Loki/الاستیک، PII/PAN/IBAN پوشش.
آثار: OTLP → سرعت/Jaeger ؛ «trace _ id» از دروازه می آید.
SLO: به عنوان مثال "سپرده p95 ≤ 300 میلی ثانیه، موفقیت ≥ 98. 5٪ "، هشدار سوختگی نرخ.
Proactivity: داشبورد در هر سرویس/در هر مسیر، نگهبان DLQ و صف عقب مانده است.

10) CI/CD، هلم، GitOps

CI: لاینترها، تست ها (واحد/قرارداد/ادغام)، SAST/DAST، SBOM.

Helm/Jsonnet/Kustomize: نمودارهای اعلانی با "مقادیر. در محیط ها

GitOps (ArgoCD/Flux): تک منبع حقیقت، بررسی آشکار PR، دکمه برگشت.
استراتژی: آبی سبز، قناری، سایه ؛ مهاجرت طرح - گسترش و قرارداد.

مقادیر قطعه. 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: پرداخت/کیف پول را به گره های «سر و صدای کم» با دیسک سریع جدا کنید.
Tains/Tolerations: استخرهای محافظت شده برای بارهای بحرانی.
(ضد) وابستگی: کپی های اسمیر توسط منطقه/گره (HA).
ResourceQuota/LimitRange در فضای نام - حفاظت در برابر «همسایگان پر سر و صدا».

12) چند طبقه، چند منطقه، DR

تقسیم توسط صلاحیت: اتحادیه اروپا/LatAm/ROW خوشه ؛ داده های محلی - محلی

ورودی GSLB/Anycast، قابلیت مشاهده در هر کلاس و هشدارها.

سطح DR:
  • آماده به کار گرم (توصیه می شود): کپی از پایگاه داده های بحرانی، چک های دوره ای شکست خورده.
  • فعال برای خواندن/مسیریابی منطقه ای فعال است.
  • پشتیبان گیری: پشتیبان گیری (Velero)، بازیابی تمرین.

13) ویژگی iGaming

پرداخت/کیف پول: p95 ≤ 300-500 میلی ثانیه، استخر های فردی و PDB سخت ؛ قناری 1 → 5 → 10٪.
لابی/محتوا: HPA تهاجمی توسط RPS/INP، تصاویر گرم/حافظه پنهان بردار.
بازی های زنده/جریان: LC/حداقل retrays، timeouts سوکت طولانی، چسبنده در اتصال.
انطباق: neimspaces با سیاست های سخت، اسرار از طریق KMS، ممیزی تغییرات در نسخه های Helm.
بازی مسئول: محدود کردن/مسدود کردن سرویس - ترافیک اولویت (شکست باز/بسته شدن توسط سیاست).

14) چک لیست

قبل از ارائه خدمات

  • تصویر چند مرحله ای، کاربر غیر ریشه، امضا cosign، اسکن گذشت.
  • درخواست ها/محدودیت ها، پروب ها، ENV/راز از مدیر خارجی.
  • PDB، «maxUnavailable ≤ 1»، خاموش شدن برازنده.
  • SLO/هشدار، ردیابی از دروازه به DB.
  • الگوی قناری و طرح برگشت.
  • خط مشی OPA/Kyverno عبور می کند (بدون ریشه، بدون hostPath، نه: آخرین).

خوشه/پلت فرم

  • CNI و NetworkPolicy را فعال کنید ؛ mTLS (مش) در صورت لزوم.
  • StorageClass/retention، پشتیبان گیری/بازیابی بررسی شده است.
  • HPA/VPA/KEDA پیکربندی شده است ؛ خوشه خودکار и استخر گرم.
  • RBAC حداقل است، حسابرسی فعال است، اسرار از KMS هستند.
  • GitOps: نمودار/آشکار در مخزن, بررسی روابط عمومی مورد نیاز.

15) ضد الگوهای

'Latest' images، کاربر ریشه، لایه های پایه ضخیم.
No 'requests/limits' → اخراج/خفه کردن.

آمادگی = زنده بودن

مخلوط کردن حالت/بدون حالت در همان استخر بدون لکه.
مهاجرت از طرح های «سر در» بدون گسترش و قرارداد.
تنها خوشه «به تمام بازارها» بدون انزوای منطقه ای.
سیاهههای مربوط با PII/PAN، اسرار در ConfigMap.
فقدان PDB/زهکشی → شکسته در قله و در طول ارتقاء.

16) معیارهای پلت فرم (حداقل)

Кластер: درخواست CPU/MEM در مقابل تخصیص، غلاف churn، گره فشار.
شبکه: p95 در هر مسیر، 4xx/5xx، تنظیم مجدد/زمان بندی، نرخ مجدد، خطاهای mTLS.
ذخیره سازی: IOPS/latency، عمق صف، خطاهای CSI.
مقیاس خودکار: تصمیمات HPA، رویدادهای CA، زمان گرم شدن.
کسب و کار: TTP، TtW، FTD-success، امتناع از پرداخت در ارائه دهنده.
امنیت: ناسازگاری OPA، تصاویر بدون امضا، اسرار منقضی شده.

17) نمونه هایی از مانیفست ها

استقرار (API، برچسب قناری)

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 (از طریق 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. مونتاژ تصویر و امنیت: چند مرحله ای، SBOM، امضا، سیاست پذیرش.
2. پلت فرم پایه k8s: CNI، ورود/دروازه، نظارت/سیاهههای مربوط/مسیرهای پیاده روی، StorageClass.
3. CI/CD و GitOps: نمودارهای Helm، چهارشنبه ها، canary/rollback، مهاجرت طرح.
4. مقیاس و انعطاف پذیری: HPA/VPA/KEDA، PDB، استخر گره، tains/affinity، طرح DR.

برگه تقلب نهایی

تصاویر نازک، امضا شده + سیاست پذیرش = پایه امنیتی.
نمونه ها، منابع، PDB، تخلیه = استحکام آزاد.
HPA/VPA/KEDA + استخر تنظیم = مقیاس بدون drawdown.
Gateway/Ingress + mTLS/OPA = محیط امن و مخابره داخل ساختمان.

قابلیت مشاهده + SLO + GitOps = تغییرات مدیریت شده

انزوای منطقه ای و DR = انطباق و تحمل خطا.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.