Операциялар жана башкаруу → Аткаруу саясаты жана runtime-чектөөлөр
Аткаруу саясаты жана runtime-чектөөлөр
1) Максаты
Runtime-саясатчылар кызматтардын жүрүм-турумун алдын ала айтууга болот, коопсуз жана үнөмдүү кылат: "ызы-чуу кошуналарды" чектейт, агып кетүүнү жана ысып кетүүнү алдын алат, жүктү көбөйткөндө СЛОну комплаенс жана кармап турууну камсыз кылат.
Негизги максаттар: обочолонуу, ресурстарды адилеттүү бөлүштүрүү, көзөмөлгө алынган деградация, кайталануучулук, аудит.
2) камтуу аймагы
Эсептөө жана эс: CPU, RAM, GC-тыныгуу, агымдардын чеги.
Диск/сактоо: IOPS/throughput, квота, fs-саясат (read-only).
Сеть: egress/ingress, bandwidth shaping, network policies.
Процесстер/системалык чакырыктар: seccomp, capabilities, ulimit.
Оркестр: Kubernetes QoS, requests/limits, артыкчылыктар, taints/affinity.
API/шлюздар: rate-limits, квоталар, таймауттар/ретрайлер, circuit-breakers.
Маалыматтар/ETL/агымдар: batch/stream concurrency, consumer lag budgets.
Коопсуздук: AppArmor/SELinux, rootless, сырлар/coffee.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.
3) Негизги принциптер
Fail-safe демейки: жыгылып караганда ашыкча суроо ыргытып жакшы.
Budget-driven: Таймауттар/ретрайлер суроо убактысынын бюджетине жана SLO каталарынын бюджетине туура келет.
Small blast radius: namespace/пул/түйүн/шардана боюнча изоляция.
Declarative & auditable: бардык чектөөлөр - код/репозиторий + өзгөртүү журналы.
Multi-tenant fairness: эч кандай ижарачы/команда бүт кластерди "соруп" мүмкүн эмес.
4) эсептөө жана эс
4. 1 Kubernetes и cgroup v2
requests/limits: requests CPU/эс үлүшүн кепилдик; limits throttling/OOM-killer кирет.
QoS класстар: Guaranteed/Burstable/BestEffort - Guaranteed/Burstable кармап критикалык workloads.
CPU: `cpu. shares`, `cpu. max '(throttle), пиннинг үчүн CPuset.
Эс: 'memory. max`, `memory. swap. max '(адатта swap off), артыкчылык үчүн oom_score_adj.
4. 2 Үлгүлөр
Headroom 20-30% түйүнүндө, анти-affinity кайталоо үчүн.
GC-чеги: JVM '-Xmx' <k8s memory limit; Go: `GOMEMLIMIT`; Node: `--max-old-space-size`.
ulimit: 'nofile', 'nproc', 'fsize' - кызматтын профили боюнча.
5) Диск жана сактоо
IOPS/Throughput квота боюнча PVC/кластер-сактоо; журналдарды/маалыматтарды бөлүү.
Read-only root FS, убактылуу файлдар үчүн tmpfs, '/tmp 'өлчөмүн чектөө.
FS-watchdog: томдорду толтуруу жана inode өсүшү үчүн алерттерди.
6) Тармак жана трафик
NetworkPolicy (ingress/egress) — zero-trust east-west.
Bandwidth limits: tc/egress-policies, критикалык агымдар үчүн QoS/DSCP.
Egress Controller: уруксат берилген домендердин/көмөкчордондордун тизмеси, DNS аудити.
mTLS + TLS policies: шифрлөө жана протоколдун мажбурлоо версиясы.
7) Коопсуздук жараяны
Seccomp (allowlist syscalls), AppArmor/SELinux профилдери.
Drop Linux capabilities (минималдуу калтыруу), 'runAsNonRoot', 'readOnlyRootFilesystem'.
Rootless контейнерлер, кол коюлган сүрөттөр жана күбөлүктөр.
Secrets-only via Vault/KMS, tmp-tokens кыска TTL менен.
8) Убакыт саясаты: таймауттар, ретрациялар, бюджеттер
Timeout budget: бардык hop's суммасы ≤ SLA end-tu-end.
Backoff + Jitter менен Retray, каталар классы боюнча максималдуу аракет.
Circuit-breaker: error %/timeout p95 босогосунан жогору ачык → тез мүчүлүштүктөр.
Bulkheads: жеке connection-pool 's/критикалык жолдор үчүн кезек.
Backpressure: lag керектөөчүлөрдүн өндүрүүчүлөрдүн чектөө.
9) Rate-limits, квота жана артыкчылык
Алгоритмдер: token/leaky bucket, GCRA; жергиликтүү + бөлүштүрүлгөн (Redis/Envoy/global).
Гранулдуулук: API ачкычы/колдонуучу/уюм/аймак/акыркы.
Артыкчылыктуу градиенттер: "төлөм/авторизация" агымдары - gold, аналитика - bronze.
Суткасына/айына квота, "burst" жана "sustained" лимиттери; 429 + Retry-After.
10) Оркестр жана пландоо
PriorityClass: P1-этектерди сүрүп чыгаруудан коргоо.
PodDisruptionBudget: тактоо боюнча downtime чектери.
Taints/Tolerations, (анти) Affinity - изоляция workloads.
RuntimeClass: кумдуктар үчүн gVisor/Firecracker/Wasm.
Horizontal/Vertical autoscaling менен guard босоголору жана max-replicas.
11) Маалымат саясаты/ETL/агым
Concurrency per job/topic, max batch size, checkpoint интервал.
Consumer lag budgets: warning/critical; DLQ жана retrains чеги.
Freshness SLA витриналар үчүн, прод-трафиктин туу чокуларында оор тарткычтарды токтотуу.
12) Саясат-as-Code жана Admission-Control
OPA Gatekeeper/Kyverno: requests/limits жок, 'readOnlyRootFilesystem', 'hostNetwork', ': latest'.
Conftest pre-commit текшерүү үчүн Helm/K8s/Terraform.
Mutation policies: Auto кошумча sidecar (mTLS), аннотациялар, 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) мисалы - 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) Байкоо жана сактоо параметрлери
Compliance%: туура requests/limits/labels менен тамеки үлүшү.
Security Posture: seccomp/AppArmor/rootless менен такталардын үлүшү.
Rate-limit hit%, shed%, throttle%, 429 share.
p95 убакыт/retraut, circuit-open duration.
OOM kills/evictions, CPU throttle seconds.
Network egress denied events, egress allowlist misses.
14) Чек-баракчалар
Кызмат көрсөтүүнүн алдында
- катталган requests/limits; QoS ≥ Burstable
- Таймауттар жана ретрациялар 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 орнотулган
Ай сайын
- Саясат-өзгөчөлүктөрдү текшерүү (TTL)
- Убакыт/ката бюджеттерин кайра карап чыгуу
- Деградация сыноо (fire-drill): shed/backpressure/circuit-breaker
- Сырларды/сертификаттарды айлантуу
15) Анти-үлгүлөрү
requests/limits жок: "бурст" кошуналарын жейт → каскаддык мүчүлүштүктөр.
Глобальные ретры без джиттера: шторм у наркомании.
Чексиз таймауттар: "илинип турган" коннектилер жана пулдун түгөнүшү.
': latest' жана mutable tags: күтүүсүз runtime-чогултуу.
Ачык egress: агып жана көзөмөлсүз көз карандылык.
PDB жок: Updates бүт көлмөгө "уруп".
16) Mini Playbook
A. CPU throttle% payments-service
1. limits/requests текшерүү жана ысык жолдорду кароо.
2. Убактылуу requests жогорулатуу, p95 latency боюнча автоскейлди күйгүзүү.
3. Кэш-фоллбэк лимиттерди/курстарды күйгүзүү, суроо-талаптардын татаалдыгын азайтуу.
4. Post fix: denormalization/индекстер, limits кайра карап чыгуу.
B. Өсүү 429 жана API боюнча даттануулар
1. Ачкычтар/уюмдар боюнча отчет → ким квотага таянды.
2. hierarchical quotas киргизүү (per-org → per-key), алтын үчүн бурст жогорулатуу.
3. backoff боюнча байланыш жана жол; adaptive limiting кирет.
V. Массалык OOM kills
1. кыскартуу concurrency, heap-чеги жана профилин камтыйт.
2. XMX/GOMEMLIMIT реалдуу peak-usage.
3. GC/пулдарды кайра даярдоо, swap-off жана soft-limit алерталарын кошуу.
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 менен убактылуу четтетүү.
Саясаттын бузулушу боюнча окуялар → пост-мортем жана эрежелерди жаңыртуу.
Дашборддор шайкештиги (compliance) релиздик календарга туташтырылган.
19) Жыйынтык
Аткаруу саясаты - бул платформа үчүн "тосмо" болуп саналат: алар тез айдап тоскоолдук кылбайт, алар кулап жол бербейт. Декларативдик чектөөлөр, автоматтык мажбурлоо, жакшы метриктер жана өзгөчөлүктөр тартиби башаламан эксплуатацияны башкарылуучу жана болжолдонгон системага айландырат - контролдонуучу нарк жана туруктуу SLO менен.