בלימה ותזמור
1) מדוע מכולות וק "ג ב ־ iGaming
קצב השינוי: תמונות צפויות, צינור CI/CD יחיד.
יציבות: הפעלה אוטומטית, קנה מידה אופקי, ריפוי עצמי.
בידוד נתונים/אזור: אספות שם/אשכולות תחת תחום שיפוט.
תקנים תפעוליים: מדיניות משאבים, רישום/מדדים/שבילים בודדים.
כאשר אין צורך: צוות קטן, 2-3 שירותים, שחרור נדיר - להתחיל עם מונולית PaaS/מודולרית.
2) תמונות ורישומים (OCI/Docker)
2. אסיפת תמונות 1 - עקרונות
Multi-stage: לבנות * runtime (תמונות בסיס דקות ”מעוותות”, ”אלפיני” בזהירות).
יכולת חזרה: תקן גרסאות/SH256, "העתק - chown'," - count = סוג המטמון "in Streefice Kit.
SBOM וחתימה: 'cossige סימן/לאמת', 'slsa provenance', 'חתום רק' מדיניות.
סלים-דאון: מחק כלים-dev, כולל ”USER nonrot”, ”קרא מערכת קבצים Rush”.
דוגמה 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 נרשמים ומדיניות
רישום פרטי + גיאו-העתקים (EU/NA) כדי להפחית את ציות GDPR.
שמירת/חסינות - למנוע כתיבת יתר של תגיות, לחמם את המטמון PoP.
בקרת כניסה: רק תמונות חתומות/סרוקות (cossign + Trivy/Grype).
3) תזמור: תבניות קוברנטס בסיסיות
3. 1 פרימיטיבים
פריסה - שירותים חסרי מדינה (לובי, API).
סט פסלים - ארנק/תורים/אחסון (שם קבוע, כרכים יציבים).
DaemonSet - סוכני רישום/רכיבי רשת.
עבודה/קרוניוב - נדידה, דיווחים, אי-טי-אל.
3. 2 משאבים ו ־ QOS
ציין את 'requests/limits' (CPU/Memory) * שיעורי QOS ולוח זמנים צפוי.
Burstable רק שבו הוא מודע; קריטי - מובטח.
הצב תאי תשלום קריטיים על בריכות ייעודיות (tains/collerations, node-affinity).
3. 3 קיימות ומשחררות
גישושים: ”סטארט-אפ”, ”לביאה”, ”מוכנות” (עם פסקי זמן ותקופות).
Rollout: ”MaxSurge/Maxynavable”, Canary Central Responses Festeway/Gateway/Service Mesh.
PDB (תקציב PodGoogle) + כיבוי חינני (Prestop hook, 'termination Seconds').
צומתי ניקוז/קורדון לשדרוגים.
4) רשת: CNI, שירותים, תנועת קלט
4. שכבת CNI 1
Calico/Cilium/Weave - Networks Policy, eBPF לביצועים.
כללים בתוך החלל: מינימום דורש יציאה/כניסה.
4. 2 שירותים והתחברות
שירות: ”Clouglough IP/NodPort/LautBalancer”.
כניסה או שער API עבור L7: נתיב/כותרת/נתיבים מארחים, TLS, משקולות כנרית.
MTLS בתוך האשכול: באמצעות שירות-רשת (איסטיו/לינקרד) - יירוט של TLS ופוליטיקה.
HTTPROUE דוגמה (שער 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/PPD/Premium SSD) + ' Class' עם פרמטרים ביצועים.
RWX לשיתוף (NFS/FSx/Filestore) - זהירות עם מנעולים.
גיבוי/שחזור: Velero/Kasten, תמונות תקופתיות, בדיקת התאוששות.
הצפנת רמת דיסק ובסיס נתונים (KMS).
6) קנה מידה אוטומטי: HPA/VPA/KEDA
HPA (CPU/RAM/metrics מותאם אישית - RPS, p95): עבור API/לובי.
VPA (המלצות/אוטומטי) לעובדים יציבים.
KEDA - תורים של Kafka/SQS/Redis, Cron-shedula.
אשכול צומת טעינה אוטומטית; בריכות חמות לפסגות (טורנירים/זרמים).
7) שירות-רשת (אם יש צורך)
מדיניות MTLS/ servis↔servis, אישור זהות (SPIFFE).
מפסק מעגל/זמן/ניסיון חוזר, חריגה-פליטה, צל.
טלמטריה מחוץ לקופסה: מדדים אחידים ועקבות.
השתמש היכן שאתה זקוק לניהול תנועה עדין (תשלומים, ספקי משחקים).
8) ביטחון: סודות, פוליטיקה, ציות
סודות: מנהל חיצוני (AWS/GCP/Azure KMS, סודות חיצוניים), סיבוב.
מדיניות כקוד: OPA/Gatekeeeper/Kyverno - מכחיש: עדכני, משתמש שורש, HostPATH, הרשאות.
הסלמת זכויות: Namespaces + RBAC, Dev/Stage/Prod Split, ביקורת.
אבטחת תמונה: סריקה ב ־ CI/CD, חתימה (cosign), כניסה לפי חתימה.
MTLS ו-JWT בתוך (רשת), קלט WAF/Rate-limit (Ingress/Gateway).
9) יכולת תצפית ו ־ SLO
Metrics: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, רוויות.
Loki/Elastic, PII/PAN/IBAN מסווה.
עקבות: OTLP = Tempo/Jaeger; 'trace _ id' מגיע מהשער.
פיקדון p95, 300 מ "ר, הצלחה 98. חמישה אחוזים, התראות על צריבה.
פרואקטיביות: לכל שירות/לכל מסלול לוחות מחוונים, כלב שמירה DLQ ו תור מפגר.
10) CI/CD, Helm, GitOps
CI: לינטרים, בדיקות (יחידה/חוזה/אינטגרציה), SAST/DAST, SBOM.
Helm/Jsonnet/Kustomize: תרשימים הצהרתיים עם ערכים. על סביבות.
GitOps (ArgoCD/Flux): סקירה של מקור אחד של האמת, רישום יחסי ציבור, לחצן רולבק.
אסטרטגיות: כחול-ירוק, קנרית, צל; סכימה נדודים - להרחיב-ו-חוזה.
שבר ערכים. 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) תכנון ובידוד
NodePols: נפרדים תשלומים/ארנק לצמתים ”רעש נמוך” עם דיסק מהיר.
Tains/Tolerations: בריכות מוגנות לעומסים קריטיים.
(Anti-) זיקה: שכפול כתם על ידי אזור/צומת (HA).
מכסה/רכס שמות - הגנה מפני ”שכנים רעשניים”.
12) רב-שלבים, רב-אזורי, DR
פיצול על ידי תחום שיפוט: אשכולות EU/LATAM/ROW; נתוני תושב - באופן מקומי.
קלט GSLB/Anycast, תצפית לכל מחלקה והתראות.
- המתנה חמה (מומלץ): העתק של מסדי נתונים קריטיים, בדיקות כשל תקופתיות.
- פעיל-פעיל לקריאה/ניתוב אזורי.
- גיבוי: גיבוי (ולרו), התאוששות חזרות.
13) מפרט iGaming
תשלומים/ארנק: p95 ms 300-500, בריכות בודדות ו-PDB קפדני; קנרית 1 כפול 5 כפול 10%.
לובי/תוכן: HPA אגרסיבי על ידי RPS/INP, תמונות/מטמון וקטורי מחומם.
משחקים/זרמים חיים: LC/מינימום מגשים מחדש, פסקי זמן ארוכים, דביקים על החיבור.
ציות: מרחב נימי עם מדיניות קשוחה, סודות דרך KMS, ביקורת של שינויים להלם משחרר.
משחק אחראי: הגבלת/חסימת שירות - עדיפות תנועה (אל-כשל פתוח/קרוב על ידי מדיניות).
14) רשימות בדיקה
לפני שמניחים את השירות
[ ] תמונה רב-שלבית, USER nonrot, חתימה, סריקה עברה.
[ ] בקשות/גבולות, גשושיות, אינוו/סוד ממנהל חיצוני.
[ ] PDB, 'Maxunavable 1', כיבוי חינני.
[ ] התראות SLO, התחקות מהשער עד DB.
[ ] דפוס הקנריים ותוכנית ההפעלה.
[ ] מדיניות אופ "א/קיוורנו לעבור (לא שורש, לא נתיב, לא: האחרון).
אשכול/פלטפורמה
[ ] NetworkPolicy; MTLS (רשת) איפה שצריך.
[ ] מחלקה/שימור, גיבוי/שחזור נבדק.
[ ] הגדרת HPA/VPA/KEDA; אשכול אוטוסקלר בריכת חימום.
[ ] RBAC הוא מינימלי, ביקורת מתאפשרת, סודות הם מ-KMS.
[ ] GitOps: תרשימים/מניפסטים במאגר, סקירת יחסי ציבור נדרשת.
15) אנטי דפוסים
אחרונים, משתמש שורש, שכבות בסיס עבות.
אין ביקורים/הגבלות. פינוי/מצערת.
מוכנות = לביאה.
ערבוב מדינה/חסר מעמד על אותה בריכה ללא נגעים.
נדודים של מזימות ”ראש בראש” ללא הרחבת-וחוזה.
האשכול היחיד ”לכל השווקים” ללא בידוד אזורי.
יומנים עם PII/PAN, סודות בתצורה.
העדר PDB/ניקוז = שברים בפסגות ובמהלך שדרוגים.
16) מטרי פלטפורמה (מינימום)
CPU/Mem בקשות נגד הקצאה, תרמיל-churn, צומת-לחץ.
רשת: p95 לכל מסלול, 4xx/5xx, אתחול/זמן, קצב מחדש, שגיאות mTLS.
אחסון: IOPS/latency, תור-עומק, שגיאות CSI.
החלטות HPA, אירועי CA, זמן חימום.
עסקים: TTP, TTW, FTD-הצלחה, סירוב לתשלומים על הספק.
חוסר עקביות של אופ "א, תמונות שלא נחתמו, סודות שפגו.
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, Ingress/Gateway, ניטור/רישומים/שבילים, CNI.
3. CI/CD ו GitOps: גיליונות הלם, ימי רביעי, קנרית/רולבק, נדודים מזימות.
4. קנה מידה והתאוששות: HPA/VPA/KEDA, PDB, בריכות צומת, קווים/זיקה, DR תוכנית.
גיליון רמאות סופי
רזה, חתום תמונות + מדיניות כניסה = בסיס אבטחה.
דגימות, משאבים, PDB, ניקוז = שוד שחרור.
HPA/VPA/KEDA + כוונון בריכות = קנה מידה ללא ירידות.
Gateway/Ingress + mTLS/OPA = היקפי מאובטח ואינטרקום.
תצפית + SLO + GitOps = שינויים מנוהלים.
בידוד אזורי וד "ר = ציות וסובלנות אשמה.