GH GambleHub

Operațiuni și politici de execuție de gestionare a → și restricții de execuție

Politici de execuție și restricții de execuție

1) Scop

Politicile de rulare fac ca comportamentul serviciilor să fie previzibil, sigur și economic: limitează „vecinii zgomotoși”, previn scurgerile și supraîncălzirea, asigură conformitatea și păstrarea SLO-urilor atunci când sarcina crește.

Obiective cheie: izolarea, alocarea echitabilă a resurselor, degradarea controlată, reproductibilitatea, auditul.

2) Domeniul de aplicare

Calcul și memorie: CPU, RAM, GC pauze, limite de fir.
Disc/stocare: IOPS/throughput, cote, fs-policies (read-only).
Сеть: ieșire/intrare, modelarea lățimii de bandă, politici de rețea.
Procese/apeluri de sistem: seccomp, capabilități, ulimit.
Orchestrație: Kubernetes QoS, cereri/limite, priorități, tains/afinitate.
API/gateway-uri: limite de rată, cote, timeout-uri/retribuții, întrerupătoare de circuit.
Date/ETL/fluxuri: concurență lot/flux, bugete de întârziere a consumatorilor.
Securitate: AppArmor/SELinux, fără rădăcini, secrete/kofigi.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.

3) Principii de bază

Fail-safe în mod implicit: este mai bine să renunțe la cererile inutile decât picătură.
Bazat pe buget: Timeouts/Retroys se încadrează în bugetul de timp de cerere și bugetul de eroare SLO.
Raza mică de explozie: izolarea namespace/pool/gazdă/cioburi.
Declarativ și auditabil: toate restricțiile - în jurnalul de cod/depozit + schimbare.
Corectitudine multi-chiriaș: nici un chiriaș/echipă nu poate „suge” întregul cluster.

4) Calcul și memorie

4. 1 Kubernete и cgrup v2

cereri/limite: cererile garantează cota de procesor/memorie; limitele includ throttling/OOM-killer.
Clase QoS: Garantat/Burstable/BestEfort - păstrați fluxurile de lucru critice în garantat/burstabil.
CPU: 'cpu. shares ',' cpu. max '(acceleraţie), CPuset pentru fixare.
Memorie: "memorie. max ',' memorie. swap. max '(de obicei swap off) oom_score_adj pentru prioritate.

4. 2 Modele

Sala de picioare 20-30% pe nod, anti-afinitate pentru duplicare.
Limite GC: JVM '-Xmx' <k8s limita de memorie; Go: „GOMEMLIMIT”; Nod: „--max-old-space-size”.
ulimit: 'nofile', 'nproc', 'fsize' - după profilul serviciului.

5) Disc și stocare

Cote IOPS/Throughput pe PVC/cluster-storage; Separare jurnal/date.
Read-only root FS, tmpfs pentru fișiere temporare, limita de dimensiune „/tmp ”.
FS-watchdog: alerte pentru umplerea volumului și creșterea inodului.

6) Rețea și trafic

NetworkPolicy (intrare/ieșire) - zero-încredere est-vest.
Limite de lățime de bandă: tc/politicile de ieșire, QoS/DSCP pentru fluxurile critice.
Controler de ieșire: listă de domenii/subrețele permise, audit DNS.
Politicile mTLS + TLS - versiune de criptare și protocol forțat.

7) Siguranța procesului

Seccomp (syscallist), profile AppArmor/SELinux.
Drop capabilități Linux (lăsați minim), 'runAsNonRoot', 'readOnlyRootFilesystem'.
Containere fără rădăcini, imagini semnate și atestate.
Secretele - numai prin Vault/KMS, tmp-token-uri cu TTL scurt.

8) Politici de timp: termene, retrageri, bugete

Bugetul de timeout: suma tuturor hameiului ≤ SLA end-to-end.
Retrai cu backoff + jitter, încercări maxime în clasa de eroare.
Întrerupător de circuit: deschis cu eroare %/timeout p95 peste prag → defecțiuni rapide.
Pereți etanși: piscine de conectare separate/cozi pentru căi critice.
Backpressure: limitarea producătorilor la consumatorii cu întârziere.

9) Limite de rată, cote și prioritate

Algoritmi: cupă token/scurgere, GCRA; local + distribuit (Redis/Envoy/global).
Granularitate: cheie API/user/organization/region/endpoint.
Degradeuri prioritare: fluxuri de „plată/autorizare” - aur, analiză - bronz.
Cote pe zi/lună, limite „explozive” și „susținute”; 429 + Retry-After.

10) Orchestrație și planificator

Clasa prioritară: protecția păstăilor P1 împotriva deplasării.
PodDisruptionBudget: limite de downtime pe actualizări.
Tains/Tolerations, (anti) Affinity - sarcini de izolare.
RuntimeClass: gVisor/Firecracker/Wasm pentru cutii de nisip.
Autoscalare orizontală/verticală cu praguri de protecție și replici max.

11) Date/ETL/Stream Politici

Concurrency per job/topic, max lot size, checkpoint interval.
Bugetele de întârziere ale consumatorilor: avertizare/critică; DLQ și limita de retractare.
SLA de prospețime pentru vitrine, o pauză de locuri de muncă grele la vârfuri de trafic prod.

12) Policy-as-Code și admission-control

OPA Gatekeeper/Kyverno: fără păstăi fără cereri/limite, fără 'readOnlyRootFilesystem', cu 'hostNetwork', ': latest'.
Conftest pentru pre-comite controale Helm/K8s/Terraform.
Politici de mutație: auto-adăugarea de atașament (mTLS), adnotări, seccompProfile.

Exemplu Kyverno - interzicerea containerului fără limite:
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: "?"
Exemplu de OPA (Rego) - termene ≤ 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) Măsurători de observabilitate și conformitate

Conformitate%: procentul de poduri cu solicitări/limite/etichete corecte.
Poziție de securitate: cota de păstăi cu seccomp/AppArmor/rootless.
Rata-limită lovit%, vărsat%, accelerație%, 429 cota.
p95 timeouts/retraces, durata deschisă a circuitului.
OOM ucide/evacuări, CPU accelerație secunde.
Rețeaua de ieșire a refuzat evenimente, ieșire lista de permisiuni ratează.

14) Liste de verificare

Înainte de stabilire a serviciului

  • Cererile/limitele sunt scrise; QoS ≥ Burstable
  • Timeout și retroys se potrivesc în SLA-uri end-to-end
  • Întrerupător/perete etanș activat pentru dependențe externe
  • NetworkPolicy (intrare/ieșire) и mTLS
  • Seccomp/AppArmor, drop capabilities, non-root, read-only FS
  • Rate-limite și cote pe API gateway/service
  • PDB/prioritate/afinitate specificată; autoscaling este configurat

Lunar

  • Excepții privind politica de audit (TTL)
  • Revizuirea bugetelor de timp/eroare
  • Test de foraj de incendiu: vărsat/backpressure/circuit-breaker
  • Rotirea secretelor/certificatelor

15) Anti-modele

Fără cereri/limite: „izbucni” mănâncă vecinii → accidente în cascadă.
Retrageri globale fără jitter: o furtună în dependențe.
Timeout infinit: conexiuni „agățat” și epuizarea piscine.
„: cele mai recente” și etichete mutabile: construiește timpul de rulare imprevizibil.
Ieșire deschisă: scurgeri și dependențe fără administrare.
Nu PDB: Actualizările elimină întregul bazin.

16) Mini cărți de redare

A. Accelerația procesorului% la serviciul de plăți

1. Verificați limitele/cererile și traseele fierbinți ale profilului.
2. Ridicați temporar cererile, activați autoscala cu latența p95.
3. Activați limitele/ratele de rambursare, reduceți complexitatea interogărilor.
4. Post-fix: denormalizare/indici, revizuirea limitelor.

B. 429 plângeri de creștere și API

1. Raport privind cheile/organizațiile → au intrat în cotă.
2. Introduceți cote ierarhice (per- org→per -key), ridica izbucni pentru aur.
3. Comunicare și orientări privind backoff-ul; permite limitarea adaptivă.

B. Mass OOM ucide

1. Reduceți concurența, activați limita heap și profilarea.
2. Recalculați Xmx/GOMEMLIMIT pentru o utilizare de vârf reală.
3. Retrain GC/piscine, adăugați alerte swap-off și soft-limit.

17) Exemple de configurare

container K8s cu setări sigure (fragment):
yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
Limita ratei trimisului (fragment conceptual):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
Nginx ingress - intervale de timp și restricții:
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) Integrarea cu schimbarea și gestionarea incidentelor

Orice relaxare politică este prin RFC/CAB și excepție temporară cu TTL.
Incidente de încălcare a politicilor → post-mortem și actualizări de reguli.
Tablourile de bord de conformitate sunt conectate la calendarul de lansare.

19) Linia de jos

Politicile de execuție sunt o „balustradă” pentru platformă: nu interferează cu conducerea rapidă, nu permit căderea. Constrângerile declarative, aplicarea automată, măsurătorile bune și disciplina de excepție transformă exploatarea haotică într-un sistem ușor de gestionat și previzibil - cu costuri controlate și SLO durabile.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.