GH GambleHub

Operações e Gerenciamento de → Políticas de execução e restrições runtime

Políticas de execução e restrições runtime

1) Destino

Políticas Runtime tornam o comportamento dos serviços previsível, seguro e econômico, limitando «vizinhos ruidosos», prevenindo vazamentos e superaquecimento, fornecendo complicações e retenção de SLO quando a carga aumenta.

Objetivos essenciais: isolamento, distribuição justa de recursos, degradação controlada, reprodução, auditoria.

2) Área de alcance

Computação e memória: CPU, RAM, pausas GC, limites de fluxo.
Disco/armazenamento: IOPS/throughput, quotas, políticas fs (read-only).
Сеть: egress/ingress, bandwidth shaping, network policies.
Processos/chamadas de sistema: seccomp, capabilities, ulimit.
Orquestra: Kubernetes QoS, requests/limits, prioridades, taants/affinity.
API/gateway: rate-limits, quotas, temporizações/retrações, circuito-breakers.
Dados/ETL/striptease: batch/stream concurrency, consumer lag budgets.
Segurança: AppArmor/SELinux, rootless, segredos/cafigs.
Policy-as-Code: OPA/Gatekeeper, Kyverno, Conftest.

3) Princípios básicos

Fail-safe padrão: É melhor descartar pedidos extras do que cair.
Budet-driven: Os temporizadores/retrações se encaixam no orçamento de tempo de consulta e no orçamento de erros SLO.
Small blast radius: isolamento por namespace/pool/nó/chard.
Declarative & Auditable: todas as limitações estão no código/repositório + registro de alterações.
Multi-tenant fairness: Nenhum locator/comando pode «sugar» o cluster inteiro.

4) Computação e memória

4. 1 Kubernetes и cgroup v2

requests/limits: requests garantem uma proporção de CPU/memória; limits incluem throttling/OU-billy.
Classes QoS: Guaranteed/Burstable/ BestEffort - Vozes críticas mantidas em Guaranteed/Burstable.
CPU: `cpu. shares`, `cpu. max '(throttle), CPuset para pinning.
Memória: 'memory. max`, `memory. swap. max '(normalmente swap off), oom _ score _ adj para prioridade.

4. 2 Patternes

Headroom 20-30% no nó, anti-affinity para duplicação.
Limites GC: JVM '-Xmx' <k8s memory limit; Go: `GOMEMLIMIT`; Node: `--max-old-space-size`.
ulimit: 'nofile', 'nproc', 'fsize' - pelo perfil do serviço.

5) Disco e armazenamento

O IOPS/Throughput tem quotas de armazenamento PVC/cluster; Separação de registros/dados.
Read-only root FS, tmpfs para arquivos temporários, limite de tamanho '/tmp '.
FS-watchdog: alertas para preenchimento de volumes e crescimento inode.

6) Rede e tráfego

NetworkPolicy (ingress/egress) — zero-trust east-west.
Bandwidth limits: tc/egress-policies, QoS/DSCP para fluxos críticos.
Controlador Egress: Lista de domínios/subsetores permitidos, auditoria DNS.
mTLS + TLS policies: criptografia e versão compulsória do protocolo.

7) Segurança do processo

Seccomp (allowlist syscalls), AppArmor/SELinux os perfis.
Drop Linux capabilities (deixar o mínimo), 'runAsNonRoot', 'readOnlyRootFilesystem'.
Contêineres Rootless, imagens assinadas e atestações.
Secret-only via Vault/KMS, tmp-tocens com TTL curto.

8) Políticas de tempo: timeouts, retais, orçamentos

Timeout budet: soma de todos os hop's ≤ SLA-to-end.
Retrai com backoff + jitter, máximo de tentativas por classe de erro.
Circuito-breaker: aberto a um erro %/timeout p95 acima do limite → falhas rápidas.
Bolkheads: conexion-pool 's/filas individuais para caminhos críticos.
Backpressure: restrição de produtores por lag consumidores.

9) Rate-limits, quotas e prioridade

Algoritmos: tocen/leaky bucket, GCRA; locais + distribuídos (Redis/Envoy/global).
Granularidade: chave API/usuário/organização/região/endpoint.
Gradiente de prioridade: fluxo de pagamento/autorreferência - gold, analista - bronze.
Quotas por dia/mês, «burst» e «sustained» limites; 429 + Retry-After.

10) Orquestra e planeador

Proteja os P1 contra a expulsão.
PodDisruptionBudget: limites de downthame nas atualizações.
Taints/Tolerações, (anti) Affinity - isolamento workloads.
RuntimeClass, um gVisor/Firecracker/Wasm de areia.
Horizontal/Vertical autoscaling com liminares de guard e max-replicas.

11) Políticas de dados/ETL/striptease

Concurrency per job/topic, max batch size, checkpoint intervalo.
Consumer lag budgets: warning/critical; DLQ e limite de retais.
Freshness SLA para vitrines, paragem de jobs pesados em picos de tráfego de prod.

12) Policy-as-Code e controle admissional

OPA Gatekeeper/Kyverno: proibição de poda sem requests/limits, sem 'readOnlyRootFilesystem', com 'hostNetwork', 'latest'.
Conftest para inspeções pré-commit Helm/K8s/Terraform.
Mutation policies: sensor automático de sidecar (mTLS), anotações, seccompProfile.

Exemplo de Kyverno - Proibir contêiner sem limites:
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: "?"
Exemplo de OPA (Rego) - temporizações ≤ 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) Observabilidade e métricas de conformidade

Compliance%: proporção de ferramentas com requests corretos/limits/labels.
Segurança Posture: proporção de seccomp/AppArmor/rootless.
Rate-limit hit%, shed%, throttle%, 429 share.
p95 temporizadores/retrações, circuito-open duration.
OOM kills/evictions, CPU throttle seconds.
Network egress denied events, egress allowlist misses.

14) Folhas de cheque

Antes de postar o serviço

  • Requerimentos/limits; QoS ≥ Burstable
  • Os temporizadores e os retais se encaixam em end-to-end SLA
  • Circuito-breaker/bulkhead incluídos para dependências externas
  • NetworkPolicy (ingress/egress) и mTLS
  • Seccomp/AppArmor, drop capabilities, non-root, read-only FS
  • Rate-limits e quotas de entrada/serviço API
  • PDB/priority/affinity definidos; autoscaling configurado

Mensalmente

  • Auditoria de exceções policy (TTL)
  • Revisão dos orçamentos de tempo/erro
  • Teste de degradação (fire-drill): shed/backpressure/circuito-breaker
  • Rotação de segredos/certificados

15) Anti-pattern

Sem requests/limits: «burst» come os vizinhos → falhas em cascata.
Retraias globais sem jitter, tempestade nas dependências.
Tempo infinito, conectórios «pendurados» e pool esgotado.
': latest' e tags mutável: montagens runtime imprevisíveis.
Egress aberto: fugas e dependências não controladas.
Falta de PDB: atualizações «quebram» todo o pool.

16) Mini playbooks

A. Aumento de CPU throttle% em payments-service

1. Verificar limits/requests e perfilar caminhos quentes.
2. Levantar os requests temporariamente, ativar o scail automático de p95 latency.
3. Incluir os limites/cursos em dinheiro e reduzir a complexidade das consultas.
4. Pós-fix: denormalização/índices, revisão limits.

B. Crescimento 429 e queixas de API

1. Um relatório sobre as chaves/organizações → quem ficou na cota.
2. Digite hierarchical quotas (per- org→per -key), levante burst para gold.
3. Comunicação e orientance por backoff; ativar o adaptativo limiting.

B. OOM kills em massa

1. Reduzir concurrency, incluir limite heap e perfis.
2. Refogue o Xmx/GOMEMLIMIT para um peak-usage real.
3. Reaproveitar GC/pula, adicionar swap-off e soft-limit alerts.

17) Exemplos de configuração

Contêiner K8s com configurações seguras (fatia):
yaml securityContext:
runAsNonRoot: true allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities:
drop: ["ALL"]
Envoy rate-limit (fragmento conceitual):
yaml rate_limit_policy:
actions:
- request_headers:
header_name: "x-api-key"
descriptor_key: "api_key"
Nginx ingress - temporizações e limitações:
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) Integração com gerenciamento de mudanças e incidentes

Qualquer enfraquecimento da política é através de RFC/FAB e exclusão temporária da TTL.
Incidentes de violação de políticas pós-mortem e renovação de regras.
Os dashboards de conformidade (compliance) estão ligados ao calendário de lançamento.

19) Resultado

As políticas de execução são «corrimões» para a plataforma, não impedem uma viagem rápida, não deixam cair. Restrições declaratórias, coerção automática, boas métricas e disciplina de exceções transformam a operação caótica em um sistema controlado e previsível - com um custo controlado e SLO sustentável.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.