Բեռնարկղը և նվագախումբը
1) Ինչու՞ են բեռնարկղերը և k8s iGaming-ում
Փոփոխության արագությունը կանխատեսելի պատկերներ են, CI/CD-ի մեկ շարժիչ։
Կայունություն 'վերագործարկումներ, հորիզոնական սկեյլ, սելֆ-հիլինգ։
Տվյալների/տարածաշրջանների մեկուսացումը 'նյարդային/կլաստերներ իրավասության տակ։
Վիրահատական ստանդարտները 'ռեսուրսների քաղաքականությունը, մեկ լոգ/մետրիկները/թրեյսները։
Երբ կարիք չկա 'փոքրիկ թիմ, 2-3 հաղթանակ, հազվագյուտ ֆորումներ, սկսեք PaaS/մոդուլային մոնոլիտից։
2) Պատկերներ և օրինակներ (OCI/Docker)
2. 1 Պատկերների հավաքումը սկզբունքներ է
Multi-stage: Բիլդը rantaim (բարակ հիմնական պատկերներ «distroless», «alpine» զգուշությամբ)։
Կրկնություն 'գրանցեք տարբերակները/sha256, «COPY ---chown», «---mount = type = cache» BuildKit-ում։
SBSA-ը և ստորագրությունը ՝ «cosport/verify», «slant provenae», քաղաքականությունը «միայն ստորագրված»։
Slast-down: Հեռացրեք dev-toom-ը, միացրեք 'USER nonroot "," readOnlyRootem System "։
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 + geo կրկնօրինակներ (EU/NA) լատենտության և GDPR-ի նվազեցման համար։
Retention/immutability: Tegs-ի վերագործարկման արգելքը, տաքացնելով cash PoP-ում։
Admission-վերահսկումը 'միայն ստորագրված/սկան-մաքուր պատկերներ (cosport + Trivy/Grype)։
3) Նվագախումբը 'Kubernetes-ի հիմնական արտոնագրերը
3. 1 Պրիմիտիվներ
Deploy.ru - steless ծառայություններ (լոբբի, API)։
StatefullExpress-ը դրամապանակն/հերթը/108 (ֆիքս անունը, կայուն հատորները)։
DaemonExpress-ը ցանցային բաղադրիչներ են։
Job/Cast Job-ը ETL-ի զեկույցն է։
3. 2 Ռեսուրսներ և QoS
Նշեք 'reques.ru/limits' (CPU/Memory) ռուսական դասարաններ QoS և կանխատեսելի պլանավորումը։
Burstable-ը միայն այնտեղ է, որտեղ դա գիտակցաբար է։ քննադատական 'Guaranteed։
Կրիտիկական մետրոպոլիտենի PODA-ները տեղադրեք ընտրված շուլերի վրա (tainae/tolerae, node-affinity)։
3. 3 Կայունություն և կայունություն
Probes: «startup», «liveness», «readiness» (թայմաուտների և ժամանակահատվածների հետ)։
Rollout: `maxSurge/maxUnavailable`, canary через вес в Ingress/Gateway/Service Mesh.
PDB (PodDisruptionBudget) + graceful shutdown (PreStop hook, `terminationGracePeriodSeconds`).
Altain/www.don nood apgraid-ում։
4) Ցանցը ՝ CNI, ծառայություններ, մուտքային շարժիչ
4. 1 CNI շերտ
Calico/Cil.ru/Weave - ցանցի քաղաքականությունը (NetworkPolicy), eBPF արտադրողականության համար։
Միջմայրցամաքային կանոնները 'նվազագույն անհրաժեշտ egress/ingress։
4. 2 Ծառայություններ և ծառայություններ
Service: `ClusterIP/NodePort/LoadBalancer`.
Ingress-ը կամ Gateway API-ը L7-ի համար 'ճանապարհներ/հեդեր/հանրակացարան, TFC, կանարեկային քաշներ։
MTSA-ի ներսում 'մեշի ծառայության միջոցով (Istio/Linkerd) - TSA-ի և քաղաքականության ընդհատումը։
Օրինակ HTTPRense (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-վարորդները պրովայդերի (EFC/PD/Winmast SSD) + «storts Class» -ը արտադրողականության բարձրացումով։
RWX գնդակի համար (NMS/FSx/Investore) - զգուշորեն բլոկներով։
Backup/restore: Velero/Kasten, պարբերական սարքավորում, վերականգնման ստուգում։
Կոդավորումը 'սկավառակի մակարդակում և BD մակարդակում (KFC)։
6) Avto-մեծացումը 'HPA/MSA/KEDA/KEDA
HPA (CPU/RAM/կաստոմային մետրիատներ - RPS, p95) 'API/լոբբիի համար։
MSA (առաջարկություններ/մեքենաներ) կայուն գողերի համար է։
KEDA (event-driven) - մասշտաբը Kafka/MSS/Redis, Cast-գլուխգործոցներով։
Cluster Autoscaler-ը բեռի շարժիչ է։ warm-puls պիկի համար (pro/strima)։
7) Ծառայություն-մեշ (անհրաժեշտության դեպքում)
MTSA/քաղաքականությունը ծառայությունն է, ինքնության հեղինակային իրավունքը (SPIFFE)։
Circuit-breaker/timeout/retry, medier-eject, հացահատիկ (shadow)։
Փոխանցումատուփից դիե մետետրիա 'միասնական չափումներ և ուղիներ։
Օգտագործեք այնտեղ, որտեղ անհրաժեշտ է նուրբ կառավարման (վճարումներ, խաղերի պրովայդերներ)։
8) Անվտանգություն ՝ գաղտնիքներ, քաղաքականություն, համապատասխանություն
Secrets: արտաքին ղեկավարը (AWS/GCP/Azure KLS, External Secrets), ռոտացիան։
Policy-as-code: OPA/Gatekeeper/Kyverno - արգելք 'latest', root-USER, hostPath, արտոնություն։
Իրավունքների էսկալացիա ՝ Namespaces + RBAC, Dev/Stage/Windows բաժանումը, աուդիտ։
Image Express: Skan CI/CD, ստորագրություն (cosport), admission ստորագրությամբ։
MTSA և JWT ներսում (մեշ), WAF/Rate-limit մուտքի վրա (Ingress/Gateway)։
9) Դիտարկումը և SLO-ն
Metrics: Prometheus/OpenTelemetry, p50/95/99, 4xx/5xx, saturations.
Logs: կառուցվածքային JSON no Loki/Elastic, PII/PAN/IBAN։
Traces: OTLP 35Tempo/Jaeger; «trace _ id» -ը գալիս է դարպասից։
SLO: Օրինակ '"Deposit p95-300 ռուբլիներ, success 498։ 5% ", alerts burn-rate։
Ակտիվություն 'dashbords per-2019/per-rope, watchdog DLQ-ում և հերթերի ճամբարներում։
10) CI/CD, Helm, GitOps
CI 'ոսպնյակներ, թեստեր (unit/www.ract/integration), SBS/DMS, SBSA։
Helm/Jsonnet/Kustomize: անօրինական գծապատկերներ '«values» -ի վրա։
GitoPs (ArgoCD/Flux): single-source-of-truth, PR-ռևե մանիֆեստներ, rollback կոճակ։
Ռազմավարություններ ՝ blue-green, canary, shadow; սխեմաները expand and-medract են։
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) Պլանավորում և մեկուսացում
NodePooics-ը 'կիսեք վճարումները/դրամապանակները «ցածր կուռքերի» վրա արագ վայրի հետ։
Tainault/Toler.ru: պաշտպանված փամփուշտներ կրիտիկական ծանրության համար։
(Antia-) Affinity: Արտացոլեք դիտողությունները գոտիներով/հանգույցներով (HA)։
Resourts Delta/LimitRange-ը նյարդային ցանցերի վրա պաշտպանություն է «աղմկոտ հարևաններից»։
12) Multiklaster, մուլտֆիլմի շրջան, DR, DR
Հաղորդագրությունների բաժանումը 'EU/LatAm/ROW կլաստերներ; բնակիչների տվյալները տեղական են։
GSLB/Anycript-ը մուտքի մոտ, 71 կլասթ-կլաստեր և ալերտներ։
DR մակարդակները
Warm standby (խորհուրդ) 'քննադատական BD-ի կապույտ-կրկնօրինակը, failover պարբերական ստուգումները։
Կարդալու/տարածաշրջանային ուղղման համար active-action։
Պահեստավորում 'bekaps (Velero), rehearsal վերականգնումը։
13) iGaming հատկություն
Վճարումներ/դրամապանակներ ՝ p95-300-500 մզ, առանձին փամփուշտներ և խիստ PDB; canary 1→5→10%.
Լոբբի/բովանդակություն: ագրեսիվ HPA-ն RPS/INP-ով, կոտրված պատկերներ/վեկտորային քեշ։
Live-խաղեր/strims: LC/նվազագույն retrav, երկար սոկետների թայմաուտներ, sticky կապի մեջ։
Կոմպլասենսը 'Policy կոշտ նեյրոսեքսներ, KFC-ի միջոցով գաղտնիքներ, Helm-Lines փոփոխությունների աուդիտ։
Պատասխանատու խաղը 'սահմանների/արգելափակումների ծառայություն - գերակայություն (fail-open/close քաղաքականության մասին)։
14) Չեկ թերթերը
Ներծծումից առաջ
- Multi-stage պատկեր, USER nonroot, ստորագրություն cosport, սկանը կանցնի։
- Reques.ru/limits, probes, env/secret արտաքին ղեկավարից։
- PDB, `maxUnavailable ≤ 1`, graceful shutdown.
- SLO/alerts, նավից մինչև BD։
- Կանարյան սխեման և արձագանքման պլանը։
- OPA/Kyverno քաղաքական գործիչները անցնում են (www.root, www.hostPath, 07: latest)։
Կլաստեր/պլատֆորմ
- CNI և NetworkPolicy-ը ներառված են; MTSA (մեշ) որտեղ պետք է։
- Storts Class/retenshn, bakap/restore ստուգված են։
- HPA/MSA/KEDA լուծված; Cluster Autoscaler и warm-pool.
- RBAC նվազագույն, աուդիտ ներառված, գաղտնիքները KFC-ից։
- GitOps: Charts/մանիֆեստներ ավանդի մեջ, PR ակնարկը պարտադիր է։
15) Anti-patterna
«latest» պատկերները, root-օգտագործողը, «հաստ» հիմնական շերտերը։
Ոչ 'reques.ru/limits' eviction/trottling։
Readiness = liveness (ֆլամպային ռեստարտներ)։
Steitful/statelations խառնաշփոթը մեկ փամփուշտի վրա առանց tain.ru։
Ռուսական սխեմաները «lo» -ում առանց expand-and-intract։
Միակ կլաստերը «բոլոր շուկաների վրա» առանց տարածաշրջանային մեկուսացման։
Logs PII/PAN-ից, SystigMap-ի գաղտնիքները։
PDB/dranage-ի բացակայությունը պլաստիկներում և apraides-ում։
16) Պլատֆորմի մետրերը (նվազագույն)
Кластер: CPU/mem requests vs allocatable, pod-churn, node-pressure.
Ցանցը ՝ p95 per-rome, 4xx/5xx, reset/timeout, retry-rate, mTSA սխալներ։
Մոսկվա: IOPS/latency, queue-depth, CSI սխալներ։
Ավտոսկեյլ 'HPA decisions, CA events, տաքացման ժամանակը։
Բիզնեսը ՝ TTP, TtW, FTD-success, պրովայդերի վճարումների մերժումը։
Անվտանգությունը 'OPA-ի անհամապատասխանությունները, ոչ ստորագրված պատկերները, ժամկետանց գաղտնիքները։
17) Մանիֆեստի օրինակներ
Deployae (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 (RPS-ով custram-metr.ru միջոցով)
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-stage, SBSA, ստորագրությունները, admission քաղաքականությունը։
2. Ռուսական պլատֆորմ k8s: CNI, Ingress/Gateway, 2019/logs/treiss, Storts Class։
3. CI/CD և GitOps: Helm-charts, չորեքշաբթի, canary/rollback, ռուսական սխեմաներ։
4. Սկեյլ և կայունություն ՝ HPA/SNA/KEDA, PDB, node-puls, taints/affinity, DR պլան։
Գլամուրային փուչիկ
Բարակ, ստորագրված պատկերներ + ընդունելու քաղաքականությունը = անվտանգության հիմքը։
Փորձարկումներ, ռեսուրսներ, PDB, medain = ածխաջրածինների կայունություն։
HPA/MSA/KEDA + փամփուշտների թյունինգը = մասշտաբը առանց «ներարկման»։
Gateway/Ingress + mTSA/OPA = անվտանգ պարիմետր և ներքին կապ։
Observability + SLO + GitOps = կառավարվող փոփոխություններ։
Հիբրիդային մեկուսացումը և DR = կոմպլենսը և անկայունությունը։