Удаленное выполнение кода в Kubernetes через узлы/прокси GET Permission
📌 Подробнее: https://grahamhelton.com/blog/nodes-proxy-rce
MemOps🤨
В этом посте я опишу, как выполнять код на каждом Pod во многих кластерах Kubernetes при использовании учетной записи службы с разрешениями nodes/proxy GET. Эта проблема была первоначально сообщена через процесс раскрытия уязвимостей Kubernetes и закрыта как работающая по назначению.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Graham Helton
Kubernetes Remote Code Execution
Via Nodes/Proxy GET Permission
Via Nodes/Proxy GET Permission
An authorization bypass in
Kubernetes RBAC allows for nodes/proxy GET permissions to execute
commands in any Pod in the cluster.
Kubernetes RBAC allows for nodes/proxy GET permissions to execute
commands in any Pod in the cluster.
❤1
Аетос: От хаоса к инженерному совершенству — 3-летняя трансформация
📌 Подробнее: https://medium.com/@charudatha/aet%C3%B2s-from-chaos-to-engineering-excellence-a-3-year-transformation-51a3f778678a
MemOps🤨
Как мы трансформировали производительность инженерии, построив Платформу внутреннего разработчика (IDP), которая теперь обрабатывает ~50 млн API-вызовов в день, управляет 14 000 ВМ и обеспечивает 80+ релизов в год, и чему вы можете научиться из нашего пути.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Docker: namespaces и cgroups
Когда контейнер падает с OOMKilled или порт не пробрасывается, не нужно гадать: это обычный Linux-процесс, который ядро ограничивает двумя механизмами. Namespaces дают ему изолированный вид — свой PID 1, таблицу маршрутизации и интерфейсы, mount-точки. Cgroups выставляют жёсткие лимиты на CPU, память и I/O, чтобы один контейнер не уложил хост.
Посмотреть на изоляцию помогает
. Docker связывает контейнер через veth: один конец на мосте
, другой в namespace. За лимитами отвечают cgroups, которые Docker задаёт через
.
Понимание этих двух механизмов спасает от «почему работает локально, а в проде падает». При инциденте смотрите сначала на них, а не на приложение.
📌 Подробнее: https://dev.to/doogal/how-docker-actually-works-a-deep-dive-into-namespaces-and-cgroups-5h3e
MemOps🤨
Когда контейнер падает с OOMKilled или порт не пробрасывается, не нужно гадать: это обычный Linux-процесс, который ядро ограничивает двумя механизмами. Namespaces дают ему изолированный вид — свой PID 1, таблицу маршрутизации и интерфейсы, mount-точки. Cgroups выставляют жёсткие лимиты на CPU, память и I/O, чтобы один контейнер не уложил хост.
Посмотреть на изоляцию помогает
unshare. Docker связывает контейнер через veth: один конец на мосте
docker0, другой в namespace. За лимитами отвечают cgroups, которые Docker задаёт через
docker run.
Понимание этих двух механизмов спасает от «почему работает локально, а в проде падает». При инциденте смотрите сначала на них, а не на приложение.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Furiko — современный планировщик заданий Kubernetes, созданный с нуля для гибкости, расширяемости и надёжности. Он спроектирован для запуска заданий с различными политиками повторения, управления историей запусков и предоставления пользовательского интерфейса для просмотра и администрирования заданий.
📌 Подробнее: https://github.com/furiko-io/furiko
MemOps🤨
Furiko состоит из следующих компонентов:
- QueueJob Controller: абстракция заданий, которые можно ставить в очередь с масштабируемой логикой запуска.
- CronJob Controller: надёжный планировщик повторяющихся заданий с CRON-подобной семантикой.
- Web UI: удобный пользовательский интерфейс для управления заданиями и их выполнениями.
- CLI: утилита командной строки для взаимодействия с заданиями Furiko.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - furiko-io/furiko: Kubernetes cron and batch job platform
Kubernetes cron and batch job platform. Contribute to furiko-io/furiko development by creating an account on GitHub.
👍2🤝2
Announcing vmestimator: Real-time Cardinality Estimations for VictoriaMetrics and Prometheus
Статья о vmestimator в блоге VM. vmestimator запускается в точке сбора данных, вычисляя кардинальность на основе входящего потока и предоставляя их в виде метрик через
📌 Подробнее: https://victoriametrics.com/blog/vmestimator-announcement/index.html
MemOps🤨
Статья о vmestimator в блоге VM. vmestimator запускается в точке сбора данных, вычисляя кардинальность на основе входящего потока и предоставляя их в виде метрик через
/metrics, совместимых с Prometheus, для сбора данных и оповещений.MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
VictoriaMetrics
Announcing vmestimator: Real-time Cardinality Estimations for VictoriaMetrics and Prometheus
vmestimator is a new open-source tool that estimates metric cardinality in real time. It can alert to high-cardinality spikes before they slow queries and increase resource usage. Works with any Prometheus-compatible setups, Grafana, and vmalert
❤3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration
📌 Подробнее: https://github.com/karmada-io/karmada
MemOps🤨
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - karmada-io/karmada: Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration
Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration - karmada-io/karmada
👍1
Dasha — дашборд PostgreSQL
Когда Графиня уже занята, остается Даша. Написана на Go. Дополнительно в качестве источника данных можно подключать Prometheus или VictoriaMetrics.
📌 Подробнее: https://habr.com/ru/articles/1062540/
📌 https://github.com/dbulashev/dasha
Еще один похожий инструмент — Powa.
MemOps🤨
Когда Графиня уже занята, остается Даша. Написана на Go. Дополнительно в качестве источника данных можно подключать Prometheus или VictoriaMetrics.
Dasha анализирует состояние кластеров PostgreSQL, выявляет проблемы и даёт рекомендации по оптимизации.
Еще один похожий инструмент — Powa.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥2
Observability в одном Go-бинарнике: как я собрал self-hosted без Kafka и Redis
📌 Подробнее: https://habr.com/ru/articles/1062624/
https://github.com/OtezVikentiy/gotcha
MemOps🤨
Мне нужна была observability для собственных сервисов, и хотелось держать её у себя: логи ошибок — часто самые чувствительные данные в системе, и отдавать их наружу не хотелось. Официальный self-hosted-вариант знакомого стека — серьёзная инсталляция: приёмник, брокер, воркеры, кэш, отдельное аналитическое хранилище — в референсном docker-compose набегает под два десятка контейнеров. Для одного человека и нескольких проектов это несоразмерно: такое надо не только поднять, но и обновлять, чинить и держать в памяти.
Тогда я задал себе вопрос: сколько из этого действительно необходимо, если цель — self-hosted-инстанс на небольшой и средний объём? Ответ оказался неожиданным — почти ничего. Так появилась Gotcha: один Go-бинарник поверх двух баз, который принимает ошибки, трейсы, метрики, профили и аптайм.
https://github.com/OtezVikentiy/gotcha
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Миграция с Bitnami PostgreSQL на CloudNative-PG в Kubernetes
📌 Подробнее: https://k8scockpit.tech/posts/cloudnative-pg
MemOps🤨
Если вы запускаете PostgreSQL в Kubernetes, скорее всего, вы использовали популярные чарты Helm от Bitnami. Они были основным выбором для многих, но впереди значительные изменения. Как описано в этой проблеме GitHub, Bitnami переводит свои готовые к продакшену чарты и образы в коммерческое предложение. Для тех из нас, кто полагается на открытое ПО и выступает за него, это означает, что пора искать надежную альтернативу.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
k8scockpit.tech
Migrating from Bitnami PostgreSQL to CloudNative-PG on Kubernetes
A practical guide to replacing Bitnami's PostgreSQL Helm chart with the open-source CloudNative-PG operator.
👍2
Принудительное использование подписанных образов контейнеров в Kubernetes с помощью Cosign и Kyverno (настройка на основе Helm)
📌 Подробнее: https://medium.com/@hansakabiyon99/enforcing-signed-container-images-in-kubernetes-using-cosign-kyverno-helm-based-setup-646209ecb8ce
MemOps🤨
В этой статье объясняется, как Cosign, Kyverno и Harbor могут работать вместе для обеспечения проверки подписи образов в Kubernetes. Этот подход хорошо подходит для корпоративных сред с частыми реестрами, пользовательскими сертификатами TLS и ограниченным доступом к публичным журналам прозрачности.
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Enforcing Signed Container Images in Kubernetes Using Cosign & Kyverno (Helm-based Setup)
Securing the container supply chain has become a baseline requirement for production Kubernetes clusters. As clusters grow and multiple…
👍3