TGViewer
Кубернетичек Кубернетичек @k8sjust · 1.07K subscribers
Post #245 3.11K
https://victoriametrics.com/blog/kubernetes-cpu-go-gomaxprocs/

Попалась замечательная статья. Много по полочкам разложено. Особенно упомянули формулу расчёта cpu weight для cgroupv2, которую хотят дополнительно разжевать https://github.com/kubernetes/website/pull/52793/files.

Но есть нюанс (не в претензию к статье, она отличная)
What's this static policy about?
With static, Kubernetes can give certain containers exclusive access to CPU cores ... Nothing else would be allowed to run on those cores. That's really useful for apps that don't play well with CPU sharing or need strong cache locality


Это не совсем так. cpu manager обеспечивает изоляцию только между pod'ами kubernetes, а не между всеми процессами в ОС. Системные процессы могут и будут селиться на данные cpu.

https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#static-policy

This policy manages a shared pool of CPUs that initially contains all CPUs in the node.... This
shared pool is the set of CPUs on which any containers in BestEffort and Burstable pods run. Containers in Guaranteed pods with fractional CPU requests also run on CPUs in the shared pool.


Вообще непонятно, зачем так сложно писать в доке. Я сам пропустил это, пока на практике не столкнулся, что "эксклюзивность" не эксклюзивная в рамках всей ноды. И даже не всех контейнеров, а только которые контролирует kubernetes. Лишь когда перечитывал доку с какого-то раза, обратил внимание на shared pool.

У Datadog это упомянули, кстати, тоже можно почитать, но на мой вкус она не так интересно читается https://www.datadoghq.com/blog/kubernetes-cpu-requests-limits/
VictoriaMetrics Container CPU Requests & Limits Explained with GOMAXPROCS Tuning When running Go apps in Kubernetes, default CPU thread scheduling can conflict with cgroup CPU limits. The runtime sees all host CPUs, but the container may only be allowed a fraction of one. This often leads to early throttling. Properly configuring GOMAXPROCS…
  • 👍 16
More from @k8sjust
  1. Jul 28, 2026Перестал писать в этот канал, потому что писать стало нечего :) Канал, который был создан…
  2. May 7, 2026https://kubernetes.io/docs/reference/instrumentation/understand-psi-metrics/ Тем временем,…
  3. Apr 15, 2026https://t.me/ittales/699 Автор этой базы разработчик k0smotron. А вообще, еще было решение…
  4. Mar 31, 2026Тут вышла статья https://itnext.io/the-challenge-of-configmap-rollouts-in-kubernetes-14313…
  5. Mar 9, 2026Так как автор блога начинал свою карьеру грузчиком мороженного в телекоме, то левым глазом…
  6. Feb 28, 2026Меня в таких историях https://blog.zwindler.fr/en/2026/02/26/kyverno-killed-my-api-server.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →