Амалиётҳо ва § Сиёсати иҷрои идоракунӣ ва маҳдудиятҳои корӣ
Сиёсати иҷро ва маҳдудиятҳои вақт
1) Мақсад
Сиёсати корӣ рафтори хидматҳоро пешгӯишаванда, бехатар ва сарфакорона мекунад: "ҳамсояҳои пурғавғо" -ро маҳдуд кунед, ихроҷ ва аз ҳад зиёд гармшавиро пешгирӣ кунед, риоя ва нигоҳ доштани SLO-ро ҳангоми зиёд шудани сарборӣ таъмин кунед.
Ҳадафҳои асосӣ: ҷудокунӣ, тақсимоти одилонаи захираҳо, таназзули назоратшаванда, такрористеҳсолкунӣ, аудит.
2) Ҳаҷм
Ҳисоббарорӣ ва хотира: CPU, RAM, таваққуфи GC, маҳдудиятҳои ришта.
Диск/анбор: IOPS/интиқол, квотаҳо, fs-сиёсатҳо (танҳо хондан).
Сеть: egress/ingress, ташаккули фарохмаҷро, сиёсати шабака.
Равандҳо/зангҳои система: seccomp, қобилиятҳо, улимит.
Оркестр: Kubernetes QOS, дархостҳо/маҳдудиятҳо, афзалиятҳо, tains/наздикӣ.
API/дарвозаҳо: маҳдудиятҳои нархҳо, квотаҳо, танаффусҳо/ретрейҳо, схемаҳо.
Маълумот/ETL/ҷараёнҳо: мувофиқати партия/ҷараён, буҷаи ақибмонии истеъмолкунандагон.
Амният: ApParmor/SEL pinux, решавӣ, асрори/kofigi.
Сиёсат-ас-Кодекс: OPA/Gatekeeper, Kyverno, Confestest.
3) Принсипҳои асосӣ
Бо нобаёнӣ бехатар нест: беҳтар аст, ки дархостҳои нолозимро аз тарки тарки тарк кунед.
Аз рӯи буҷа: Вақтсанҷӣ/бозхонд ба буҷаи вақти дархост ва буҷаи хатогии SLO мувофиқат мекунад.
Радиуси таркиши хурд: фазои ном/ҳавз/ҷудокунии мизбон/shard.
Декларативӣ ва аудиторӣ: ҳама маҳдудиятҳо - дар код/анбор + сабти тағирот.
Адолати бисёр иҷорагир: ҳеҷ як иҷорагир/даста наметавонад тамоми кластерро "ғарқ кунад".
4) Ҳисоббарорӣ ва хотира
4. 1 Кубернетес и гурба v2
дархостҳо/маҳдудиятҳо: дархостҳо ҳиссаи CPU/хотираро кафолат медиҳанд; маҳдудиятҳо drottling/OOM-қотилро дар бар мегиранд.
Синфҳои QOS: Кафолат/Burstable/Беҳтарин саъй - ҷараёни кориро дар кафолатнок/Burstable нигоҳ доред.
CPU: 'cpu. саҳмияҳо ',' cpu. макс '(дроссель), CP buset барои печондан.
Хотира: 'хотира. макс ',' хотира. иваз кунед. максимум '(одатан мубодила) барои афзалият.
4. 2 Намунаҳо
Сарпӯш 20-30% дар гиреҳ, зиддият барои такрорӣ.
Маҳдудиятҳои GC: Маҳдудияти хотираи JVM '-Xmx' <k8s; Бирав: 'GOMEMLIMIT'; Гиреҳ: '--макс-кӯҳна-фазо-андоза'.
ulimit: 'nofile', 'nproc', 'fsize' - аз рӯи профили хидматӣ.
5) Диск ва нигоҳдорӣ
Квотаҳои IOPS/интиқол дар PVC/нигоҳдории кластер; Ҷудосозии журнал/маълумот.
Танҳо решаи FS, tmpfs барои файлҳои муваққатӣ, маҳдудияти андоза '/tmp '.
FS-watchdog: огоҳиҳо дар бораи пур кардани ҳаҷм ва афзоиши инод.
6) Шабака ва трафик
Шабака (ingress/egress) - ба сифр эътимод ба шарқу ғарб.
Маҳдудиятҳои фарохмаҷро: tc/egress-polics, QOS/DSCP барои ҷараёнҳои интиқодӣ.
Назоратчии Egress: рӯйхати доменҳо/зершабақаҳои иҷозатдодашуда, аудити DNS.
сиёсати MTLS + TLS - рамзгузорӣ ва версияи маҷбурии протокол.
7) Бехатарии раванд
Seccomp (syscalls allowlist), профилҳои App
Имкониятҳои Linux-ро партоед (ҳадди аққалро тарк кунед), 'run
Зарфҳои решавӣ, тасвирҳо ва аттестатсияҳои имзошуда.
Сирри танҳо тавассути Vault/KMS, tmp-токенҳо бо TTL кӯтоҳ.
8) Сиёсати вақт: танаффус, ақибнишинӣ, буҷет
Буҷаи мӯҳлати ниҳоӣ: маблағи ҳамаи hops ≤ SLA ба охир мерасад.
Retrai бо backoff + jitter, кӯшиши ҳадди аксар дар синфи хатогӣ.
Қатъи гардиш: кушода бо хатогии %/вақти танаффус p95 боло аз ҳадди → нобарориҳои тез.
Bulkheads: алоҳида пайвастшавӣ-ҳавзҳо/навбатҳо барои роҳҳои муҳим.
Backpressure: маҳдуд кардани истеҳсолкунандагон аз истеъмолкунандагон.
9) Меъёрҳо, квотаҳо ва афзалиятҳо
Алгоритмҳо: сатил токен/ихроҷ, GCRA; маҳаллӣ + тақсимшуда (Редис/Фиристанда/глобалӣ).
Гранулярӣ: калиди API/корбар/созмон/минтақа/нуқтаи ниҳоӣ.
Градиентҳои афзалиятнок: ҷараёни "пардохт/иҷозат" - тилло, таҳлил - биринҷӣ.
Квотаҳо дар як рӯз/моҳ, маҳдудиятҳои "бурида" ва "устувор"; 429 + Retry-After.
10) Оркестр ва банақшагир
Синфи афзалиятнок: муҳофизати қуттиҳои P1 аз ҷойивазкунӣ.
Poddisruptionsiya. budget: маҳдудияти вақт барои навсозиҳо.
Доғҳо/таҳаммулпазирӣ, (зидди) наздикӣ - сарбории изолятсия.
Синфи даврӣ: GVisor/Firecracker/Wasm барои қуттиҳо.
Автоскализатсияи уфуқӣ/амудӣ бо ҳудудҳои муҳофизатӣ ва нусхаҳои максималӣ.
11) Сиёсати маълумот/ETL/ҷараён
Мувофиқати як кор/мавзӯъ, андозаи ҳадди аксар, фосилаи гузаргоҳ.
Буҷаҳои ақибмонии истеъмолкунандагон: огоҳӣ/интиқодӣ; DLQ ва маҳдудияти бозгашт.
SLA тару тоза барои мағозаҳо, таваққуфи ҷойҳои вазнин дар авҷи трафики prod.
12) Сиёсат-ас-Кодекс ва назорати қабул
OPA Gatekeeper/Kyverno: қуттиҳои бидуни дархост/маҳдудият вуҷуд надоранд, 'на' Танҳо Root 'Filesystem', бо 'host' Network ',': охирин '.
Барои чекҳои пешакии содиршуда шубҳа кунед.
Сиёсати мутатсия: ба таври худкор илова кардани sidecar (m
Мисоли 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) Нишондиҳандаҳои мушоҳида ва мувофиқат
Мутобиқати%: фоизи podes бо дархостҳо/маҳдудиятҳо/тамғакоғазҳо.
Ҳолати амниятӣ: ҳиссаи подкастҳо бо seccomp/App .Armor/rootless.
Меъёри маҳдудият%, рехт%, дроссель%, 429 саҳм.
p95 танаффус/бозсозӣ, давомнокии кушода.
OOM сонияҳои дросселии CPU-ро мекушад/хориҷ мекунад.
Egress шабака ҳодисаҳоро рад кард, аз даст додани рӯйхати аллюстҳо.
14) Рӯйхати санҷишҳо
Пеш аз гузоштани хидмат
- Дархостҳо/маҳдудиятҳо навишта шудаанд; QOS ≥ Бурстабел
- Вақтсанҷӣ ва бозсозӣ ба SLA-ҳои ниҳоӣ мувофиқанд
- Circuit-breaker/bulkhead барои вобастагии беруна фаъол аст
- Сиёсати шабакавӣ (ingress/egress) i MTLS
- Seccomp/App-Armor, қобилиятҳои тарки, решавӣ, танҳо хондан
- Меъёрҳо ва квотаҳо дар дарвоза/хидматрасонии API
- PDB/афзалият/наздикӣ нишон дода шудааст; autoscaling танзим карда шудааст
Моҳона
- Истисноҳои сиёсати аудит (TTL)
- Баррасии вақт/буҷаҳои хатогӣ
- Озмоиши оташсӯзӣ: сарой/backpressure/circuit-breaker
- Гардиши асрори/шаҳодатномаҳо
15) Анти-намунаҳо
Бидуни дархостҳо/маҳдудиятҳо: "таркиш" ҳамсояҳоро § садамаҳои садамавӣ мехӯрад.
Рафъи глобалӣ бидуни ҷиттер: тӯфон дар нашъамандӣ.
Вақтҳои беохир: пайвастҳои "овезон" ва фарсудашавии ҳавзҳо.
': охирин' ва барчаспҳои мутаваққиф: сохтани вақти пешгӯинашаванда.
Egress кушода: ихроҷ ва вобастагии идорашаванда.
Не PDB: Навсозиҳо тамоми ҳавзро мекушанд.
16) Китобҳои мини бозӣ
A. drottle% дар хидмати пардохтҳо
1. Маҳдудиятҳо/дархостҳо ва роҳҳои гармро санҷед.
2. Муваққатан дархостҳо зиёд кунед, autoscale-ро бо таъхири p95 фурӯзон кунед.
3. Маҳдудиятҳо/меъёри баргардонидани пули нақдро фаъол созед, мураккабии дархостҳоро коҳиш диҳед.
4. Пас аз ислоҳ: denormalization/индексатсияҳо, аз нав дида баромадани маҳдудиятҳо.
B. 429 афзоиш ва шикоятҳои API
1. Ҳисобот дар бораи калидҳо/созмонҳо → ба квота ворид карда шуд.
2. Квотаҳои иерархиро ворид кунед (per- org → per -key), ки барои тилло бурида шавад.
3. Иртибот ва роҳнамоӣ дар бозгашт; маҳдудияти мутобиқшавиро фаъол созед.
B. Mass OOM мекушад
1. Мувофиқатро коҳиш диҳед, маҳдудият ва профилро фароҳам оваред.
2. Xmx/GOMEMLIMIT-ро барои истифодаи воқеии қулла ҳисоб кунед.
3. Бозомӯзии GC/ҳавзҳо, илова кардани огоҳиҳои своп-офф ва мулоим.
17) Намунаҳои конфигуратсия
K8s контейнер бо танзимоти бехатар (порча):yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
Меъёри меъёри фиристанда (консептуалӣ):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
Воридоти Nginx - вақтҳо ва маҳдудиятҳо:
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 мебошад.
Ҳодисаҳои вайронкунии сиёсат → навсозиҳои пас аз марг ва қоидаҳо.
Панелҳои мутобиқат ба тақвими озодкунӣ пайваст карда шудаанд.
19) Сатри поён
Сиёсати иҷро як "релинг" барои платформа аст: онҳо ба рондани зуд халал намерасонанд, ба афтидан роҳ намедиҳанд. Маҳдудиятҳои декларативӣ, татбиқи автоматӣ, ченакҳои хуб ва интизоми истисноӣ истисмори хаотикиро ба системаи идорашаванда ва пешбинишаванда - бо арзиши назоратшаванда ва SLO-ҳои устувор табдил медиҳанд.