GH GambleHub

Վիրահատություններ և Ռուսաստանի քաղաքականության կառավարում և runtime սահմանափակումներ

Կատարման քաղաքականությունը և runtime սահմանափակումները

1) Նշանակումներ

Runtime-քաղաքական գործիչները կատարում են ծառայությունների վարքագիծը կանխատեսելի, անվտանգ և տնտեսապես, սահմանափակում են «աղմկոտ հարևանները», կանխում արտահոսքը և գերտաքացումը, ապահովում են կոմպլեքս և SLO պահպանումը բեռի աճի ժամանակ։

Հիմնական նպատակները 'մեկուսացումը, ռեսուրսների արդար բաշխումը, վերահսկվող քայքայումը, վերարտադրումը, աուդիտը։

2) Տարածք

Հաշվարկները և հիշողությունը 'CPU, RAM, GC դադար, հոսքերի լիմիտներ։

Սկավառակ/07: IOPS/throughput, քվոտաներ, fs քաղաքականություն (read-only)։

Сеть: egress/ingress, bandwidth shaping, network policies.

Գործընթացները/ռուսական մարտահրավերները 'seccome, capabilities, ulimit։

Նվագախումբը ՝ Kubernetes QoS, reques.ru/limits, գերակայություններ, taints/affinity։

API/կողպեքներ ՝ rate-limits, քվոտաներ, թայմաուտներ/retray, circuit-breakers։

Տվյալները/ETL/strims: batch/stream concurrency, consumer lag budgets։

Անվտանգություն 'ApPARmor/SELINUX, rootless, գաղտնիքները/կոֆիգները։

Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.

3) Հիմնական սկզբունքները

Fail-safe-ը լռելյայն է 'ավելի լավ է հեռացնել ավելորդ հարցումները, քան ընկնել։

Budget-driven: Timauts/regray տեղավորվում են հարցման ժամանակի բյուջեում և SLO սխալների բյուջեին։

Small blase radius: մեկուսացում namespace/pulu/usla/shardu։

Declarative & auditable: Բոլոր սահմանափակումները կոդում/հետազոտություններում + փոփոխության ամսագիր են։

Multi-tenault fairness: Ոչ վարձող/թիմը չի կարող «բարձրացնել» ամբողջ կլաստերը։

4) Հաշվարկներ և հիշողություն

4. 1 Kubernetes и cgroup v2

reques.ru/limits: reques.ru երաշխավորում են CPU/հիշողության մասնաբաժինը։ limits-ը ներառում է throttling/OFC-killer։

QoS դասարանները ՝ Guaranteed/Burstable/BestEfport-ը կրիտիկական գողություններ ենք պահում Guaranted/Burstable-ում։

CPU: `cpu. shares`, `cpu. max '(throttle), CPuset-ը պինինգի համար։

Հիշողությունը '"memory. max`, `memory. swap. max '(սովորաբար swap off), ope _ score _ adore առաջնահերթության համար։

4. 2 Patterns

Headrope 20-30 տոկոսը ռուսական, anti-affinity համար։

GC-limits: JVM 'Xmx' <k8s memory limit; Go: `GOMEMLIMIT`; Node: `--max-old-space-size`.

ulimit: «nofile», «nproc», «fsize» - համաձայն։

5) Սկավառակ և շարժիչ

IOPS/Throughput քվոտաներ PVC/կլաստեր-storage; ամսագրերի/տվյալների բաժանումը։

Read-only root FS-ը, tmp.ru-ը ֆայլերի կոդավորման համար, չափի սահմանափակումը '/tom '։

FS-watchdog: ալտերտեր լոլիկ լրացնելու և inode աճի համար։

6) Ցանցը և հյուրանոցները

NetworkPolicy (ingress/egress) — zero-trust east-west.

Bandwidth limits: tc/egress-policies, QoS/DSCP կրիտիկական հոսքերի համար։

Egress-վերահսկիչը 'թույլատրված օրինագծերի/հաշվարկների ցանկը, audit III-ը։

MTSA + TMS policies: կոդավորումը և սարքի հարկադիր տարբերակը։

7) Գործընթացի անվտանգությունը

Seccoase (allowlist scalls), AppArmor/SELinux պրոֆիլներ։

Drop Linux capabilities (թողնել), «runAsNonRoot», «readOnlyRootem System»։

Rootless բեռնարկղերը, ստորագրված պատկերները և attestrone-ը։

Secrets-only via Vox/KMS, tox-tokens կարճ TTL-ով։

8) Ժամանակի քաղաքական գործիչները ՝ թայմաուտներ, ռետրաններ, բյուջեներ։

Timeout budget: Բոլոր hop 's-ի գումարը SLA end-to-ն է։

Retrai backoff + ջիթերի հետ, սխալների դասարանի ամենամեծ փորձերը։

Circuit-breaker: Open error %/timeout p95 ավելի բարձր է, քան շեմն արագ ձախողումները։

Bulkheads: առանձին connational-pool 'a/հերթեր կրիտիկական ճանապարհների համար։

Backpressure 'lag սպառողների արտադրողների սահմանափակումը։

9) Rate-limits, քվոտաներ և գերակայություն

Ալգորիթմներ ՝ token/leaky bucket, GCRA; Տեղական + բաշխված (Redis/Envoy/global)։

Գրանուլյացիա 'API/օգտագործողի/կազմակերպության/տարածաշրջանի/էնդպոյնտի բանալին։

Առաջնահերթություն '«էքսպոզիցիոն/հեղինակային» հոսքերը' gold, վերլուծությունը 'bultze։

Քվոտաները օրական/ամիս, «burst» և «sustained» լիմիտներ։ 429 + Retry-After.

10) Նվագախումբ և պլանավորող

Priorts Class: P1-pods պաշտպանություն դուրս հանելուց։

PodPortrupics Budget: Dountaima սահմանները նորարարությունների ժամանակ։

Tainault/Toler.ru, (anti) Affinity - workloads մեկուսացում։

RuntimeClass: gVisor/Firecracker/Wasm երգերի համար։

Horizontal/Vertical autoscaling-ը գվարդիայի շեմերով և max-replicas-ով։

11) Տվյալների քաղաքականությունը/ETL/strimes

Concurrency per job/topic, max batch size, www.kpoint։

Consumer lag budgets: warning/critical; DLQ-ը և գետերի սահմանը։

Freshness SLA-ը վիտրինի համար, ծանր ջոբների դադարը պրոդ-2019 պիկի ժամանակ։

12) Policy-as-Code-ը և admission-վերահսկողությունը։

OPA Gatekeeper/Kyverno 'աղբի արգելք առանց reques.ru/limits, առանց «readOnlyRootExystem», «hostNetwork», «: latest»։

Pre-commit ստուգումների համար Helm/K8s/Terraform։

Mutation policies: sidecar (mTSA), սենսացիաներ, secompProfile։

Kyverno-ի օրինակը առանց սահմանների բեռնարկղի արգելքն է

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) օրինակը թայմաուտները 800 մզ է

rego package policy. timeout

deny[msg] {
input. kind == "ServiceConfig"
input. timeout_ms> 800 msg: = sprintf ("timeout% dms exceeds budget 800ms," [input. timeout_ms])
}

13) Դիտողությունն ու չափումները

Compli.7 տոկոսը 'ենթատեսակների մասը ճիշտ reques.ru/limits/labels։

WindoPosture: Ենթատեսակների մի մասը seccope/Appmor/rootless-ից։

Rate-limit hit%, shed%, throttle%, 429 share.

p95 timauts/retrav, circuit open duration։

OOM kills/evictions, CPU throttle seconds.
Network egress denied events, egress allowlist misses.

14) Չեկ թերթերը

Ներծծումից առաջ

Գրված է reques.ru/limits; QoS ≥ Burstable

  • Timauts և retray տեղավորվում են end-to-end SLA-ում
  • Circuit-breaker/bulkhead ներառված են արտաքին կախվածության համար
  • NetworkPolicy (ingress/egress) и mTLS
  • Seccomp/AppArmor, drop capabilities, non-root, read-only FS
  • Rate-limits և քվոտաներ API դարպասի/ծառայության վրա
  • PDB/priority/affinity նշված է. autoscaling-ը տրամադրված է

Ամսական

Policy-բացառությունների աուդիտ (TTL)

  • Ժամանակի/սխալների ցանկը
  • Քայքայման թեստը (fire-medill) 'shed/backpressure/circuit-breaker
  • Գաղտնիքների/հավաստագրերի վերացումը

15) Anti-patterna

Առանց reques.ru/limits: «բուրստ» ուտում է հարևաններին ռուսական կասկադային ձախողումներ։

Համաշխարհային ռետրերը առանց ջիթերի 'փոթորիկ կախվածությունների մեջ։

Անսահման թայմաուտներ '«կախված» կոնեկտներ և փամփուշտների սպառում։

'latest' և mutable tegi: անկանխատեսելի runtime հավաքածուներ։

Բաց egress 'արտահոսք և անվերահսկելի կախվածություն։

PDB-ի բացակայությունը 'նորարարությունները «նետում են» ամբողջ փամփուշտը։

16) Մինի պլեյբուկները

A. Prottle-ի payments-2019

1. Ստուգել limits/reques.ru և ավելացնել տաք ճանապարհները։

2. Ժամանակավորապես բարձրացրեք reques.ru, միացրեք ավտո սկեյլը p95 latency-ով։

3. Միացրեք kash folbek limits/դասընթացների, նվազեցրեք հարցումների բարդությունը։

4. Փոստի ֆիքսը 'դենորմալացում/ինդեքսներ, www.limits։

Բ Աճը 429 և բողոքները API

1. Բաների/կազմակերպությունների զեկույցը հաստատեց, թե ով է ընկել քվոտայի մեջ։

2. Ներդնել hierarchical prodtas (per-org noper-key), բարձրացնել burst gold-ի համար։

3. Հաղորդակցությունը և guidation backoff; միացրեք aptive limiting։

Վ. Զանգվածային OFC kills

1. Concurrency-ի նվազումը, միացրեք heap-լիմիտը և ավելացումը։

2. Հաշվել Xmx/GOMEMLIMIT-ը իրական peak-usage-ի տակ։

3. Վերապատրաստել GC/puls, ավելացնել swap-off և soft-limit alerts։

17) Միգրացիայի օրինակներ

K8s բեռնարկղը անվտանգ պարամետրերով (հատված)

yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]

Envoy rate-limit (մի հատված հայեցակարգային)

yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"

Nginx ingress - թայմաուտներ և սահմանափակումներ

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) Փոփոխությունների և միջադեպերի կառավարման հետ ինտեգրումը

Քաղաքականության ցանկացած թուլացում RFC/CAB-ի միջոցով և TTL-ի ժամանակավոր բացառումը։

Խախտումների դեպքերը քաղաքական գործիչը հաստատեց post-Mortem-ը և կանոնների նորարարությունը։

Dashbords-ը (compliance) կապված է կառավարական օրացույցի հետ։

19) Արդյունքը

Կատարման քաղաքականությունը պլատֆորմի համար «փետուր» է, նրանք չեն խանգարում արագ գնալ, նրանք չեն տալիս ընկնել։ Միգրացիոն սահմանափակումները, ավտոմատ հարկադրումը, լավ չափումները և բացառությունների կարգապահությունը վերածում են քաոտիկ լուծումը կառավարման և կանխատեսելի համակարգի 'վերահսկվող արժեքի և կայուն SLO-ի հետ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։