Amallar we Dolandyryş → Ýerine ýetiriş syýasaty we runtime-çäklendirmeler
Ýerine ýetiriş syýasaty we runtime-çäklendirmeleri
1) Bellenilmegi
Runtime-syýasatçylar hyzmatlaryň özüni alyp barşyny öňünden aýdyp boljak, howpsuz we tygşytly edýärler: "şowhunly goňşulary" çäklendirýärler, syzmagyň we aşa gyzmagyň öňüni alýarlar, ýüküň köpelmegi bilen SLO-ny saklamagy üpjün edýärler.
Esasy maksatlar: izolýasiýa, serişdeleri adalatly paýlamak, gözegçilik edilýän pese gaçmak, köpeltmek, audit.
2) Gurşaw sebiti
Hasaplamalar we ýat: CPU, RAM, GC-arakesmeler, akym çäkleri.
Disk/ammar: IOPS/throughput, kwotalar, fs-syýasatlar (read-only).
Сеть: egress/ingress, bandwidth shaping, network policies.
Prosesler/ulgamlaýyn jaňlar: seccomp, capabilities, ulimit.
Orkestr: Kubernetes QoS, requests/limits, ileri tutulýan ugurlar, taints/affinity.
API/şlýuzlar: rate-limits, kwotalar, wagt/retrauslar, circuit-breakers.
Maglumatlar/ETL/akymlar: batch/stream concurrency, consumer lag budgets.
Howpsuzlyk: AppArmor/SELinux, rootless, syrlar/kofiges.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.
3) Esasy ýörelgeler
Fail-safe: artykmaç soraglary taşlamak ýykylmakdan has gowudyr.
Budget-driven: wagt/retrauslar haýyşnamanyň wagt býudjetine we SLO ýalňyşlyklarynyň býudjetine laýyk gelýär.
Small blast radius: namespace/pula/düwün/şard boýunça izolýasiýa.
Declarative & auditable: ähli çäklendirmeler - kod/repozitoriýada + üýtgeşmeler journalurnalynda.
Multi-tenant fairness: hiç bir kärendeçi/topar tutuş klasteri "sorup" bilmez.
4) Hasaplamalar we ýat
4. 1 Kubernetes и cgroup v2
requests/limits: requests CPU/ýat paýyny kepillendirýär; limits throttling/OOM-killer.
QoS synplary: Guaranteed/Burstable/BestEffort - Guaranteed/Burstable-da möhüm workloadlary saklaýarys.
CPU: `cpu. shares`, `cpu. max '(throttle), pinning üçin CPuset.
Ýat: 'memory. max`, `memory. swap. max '(köplenç swap off), ileri tutulýan oom_score_adj.
4. 2 Nagyşlar
Headroom düwünde 20-30%, köpeltmek üçin anti-affinity.
GC-çäkleri: JVM '-Xmx' <k8s memory limit; Go: `GOMEMLIMIT`; Node: `--max-old-space-size`.
ulimit: 'nofile', 'nproc', 'fsize' - hyzmatyň ugry boýunça.
5) Disk we ammar
IOPS/PVC/klaster-storage üçin kwotalar; magazinesurnallary/maglumatlary bölmek.
Read-only root FS, wagtlaýyn faýllar üçin tmpfs, ululyk çäklendirmesi '/tmp '.
FS-watchdog: jildleri doldurmak we inode ösüşi üçin aladalar.
6) Tor we traffik
NetworkPolicy (ingress/egress) — zero-trust east-west.
Bandwidth limits: tc/egress-policies, QoS/DSCP kritiki akymlar üçin.
Egress-kontroller: rugsat edilen domenleriň/kiçi torlaryň sanawy, DNS auditi.
mTLS + TLS policies: şifrlemek we teswirnamanyň mejbury görnüşi.
7) Prosesiň howpsuzlygy
Seccomp (allowlist syscalls), AppArmor/SELinux profilleri.
Drop Linux capabilities (minimum goýuň), 'runAsNonRoot', 'readOnlyRootFilesystem'.
Rootless konteýnerler, gol çekilen şekiller we attestations.
Secrets-only via Vault/KMS, tmp-tokens bilen gysga TTL.
8) Wagt syýasatlary: taýmautlar, retraýlar, býujetler
Timeout budget: SLA end-tu-end ≤ ähli hoplaryň jemi.
Backoff + jitter bilen retraýalar, ýalňyşlyk synpy boýunça iň köp synanyşyk.
Circuit-breaker: error %/timeout p95 bosagadan ýokary bolanda açyk → çalt şowsuzlyklar.
Bulkheads: möhüm ýollar üçin aýratyn connection-pool/nobatlar.
Backpressure: sarp edijiler üçin öndürijileriň çäklendirilmegi.
9) Rate-limits, kwotalar we ileri tutulýan ugur
Algoritmler: token/leaky bucket, GCRA; lokal + paýlanan (Redis/Envoy/global).
Granulýasiýa: API açary/ulanyjy/gurama/sebit/soňky nokat.
Ileri tutulýan gradientler: "töleg/ygtyýarnama" akymlary - gold, analitika - bronze.
Günde/aýda kwotalar, "burst" we "sustained" çäkleri; 429 + Retry-After.
10) Orkestrlemek we meýilleşdiriji
PriorityClass: P1 podlaryny çalyşmakdan goramak.
PodDisruptionBudget: Täzelenme wagtynda düşmegiň çäkleri.
Taints/Tolerations, (anti) Affinity - izolýasiýa workloads.
RuntimeClass: gum gutulary üçin gVisor/Firecracker/Wasm.
Gorizontal/Vertical autoscaling with guard-порогов и max-replicas.
11) Maglumat syýasaty/ETL/akym
Concurrency per job/topic, max batch size, checkpoint aralygy.
Consumer lag budgets: warning/critical; DLQ we retraý çäkleri.
Penjireler üçin Freshness SLA, proto-traffigiň iň ýokary nokatlarynda agyr joblaryň arakesmesi.
12) Policy-as-Code we admission-control
OPA Gatekeeper/Kyverno: requests/limits bolmazdan, 'readOnlyRootFilesystem', 'hostNetwork', ': latest'.
Pre-commit barlaglary üçin conftest Helm/K8s/Terraform.
Mutation policies: awtomatiki kömek sidecar (mTLS), annotasiýa, seccompProfile.
yaml apiVersion: kyverno. io/v1 kind: ClusterPolicy metadata:
name: require-resources spec:
validationFailureAction: Enforce rules:
- name: check-limits match:
resources:
kinds: ["Pod"]
validate:
message: "We need resources. requests/limits for CPU and memory"
pattern:
spec:
containers:
- resources:
requests:
cpu: "?"
memory: "?"
limits:
cpu: "?"
memory: "?"
OPA (Rego) mysaly - wagt ≤ 800 ms:
rego package policy. timeout
deny[msg] {
input. kind == "ServiceConfig"
input. timeout_ms> 800 msg: = sprintf ("timeout% dms exceeds budget 800ms," [input. timeout_ms])
}
13) Gözegçilik etmek we berjaý etmegiň metrikasy
Compliance%: dogry requests/limits/labels bilen podlaryň paýy.
Security Posture: seccomp/AppArmor/rootless.
Rate-limit hit%, shed%, throttle%, 429 share.
p95 wagt/retraew, circuit-open duration.
OOM kills/evictions, CPU throttle seconds.
Network egress denied events, egress allowlist misses.
14) Çek-listler
Hyzmaty goýmazdan ozal
- requests/limits; QoS ≥ Burstable
- Wagtlar we retralar SLA-nyň soňuna gabat gelýär
- Circuit-breaker/bulkhead daşarky garaşlylyk üçin goşuldy
- NetworkPolicy (ingress/egress) и mTLS
- Seccomp/AppArmor, drop capabilities, non-root, read-only FS
- Rate-limits we API şlýuzynda/hyzmatynda kwotalar
- PDB/priority/affinity berildi; autoscaling sazlandy
Her aý
- Policy-kadadan çykmalaryň barlagy (TTL)
- Wagt/ýalňyşlyk býudjetlerini gözden geçirmek
- Zaýalanma synagy (fire-drill): shed/backpressure/circuit-breaker
- Syrlary/şahadatnamalary aýlamak
15) Anti-patternler
requests/limits: "burst" goňşulary iýýär → kaskad şowsuzlyklary.
Jittersiz global retraýalar: endiklerde tupan.
Tükeniksiz wagtlar: "asylan" konnektler we pullaryň tükenmegi.
': latest' we mutable bellikler: öňünden aýdyp bolmajak runtime-gurnamalar.
Açyk egress: syzmak we dolandyrylmaýan endikler.
PDB ýoklugy: täzelenmeler tutuş howuzy "kakýar".
16) Kiçi pleýbuklar
A. Payments-service-de CPU throttle%
1. Limits/requests barlamak we gyzgyn ýollary profillemek.
2. Wagtlaýynça requests göteriň, p95 latency boýunça awtoskeýli açyň.
3. Keş-follback çäklerini/kurslaryny açyň, soraglaryň çylşyrymlylygyny peseldiň.
4. Post-fix: denormallaşma/indeksler, limits täzeden seredilmegi.
B. Ösüş 429 we API-e garşy şikaýatlar
1. Açarlar/guramalar boýunça hasabat → kimiň kwotasyna daýanandygy.
2. Giriň hierarchical quotas (per-org → per-key), gold üçin burst.
3. Backoff boýunça aragatnaşyk we gollanma; adaptive limiting.
V. Köpçülikleýin OOM kills
1. Concurrency azaldylýar, heap-limit we profil açylýar.
2. Hakyky peak-usage üçin Xmx/GOMEMLIMIT sanamak.
3. GC/howuzlary täzeden taýýarlamak, swap-off we soft-limit alertlerini goşmak.
17) Konfigurasiýa mysallary
K8s konteýner (bölek):yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
Envoy rate-limit (bölek konseptual):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
Nginx ingress - wagt we çäklendirmeler:
yaml nginx. ingress. kubernetes. io/proxy-connect-timeout: "2s"
nginx. ingress. kubernetes. io/proxy-read-timeout: "1s"
nginx. ingress. kubernetes. io/limit-rps: "50"
18) Üýtgeşmeleri we hadysalary dolandyrmak bilen integrasiýa
Syýasatyň islendik gowşamagy - RFC/CAB arkaly we TTL bilen wagtlaýyn kadadan çykma.
Syýasatyň bozulmagy boýunça wakalar → post-mortem we düzgünleri täzelemek.
Gabat geliş tagtalary (compliance) goýberiş senenamasyna birikdirildi.
19) Jemleýji
Ýerine ýetiriş syýasaty platforma üçin "päsgelçilik" bolup durýar: çalt sürmäge päsgel bermeýär, ýykylmagyna ýol bermeýär. Deklaratiw çäklendirmeler, awtomatiki mejbur etmek, gowy metrikler we kadadan çykmalar düzgüni bulam-bujar ekspluatasiýany dolandyrylýan we öňünden aýdyp boljak ulgama - gözegçilik edilýän gymmaty we durnukly SLO-lara öwürýär.