GH GambleHub

Operatsiyalar va Boshqaruv → Ijro siyosati va runtime-cheklovlar

Ijro siyosati va runtime-cheklovlar

1) Vazifasi

Runtime-siyosatchilar xizmatlarning xatti-harakatlarini oldindan aytib bo’lmaydigan, xavfsiz va tejamkor qiladi: «shovqinli qo’shnilarni» cheklaydi, sizib chiqish va haddan tashqari qizib ketishning oldini oladi, yukni oshirishda komplayens va SLOni ushlab turishni ta’minlaydi.

Asosiy maqsadlar: izolyatsiya qilish, resurslarni adolatli taqsimlash, nazorat qilinadigan degradatsiya, qayta tiklanish, audit.

2) Qamrov sohasi

Hisoblash va xotira: CPU, RAM, GC pauzalari, oqim limitlari.
Disk/saqlash: IOPS/throughput, kvotalar, fs-siyosatlar (read-only).
Сеть: egress/ingress, bandwidth shaping, network policies.
Jarayonlar/tizimli muammolar: seccomp, capabilities, ulimit.
Orkestr: Kubernetes QoS, requests/limits, ustuvorliklar, taints/affinity.
API/shlyuzlar: rate-limits, kvotalar, taymautlar/retrajlar, circuit-breakers.
Maʼlumotlar/ETL/oqimlar: batch/stream concurrency, consumer lag budgets.
Xavfsizlik: AppArmor/SELinux, rootless, sirlar/kofiglar.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.

3) Bazaviy prinsiplar

Fail-safe andoza: yiqilishdan koʻra ortiqcha soʻrovlarni bekor qilish yaxshiroqdir.
Budget-driven: taymautlar/retrajlar so’rov vaqti byudjetiga va SLO xatolari byudjetiga mos keladi.
Small blast radius: namespace/pulu/uzel/shard bo’yicha izolyatsiya.
Declarative & auditable: barcha cheklovlar - kodda/repozitoriyada + oʻzgarishlar daftarida.
Multi-tenant fairness: Hech bir ijarachi/jamoa butun klasterni «so’ra» olmaydi.

4) Hisoblash va xotira

4. 1 Kubernetes и cgroup v2

requests/limits: requests CPU/xotira ulushini kafolatlaydi; limits throttling/OOM-killer.
QoS sinflar: Guaranteed/Burstable/BestEffort - Biz Guaranteed/Burstable’da tanqidiy vorkloadlarni saqlaymiz.
CPU: `cpu. shares`, `cpu. max’(throttle), pinning CPuset.
Xotira:’memory. max`, `memory. swap. max’(odatda swap off), ustuvorlik uchun oom_score_adj.

4. 2 Patternlar

Headroom 20-30% uzelda, anti-affinity takrorlash uchun.
GC-limitlar: JVM’-Xmx’<k8s memory limit; Go: `GOMEMLIMIT`; Node: `--max-old-space-size`.
ulimit:’nofile’,’nproc’,’fsize’- xizmat turi boʻyicha.

5) Disk va ombor

IOPS/PVC/klaster-storage uchun kvotalar; jurnallar/ma’lumotlarni ajratish.
Vaqtinchalik fayllar uchun Read-only root FS, tmpfs, ’/tmp’oʻlchamini cheklash.
FS-watchdog: jildlarni toʻldirish va inode oʻsish uchun alertlar.

6) Tarmoq va trafik

NetworkPolicy (ingress/egress) — zero-trust east-west.
Bandwidth limits: tc/egress-policies, QoS/DSCP kritik oqimlar uchun.
Egress-kontroller: ruxsat etilgan domen/kichik tarmoqlar roʻyxati, DNS auditi.
mTLS + TLS policies: protokolni shifrlash va majburlash.

7) Jarayon xavfsizligi

Seccomp (allowlist syscalls), AppArmor/SELinux profillari.
Drop Linux capabilities (minimal),’runAsNonRoot’,’readOnlyRootFilesystem’.
Rootless konteynerlar, imzolangan rasmlar va attestations.
Secrets-only via Vault/KMS, tmp-tokens bilan qisqa TTL.

8) Vaqt siyosati: taymautlar, retrajlar, budjetlar

Timeout budget: barcha hop’lar summasi ≤ SLA end-tu-end.
Backoff + jitter bilan retrajlar, xato sinfi boʻyicha maksimal urinishlar.

Circuit-breaker: open @ info: whatsthis

Bulkheads: tanqidiy yo’llar uchun alohida connection-pool’lar/navbatlar.
Backpressure: isteʼmolchilar uchun ishlab chiqaruvchilarni cheklash.

9) Rate-limits, kvotalar va ustuvorlik

Algoritmlar: token/leaky bucket, GCRA; lokal + taqsimlangan (Redis/Envoy/global).
Granulyarlik: API/foydalanuvchi/tashkilot/mintaqa/endpoint kaliti.
Ustuvor gradientlar: «to’lov/avtorizatsiya» oqimlari - gold, tahlillar - bronze.
Sutkadagi/oydagi kvotalar, «burst» va «sustained» limitlari; 429 + Retry-After.

10) Orkestrlash va rejalashtirish

PriorityClass: P1 podlarini siqib chiqarishdan himoya qilish.
PodDisruptionBudget: yangilanishda chegara.
Taints/Tolerations, (anti) Affinity - izolyatsiya workloads.
RuntimeClass: gVisor/Firecracker/Wasm.
Gorizontal/Vertical autoscaling bilan gvard-ostonalar va max-replicas.

11) Ma’lumotlar/ETL/oqim siyosati

Concurrency per job/topic, max batch size, checkpoint interval.
Consumer lag budgets: warning/critical; DLQ va retraj limiti.
Vitrinalar uchun Freshness SLA, prod-trafikning cho’qqilarida og’ir joblarning pauzasi.

12) Policy-as-Code va admission-nazorat

OPA Gatekeeper/Kyverno:’requests/limits’,’readOnlyRootFilesystem’,’hostNetwork’,’: latest’.
Pre-commit tekshiruvi uchun Conftest Helm/K8s/Terraform.
Mutation policies: avto qoʻshish sidecar (mTLS), izohlar, seccompProfile.

Kyverno misoli - konteynerni limitsiz taqiqlash:
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) misoli - taymautlar ≤ 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) Kuzatish va rioya qilish metrikasi

Compliance%: toʻgʻri requests/limits/labels bilan podlar ulushi.
Security Posture: seccomp/AppArmor/rootless.
Rate-limit hit%, shed%, throttle%, 429 share.
p95 taymaut/retraj, circuit-open duration.
OOM kills/evictions, CPU throttle seconds.
Network egress denied events, egress allowlist misses.

14) Chek-varaqlar

Servisni joylashtirishdan oldin

  • Ro’yxatga olingan requests/limits; QoS ≥ Burstable
  • Taymautlar va retrajlar end-to-end SLAga mos keladi
  • Circuit-breaker/bulkhead tashqi qaramliklar uchun kiritilgan
  • NetworkPolicy (ingress/egress) и mTLS
  • Seccomp/AppArmor, drop capabilities, non-root, read-only FS
  • Rate-limits va API-shlyuz/servisdagi kvotalar
  • PDB/priority/affinity berilgan; autoscaling moslangan

Har oyda

  • Policy-istisnolar auditi (TTL)
  • Vaqt/xato byudjetlarini qayta koʻrib chiqish
  • Degradatsiya testi (fire-drill): shed/backpressure/circuit-breaker
  • Sirlarni/sertifikatlarni almashtirish

15) Anti-patternlar

requests/limits: «burst» qoʻshnilarni yeydi → kaskad nosozliklari.
Jittersiz global retrajlar: giyohvandlikda bo’ron.
Cheksiz taymautlar: «osilgan» konnektlar va pullarning tugashi.
’: latest’ va mutable teglar: oldindan aytib bo’lmaydigan runtime-yig’ilishlar.
Ochiq egress: oqish va boshqarilmaydigan qaramliklar.
PDB yo’qligi: yangilanishlar butun pulni «o’chirib tashlaydi».

16) Mini-pleybuklar

A. Payments-service da CPU throttle% ning ko’tarilishi

1. Limits/requestsni tekshirish va issiq yoʻllarni profillash.
2. Vaqtincha requests yuklab, avtoskeylni p95 latency bilan yoqish.
3. Limitlar/kurslarning kesh-follbekini yoqish, soʻrovlarning murakkabligini kamaytirish.
4. Post-fix: denormalizatsiya/indekslar, limits qayta ko’rib chiqish.

B. O’sish 429 va APIga shikoyatlar

1. Kalitlar/tashkilotlar bo’yicha hisobot → kim kvotaga tayandi.
2. hierarchical quotas (per-org → per-key) ni kiriting, gold uchun burst.
3. Kommunikatsiya va guidance bo’yicha backoff; adaptive limitingni yoqish.

V. Ommaviy OOM kills

1. concurrency pasayishi, heap-limit va profil kiritish.
2. Xmx/GOMEMLIMIT ni real peak-usage deb qayta hisoblash.
3. GC/pullarni qayta o’rganish, swap-off va soft-limit alertalarini qo’shish.

17) Konfiguratsiya namunalari

K8s konteyner (parcha):
yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
Envoy rate-limit (konseptual qism):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
Nginx ingress - taymautlar va cheklovlar:
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) O’zgarishlar va hodisalarni boshqarish bilan integratsiya qilish

Siyosatning har qanday zaiflashishi - RFC/CAB orqali va TTL bilan vaqtinchalik istisno.
Siyosat buzilishi bo’yicha hodisalar → post-mortem va qoidalarni yangilash.
Muvofiqlik dashbordlari (compliance) reliz taqvimiga ulangan.

19) Jami

Ijro siyosati - bu platforma uchun «panjara»: ular tez yurishga xalaqit bermaydi, yiqilishga yo’l qo’ymaydi. Deklarativ cheklovlar, avtomatik majburlash, yaxshi metrika va istisnolar intizomi tartibsiz ekspluatatsiyani boshqariladigan va bashorat qilinadigan tizimga aylantiradi - nazorat qilinadigan qiymat va barqaror SLO.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.