कंटेनराइजेशन और ऑर्केस्ट्रेशन
1) iGaming में कंटेनर और k8s क्यों
परिवर्तन की दर: पूर्वानुमानित छवियां, एकल सीआई/सीडी पाइपलाइन।
स्थिरता: ऑटो-रिस्टार्ट, क्षैतिज स्केल, सेल्फ-हीलिंग।
डेटा/क्षेत्र अलगाव: न्यायालयों के तहत नामस्थान/समूह।
परिचालन मानक: संसाधन नीतियां, एकल लॉग/मैट्रिक्स/ट्रेल्स।
जब आवश्यक नहीं है: एक छोटी टीम, 2-3 सेवाएं, दुर्लभ रिलीज - PaaS/मॉड्यूलर मोनोलिथ के साथ शुरू करें।
2) छवियाँ और रजिस्ट्रियाँ (OCI/Docker)
2. 1 छवि सभा - सिद्धांत
मल्टी-स्टेज: बिल्ड → रनटाइम (पतली बेस इमेजेज 'डिस्ट्रोलेस', 'अल्पाइन' सावधानी के साथ)।
पुनरावृत्ति: संस्करण/sha256, 'COPY --chown', '-mount = type = cache' को BenebryKit में ठीक करें.
SBOM और हस्ताक्षर: 'cosign साइन/सत्यापित करें', 'slsa सिद्ध', 'केवल हस्ताक्षरित' नीति।
स्लिम-डाउन: dev-tools हटाएं, 'USER nonroot', 'readOlnRootFilesystem' शामिल करें।
उदाहरण डॉकरफाइल (नोड)। 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 रजिस्टर और नीतियां
विलंबता और जीडीपीआर अनुपालन को कम करने के लिए निजी रजिस्ट्री + भू-प्रतिकृति (ईयू/एनए)।
प्रतिधारण/प्रतिरक्षा - टैग के ओवरराइटिंग को रोकें, पीओपी में कैश को गर्म करें।
प्रवेश नियंत्रण: केवल हस्ताक्षरित/स्कैन की गई छवियाँ (cosign + Trivy/Grype)।
3) ऑर्केस्ट्रेशन: बेसिक कुबर्नेट्स पैटर्न
3. 1 आदिम
तैनाती - स्टेटलेस सेवाएं (लॉबी, एपीआई)।
Stat Set - बटुआ/कतार/भंडारण (निश्चित नाम, स्थिर खंड)।
डेमनसेट - लॉग एजेंट/नेटवर्क घटक।
जॉब/क्रोनजॉब - माइग्रेशन, रिपोर्ट, ईटीएल।
3. 2 संसाधन और QoS
'रिक्वेस्ट/लिमिट' (CPU/मेमोरी) → QoS कक्षाएं और पूर्वानुमेय शेड्यूलिंग निर्दिष्ट करें।
बर्स्टेबल केवल जहां यह सचेत है; आलोचनात्मक - गारंटीकृत।
समर्पित पूल (दाब/सहिष्णुता, नोड-आत्मीयता) पर महत्वपूर्ण भुगतान फली रखें।
3. 3 स्थिरता और रिलीज
जांच: 'स्टार्टअप', 'लाइवनेस', 'तत्परता' (टाइमआउट और पीरियड्स के साथ)।
रोलआउट: 'मैक्ससर्ज/मैक्सअनुपलब्ध', कैनरी через вес в Ingress/गेटवे/सर्विस मेश।
PDB (PodDis बजट) + सुंदर शटडाउन (PreStop Hook, 'TermationGraceComments')।
उन्नयन के लिए नाली/कॉर्डन नोड्स।
4) नेटवर्क: CNI, सेवाएं, इनपुट ट्रैफिक
4. 1 CNI परत
कैलिको/सिलियम/वीव - नेटवर्किंग पॉलिसी, प्रदर्शन के लिए ईबीपीएफ।
अंतर-अंतरिक्ष नियम: न्यूनतम आवश्यक एग्रेस/इंग्रेस।
4. 2 सेवाएं और लॉगिन
सेवा: 'ClusterIP/NodePort/LoadBalancer'।
L7 के लिए इंग्रेस या गेटवे एपीआई: पथ/हेडर/मेजबान मार्ग, टीएलएस, कैनरी भार।
क्लस्टर के भीतर एमटीएलएस: सेवा-जाल (इस्तियो/लिंकर्ड) के माध्यम से - टीएलएस और राजनीति का अवरोधन।
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 ड्राइवर (EBS/PD/प्रीमियम SSD) + 'स्टोरक्लास' निष्पादन मापदंडों के साथ।
साझा करने के लिए RWX (NFS/FSx/Filestore) - ताले के साथ सावधान।
बैकअप/पुनर्स्थापना: वेलेरो/कस्टन, आवधिक स्नैपशॉट, वसूली जाँच.
डिस्क-स्तर और डेटाबेस-स्तर (केएमएस) एन्क्रिप्शन।
6) ऑटो-स्केलिंग: HPA/VPA/KEDA
एचपीए (सीपीयू/रैम/कस्टम मैट्रिक्स - आरपीएस, पी 95 द्वारा): एपीआई/लॉबी के लिए।
वीपीए (सिफारिशें/ऑटो) - स्थिर श्रमिकों के लिए।
KEDA (घटना-चालित) - काफ्का/SQS/Redis कतारों, Cron-shedula द्वारा पैमाना।
क्लस्टर ऑटोस्कैलर - लोड नोड्स; चोटियों के लिए गर्म पूल (टूर्नामेंट/धाराएँ)।
7) सेवा-जाल (यदि आवश्यक हो)
mTLS/ servis↔servis नीतियां, पहचान प्राधिकरण (SPIFFE)।
सर्किट-ब्रेकर/टाइमआउट/रीट्री, आउटलियर-इजेक्शन, छाया।
बॉक्स से बाहर टेलीमेट्री: समान मैट्रिक्स और ट्रैक।
जहाँ आपको सूक्ष्म यातायात प्रबंधन (भुगतान, खेल प्रदाताओं) की आवश्यकता होती है
8) सुरक्षा: रहस्य, राजनीति, अनुपालन
राज: बाहरी प्रबंधक (AWS/GCP/Azure KMS, बाहरी रहस्य), रोटेशन।
पॉलिसी-ए-कोड: ओपीए/गेटकीपर/किवर्नो - इनकार ': नवीनतम', रूट-यूजर, hostPath, विशेषाधिकार।
अधिकार वृद्धि: Namespaces + RBAC, Dev/Stage/Prod विभाजन, ऑडिट।
छवि सुरक्षा: CI/CD में स्कैन, हस्ताक्षर (cosign), हस्ताक्षर द्वारा प्रवेश।
mTLS और JWT अंदर (जाल), WAF/दर-सीमा इनपुट (इंग्रेस/गेटवे)।
9) अवलोकन और एसएलओ
मेट्रिक्स: प्रोमेथियस/ओपनटेलीमेट्री, p50/95/99, 4xx/5xx, संतृप्ति।
लॉग: संरचनात्मक JSON → लोकी/इलास्टिक, PII/PAN/IBAN मास्किंग।
निशान: OTLP → Tempo/Jaeger; 'ट्रेस _ आईडी' गेटवे से आता है।
SLO: उदा। 'जमा p95 ≤ 300 ms, सफलता ≥ 98। 5% ', अलर्ट बर्न-रेट।
सक्रियता: प्रति-सेवा/प्रति-मार्ग डैशबोर्ड, डीएलक्यू वॉचडॉग और कतार लैग्स।
10) सीआई/सीडी, हेल्म, गिटोप्स
CI: लिंटर्स, टेस्ट (यूनिट/कॉन्ट्रैक्ट/एकीकरण), SAST/DAST, SBOM।
हेल्म/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) योजना और अलगाव
नोडपूल: फास्ट डिस्क के साथ "कम शोर" नोड्स में अलग भुगतान/बटुआ।
टांस/सहिष्णुता: महत्वपूर्ण भार के लिए संरक्षित पूल।
(Anti-) आत्मीयता: ज़ोन/नोड (HA) द्वारा स्मीयर प्रतिकृतियाँ।
रिसोर्सकोटा/नेमस्पेस पर सुरक्षा - "शोर पड़ोसियों" के खिलाफ सुरक्षा।
12) बहुक्रियाशील, बहु-क्षेत्र, डीआर
अधिकार क्षेत्र द्वारा विभाजित: EU/LatAM/ROW समूह; निवासी डेटा - स्थानीय रूप से।
GSLB/Anycast इनपुट, प्रति वर्ग अवलोकन और अलर्ट।
डीआर स्तर:- गर्म स्टैंडबाय (अनुशंसित): महत्वपूर्ण डेटाबेस की प्रतिकृति, आवधिक विफलता जांच।
- पढ़ ने/क्षेत्रीय मार्ग के लिए सक्रिय-सक्रि
- बैकअप: बैकअप (वेलेरो), रिहर्सल रिकवरी।
13) iGaming विशिष्टता
भुगतान/बटुआ: p95 ≤ 300-500 एमएस, व्यक्तिगत पूल और सख्त पीडीबी; कैनरी 1→5→10%।
लॉबी/सामग्री: आरपीएस/आईएनपी द्वारा आक्रामक एचपीए, गर्म छवियां/वेक्टर कैश।
लाइव गेम/स्ट्रीम: एलसी/न्यूनतम रिट्रे, लंबे सॉकेट टाइमआउट, कनेक्शन पर चिपचिपा।
अनुपालन: कठिन नीति के साथ नीमस्पेस, केएमएस के माध्यम से रहस्य, हेल्म रिलीज में परिवर्तन का ऑडिट।
जिम्मेदार खेल: सीमा/अवरोधन सेवा - प्राथमिकता यातायात (नीति द्वारा असफल-खुला/बंद)।
14) चेकलिस्ट
सेवा देने से पहले
- मल्टी-स्टेज इमेज, यूजर नॉनरूट, कॉसाइन सिग्नेचर, स्कैन पास।
- बाहरी प्रबंधक से अनुरोध/सीमाएँ, जांच, env/रहस्य।
- PDB, 'MaxUnable ≤ 1', सुंदर बंद।
- SLO/अलर्ट, गेटवे से DB तक ट्रेसिंग।
- कैनरी पैटर्न और रोलबैक योजना।
- OPA/Kyverno नीतियां पास (कोई जड़ नहीं, कोई hostPath, नहीं: नवीनतम)।
क्लस्टर/प्लेटफ़ॉर्म
- CNI और नेटवर्किंग पॉलिसी सक्षम; mTLS (जाल) जहाँ आवश्यक हो।
- स्टोरेज क्लास/रिटेंशन, बैकअप/रिस्टोर चेक।
- HPA/VPA/KEDA कॉन्फ़िगर; क्लस्टर ऑटोस्केलर и वार्म-पूल।
- आरबीएसी न्यूनतम है, ऑडिटिंग सक्षम है, रहस्य केएमएस से हैं।
- GitOps: चार्ट/भंडार में प्रकट होता है, पीआर समीक्षा आवश्यक है।
15) एंटी-पैटर्न
'नवीनतम' इमेज, रूट उपयोगकर्ता, मोटी आधार परतें।
कोई 'रिक्वेस्ट/लिमिट' नहीं - निष्कासन/थ्रॉटलिंग।
तत्परता = जीवंतता।
दागी के बिना एक ही पूल पर स्टेटफुल/स्टेटलेस मिलाना।
विस्तार और अनुबंध के बिना "हेड-ऑन" योजनाओं के प्रवासन।
क्षेत्रीय अलगाव के बिना एकमात्र समूह "सभी बाजारों के लिए"।
PII/PAN के साथ लॉग, कॉन्फ़िगमैप में रहस्य।
पीडीबी/जल निकासी की कमी - चोटियों में और उन्नयन के दौरान टूट जाती है।
16) प्लेटफ़ॉर्म मेट्रिक्स (न्यूनतम)
Кластер: सीपीयू/मेम अनुरोध बनाम आवंटित, पॉड-मंथन, नोड-दबाव।
नेटवर्क: p95 प्रति-रूट, 4xx/5xx, रीसेट/टाइमआउट, रीट्री-रेट, एमटीएलएस त्रुटियां।
भंडारण: IOPS/विलंबता, कतार-गहराई, CSI त्रुटियाँ।
ऑटोस्केल: एचपीए निर्णय, सीए घटनाएं, वार्म-अप समय।
व्यवसाय: TTP, TtW, FTD-सफलता, प्रदाता पर भुगतान से इनकार।
सुरक्षा: ओपीए विसंगतियां, गैर-हस्ताक्षरित छवियां, समाप्त रहस्य।
17) घोषणापत्र के उदाहरण
तैनाती (एपीआई, कैनरी लेबल)
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
पीडीबी (बटुआ)
yaml apiVersion: policy/v1 kind: PodDisruptionBudget spec:
minAvailable: 3 selector: { matchLabels: { app: wallet } }
एचपीए (कस्टम-मैट्रिक्स के माध्यम से आरपीएस के माध्यम से)
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. छवि असेंबली और सुरक्षा: मल्टी-स्टेज, एसबीओएम, हस्ताक्षर, प्रवेश नीति।
2. बेस प्लेटफॉर्म k8s: CNI, इंग्रेस/गेटवे, मॉनिटरिंग/लॉग/ट्रेल्स, स्टोरेज क्लास।
3. CI/CD और GitOps: हेल्म चार्ट, बुधवार, कैनरी/रोलबैक, स्कीमा माइग्रेशन।
4. स्केल और लचीलापन: HPA/VPA/KEDA, PDB, नोड पूल, दाग/आत्मीयता, DR योजना।
अंतिम धोखा पत्र
पतली, हस्ताक्षरित छवियां + प्रवेश नीति = सुरक्षा आधार।
नमूने, संसाधन, पीडीबी, नाली = रिलीज मजबूती।
HPA/VPA/KEDA + ट्यूनिंग पूल = स्केल बिना ड्रॉडाउन के।
गेटवे/इंग्रेस + एमटीएलएस/ओपीए = सुरक्षित परिधि और इंटरकॉम।
अवलोकन + SLO + GitOps = प्रबंधित परिवर्तन।
क्षेत्रीय अलगाव और डीआर = अनुपालन और दोष सहिष्णुता।