GH GambleHub

الحاويات وتنظيمها

1) لماذا الحاويات و k8s في iGaming

معدل التغيير: صور يمكن التنبؤ بها، خط أنابيب CI/CD واحد.
الاستقرار: إعادة التشغيل التلقائي، المقياس الأفقي، الشفاء الذاتي.
عزل البيانات/المناطق: مساحات الأسماء/المجموعات الخاضعة للولايات القضائية.
المعايير التشغيلية: سياسات الموارد، سجل/مقاييس/مسارات وحيدة.

عند عدم الحاجة: فريق صغير، 2-3 خدمات، إصدارات نادرة - ابدأ بـ PaaS/modular monolith.

2) الصور والسجلات (OCI/Docker)

2. 1 تجميع الصور - المبادئ

متعدد المراحل: بناء وقت التشغيل → (صور القاعدة الرقيقة «غير مجردة»، «جبال الألب» بحذر).
التكرار: الإصدارات الثابتة/sha256، 'COPY -chown'،' -mount = type = cache 'في BuildKit.
SBOM والتوقيع: «علامة كوزية/التحقق»، «مصدر slsa»، سياسة «توقيع فقط».
Slim-down: احذف أدوات التطوير، بما في ذلك "المستخدم غير الجذري"، "اقرأ OnlyRootFilesystem'.

مثال Dockerfile (عقدة. 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 سجلات وسياسات

السجل الخاص + النسخ المتماثلة الجغرافية (EU/NA) لتقليل زمن الوصول والامتثال للائحة العامة لحماية البيانات.
الاحتفاظ/المناعة - منع الكتابة الزائدة للعلامات، وتسخين المخبأ في PoP.
التحكم في القبول: الصور الموقعة/الممسوحة ضوئيًا فقط (cosign + Trivy/Grype).

3) التنسيق: أنماط كوبرنيتس الأساسية

3. 1 البدائيات

النشر - الخدمات عديمة الجنسية (لوبي، API).
StatefulSet - محفظة/قوائم انتظار/تخزين (اسم ثابت، أحجام ثابتة).
DaemonSet - عوامل تسجيل/مكونات الشبكة.
Job/CronJob - migrations, reports, ETL.

3. 2 الموارد ورصد الجودة

حدد «الاستفسارات/الحدود» (وحدة المعالجة المركزية/الذاكرة) → فئات QoS والجدولة القابلة للتنبؤ.
لا يمكن تفجيرها إلا عندما تكون واعية ؛ حرج - مضمون.
ضع كبسولات الدفع الحرجة على مجمعات مخصصة (تكهنات/تحملات، تقارب العقدة).

3. 3 الاستدامة والإطلاقات

المجسات: «بدء التشغيل»، «الحياة»، «الاستعداد» (مع المهلات والفترات).
الطرح: «MaxSurge/maxUnailable»، canary через вес в Ingress/Gateway/Service Mesh.
PDB (PodDistructionBudget) + إغلاق رشيق (PreStop hook، "إنهاء GracePeriodSeconds').
عقد التصريف/الطوق للترقيات.

4) الشبكة: CNI والخدمات وحركة المدخلات

4. 1 طبقة CNI

Calico/Cilium/Weave - NetworkPolicy، eBPF للأداء.
القواعد المشتركة بين الفضاء: الحد الأدنى المطلوب للخروج/الدخول.

4. 2 خدمات وتسجيل دخول

الخدمة: «ClusterIP/NodePort/LoadBalancer».
الدخول أو واجهة برمجة تطبيقات البوابة لـ L7: طرق المسار/الرأس/المضيف، TLS، أوزان الكناري.
mTLS داخل المجموعة: عبر شبكة الخدمة (Istio/Linkerd) - اعتراض TLS والسياسة.

مثال HTTPRoute (بوابة برمجة التطبيقات، وزن الكناري)

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) + «فئة التخزين» مع معلمات الأداء.
RWX للمشاركة (NFS/FSx/Filestore) - احذر مع الأقفال.
النسخ الاحتياطي/الاستعادة: Velero/Kasten، لقطات دورية، فحص الاسترداد.
تشفير مستوى القرص ومستوى قاعدة البيانات (KMS).

6) القياس التلقائي: HPA/VPA/KEDA

HPA (بواسطة CPU/RAM/مقاييس مخصصة - RPS، p95): لـ API/lobby.
VPA (توصيات/سيارات) - للعمال المستقرين.
KEDA (مدفوعة بالحدث) - مقياس من طوابير Kafka/SQS/Redis، Cron-shedula.
Cluster Autoscaler - عقد التحميل ؛ برك دافئة للقمم (البطولات/الجداول).

7) شبكة الخدمة (إذا لزم الأمر)

MTLS/ servis↔servis السياسات، تصريح الهوية (SPIFFE).
قاطع دائرة/مهلة/إعادة تجربة، طرد خارجي، ظل.
القياس عن بعد خارج الصندوق: مقاييس ومسارات موحدة.
استخدم حيث تحتاج إلى إدارة حركة مرور دقيقة (المدفوعات، مزودي الألعاب).

8) الأمن: الأسرار والسياسة والامتثال

الأسرار: المدير الخارجي (AWS/GCP/Azure KMS، الأسرار الخارجية)، التناوب.
Policy-as-code: OPA/Gatekeeper/Kyverno - deny ': أحدث'، root-USER، hostPath، الامتيازات.
تصعيد الحقوق: مساحات الأسماء + RBAC، Dev/Stage/Prod split، التدقيق.
أمن الصورة: مسح في CI/CD، توقيع (تجميل)، قبول بالتوقيع.
mTLS و JWT داخل (شبكة)، WAF/مدخلات حد المعدل (الدخول/البوابة).

9) إمكانية الرصد و SLO

المقاييس: Prometheus/OpenTelemetry، p50/95/99، 4xx/5xx، التشبع.
الجذوع: قناع هيكلي JSON → Loki/Elastic، PII/PAN/IBAN.
الآثار: OTLP → Tempo/Jaeger ؛ «أثر _ هوية» يأتي من البوابة.
SLO: على سبيل المثال 'Deposit p95 ≤ 300 ms, success ≥ 98. 5٪، تنبيهات معدل الحرق.
الاستباقية: لوحات القيادة لكل خدمة/لكل مسار، ومراقب DLQ وتأخر قائمة الانتظار.

10) CI/CD، Helm، GitOps

CI: البطانات، الاختبارات (الوحدة/العقد/التكامل)، SAST/DAST، SBOM.
Helm/Jsonnet/Kustomize: مخططات إعلانية ذات قيم. على البيئات.
GitOps (ArgoCD/Flux): مصدر واحد للحقيقة، مراجعة بيان العلاقات العامة، زر التراجع.
الاستراتيجيات: الأزرق - الأخضر، الكناري، الظل ؛ هجرات المخطط - التوسع والعقد.

جزء القيم. يامل (الموارد/العينات)

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).
ResourceCota/LimiteRange على مساحات الأسماء - الحماية من «الجيران الصاخبين».

12) Multicluster، متعدد المناطق، DR

التقسيم حسب الولاية القضائية: مجموعات الاتحاد الأوروبي/LatAM/ROW ؛ بيانات المقيمين - محليا.
مدخلات GSLB/Anycast وإمكانية الملاحظة والتنبيهات لكل فئة.

مستويات DR:
  • الاستعداد الدافئ (موصى به): نسخة طبق الأصل من قواعد البيانات الهامة، وفحوصات الفشل الدورية.
  • نشط للقراءات/التوجيه الإقليمي.
  • النسخ الاحتياطي: نسخ احتياطية (فيليرو)، استعادة البروفة.

13) خصوصية iGaming

المدفوعات/المحفظة: p95 ≤ 300-500 ms، المجمعات الفردية ومصرف التنمية الشعبي الصارم ؛ الكناري 1→5→10%

اللوبي/المحتوى: HPA عدواني بواسطة RPS/INP، صور ساخنة/مخبأ ناقل.
الألعاب/البث المباشر: LC/الحد الأدنى من عمليات إعادة التصوير، والمقابس الطويلة، واللاصقة على الاتصال.
الامتثال: مساحات صغيرة مع سياسة صارمة، أسرار من خلال KMS، تدقيق التغييرات في إصدارات Helm.
اللعبة المسؤولة: خدمة الحد/الحظر - أولوية حركة المرور (فاشلة - مفتوحة/مغلقة حسب السياسة).

14) القوائم المرجعية

قبل وضع الخدمة

  • صورة متعددة المراحل، مستخدم غير جذري، توقيع تجميلي، مر مسح ضوئي.
  • طلبات/حدود، تحقيقات، env/سرية من مدير خارجي.
  • PDB، «MaxUnavailable ≤ 1»، إغلاق رشيق.
  • SLO/تنبيهات، تتبع من البوابة إلى DB.
  • نمط الكناري وخطة التراجع.
  • تمرير سياسات OPA/Kyverno (لا جذر، لا مسار مضيف، لا: أحدث).

المجموعة/المنصة

  • تم تمكين CNI و NetworkPolicy ؛ mTLS (شبكة) عند الضرورة.
  • فحص فئة التخزين/الاحتفاظ، النسخ الاحتياطي/الاستعادة.
  • هيكل HPA/VPA/KEDA ؛ Cluster Autoscaler и حمام سباحة دافئ.
  • RBAC هو الحد الأدنى، والتدقيق ممكن، والأسرار من KMS.
  • GitOps: الرسوم البيانية/البيانات في المستودع، استعراض العلاقات العامة مطلوب.

15) الأنماط المضادة

أحدث الصور، مستخدم الجذر، طبقات أساسية سميكة.
لا توجد «استفسارات/حدود» → عمليات الإخلاء/الاختناق.
الاستعداد = الحيوية.
مزج الدولة/عديمي الجنسية في نفس البركة دون تلويث.
هجرات المخططات «وجهاً لوجه» دون توسيع وعقد.
المجموعة الوحيدة «لجميع الأسواق» بدون عزلة إقليمية.
سجلات مع PII/PAN، أسرار في ConfigMap.
نقص PDB/فواصل → الصرف في القمم وأثناء الترقيات.

16) مقاييس المنصة (الحد الأدنى)

Кластер: طلبات وحدة المعالجة المركزية/mem مقابل مخصصة، pod-churn، ضغط العقدة.
الشبكة: p95 لكل مسار، 4xx/5xx، إعادة ضبط/مهلة، معدل إعادة التجربة، أخطاء mTLS.
التخزين: IOPS/زمن الانتظار، عمق قائمة الانتظار، أخطاء CSI.
المقياس التلقائي: قرارات HPA، أحداث CA، وقت الإحماء.
الأعمال: TTP، TtW، نجاح FTD، رفض المدفوعات على المزود.
الأمن: تناقضات 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، الدخول/البوابة، المراقبة/السجلات/المسارات، فئة التخزين.
3. CI/CD و GitOps: مخططات Helm، أيام الأربعاء، الكناري/التراجع، هجرات المخطط.
4. الحجم والمرونة: HPA/VPA/KEDA، PDB، مجمعات العقدة، tains/affinity، خطة DR.

ورقة الغش النهائية

صور رقيقة وموقعة + سياسة قبول = مؤسسة أمنية.
عينات، موارد، PDB، صرف = صلابة الإطلاق.
HPA/VPA/KEDA + مجمعات الضبط = مقياس بدون سحب.
البوابة/الدخول + mTLS/OPA = محيط آمن واتصال داخلي.
قابلية الملاحظة + SLO + GitOps = التغييرات المدارة.
العزلة الإقليمية و DR = الامتثال وتحمل الأخطاء.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.