Kubernetes NodeLocal DNSCache: ускоряем DNS-запросы 🚀
Без NodeLocal DNSCache DNS-запрос от Pod проходит через:
В нагруженных кластерах это увеличивает задержки и создаёт дополнительную нагрузку на таблицу
NodeLocal DNSCache запускает локальный DNS-кеш на каждой ноде как
Если запись уже есть в кеше, Pod получает ответ прямо с текущей ноды. При промахе запрос передаётся в CoreDNS.
Преимущества
- быстрее обрабатываются повторные DNS-запросы;
- снижается нагрузка на CoreDNS;
- уменьшается межнодовый DNS-трафик;
- обходятся
- сокращается количество UDP-записей в
- доступны DNS-метрики отдельно для каждой ноды.
NodeLocal DNSCache стабилен с Kubernetes 1.18, но обычно его нужно включать отдельно и развернуть
🔗 Официальная документация Kubernetes: https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/
Без NodeLocal DNSCache DNS-запрос от Pod проходит через:
Service IP → kube-proxy → DNAT → conntrack → CoreDNSВ нагруженных кластерах это увеличивает задержки и создаёт дополнительную нагрузку на таблицу
conntrack.NodeLocal DNSCache запускает локальный DNS-кеш на каждой ноде как
DaemonSet:Pod → локальный DNS-кеш → CoreDNSЕсли запись уже есть в кеше, Pod получает ответ прямо с текущей ноды. При промахе запрос передаётся в CoreDNS.
Преимущества
- быстрее обрабатываются повторные DNS-запросы;
- снижается нагрузка на CoreDNS;
- уменьшается межнодовый DNS-трафик;
- обходятся
kube-proxy и DNAT;- сокращается количество UDP-записей в
conntrack;- доступны DNS-метрики отдельно для каждой ноды.
NodeLocal DNSCache стабилен с Kubernetes 1.18, но обычно его нужно включать отдельно и развернуть
node-local-dns как DaemonSet.🔗 Официальная документация Kubernetes: https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Прокачай терминал Linux: 7 утилит, которые экономят время
Описание: Что установить на Linux для удобной разработки? Быстрый поиск по коду, переходы между проектами, наглядный Git и сохранение рабочих сессий - 7 полезных инструментов с примерами.
#Linux #Терминал #Программирование #DevOps #НастройкаLinux
Описание: Что установить на Linux для удобной разработки? Быстрый поиск по коду, переходы между проектами, наглядный Git и сохранение рабочих сессий - 7 полезных инструментов с примерами.
#Linux #Терминал #Программирование #DevOps #НастройкаLinux
😁3❤2🌚1
Gateway API vs Ingress Controller в Kubernetes
Главное различие в архитектуре управления трафиком.
Ingress задаёт правила маршрутизации, а Ingress Controller обычно одновременно:
- следит за конфигурацией;
- обновляет правила;
- сам проксирует трафик.
С Gateway API логика похожа: вы описываете
Например, в NGINX Gateway Fabric control plane и data plane разделены:
- Control plane: контроллер читает Gateway API-ресурсы и формирует конфигурацию.
- Data plane: отдельный NGINX pod принимает и маршрутизирует трафик.
- Между ними конфигурация передаётся через gRPC.
В итоге Gateway API даёт более гибкую и расширяемую модель маршрутизации, особенно для сложной инфраструктуры и нескольких команд.
Коротко: Ingress проще и привычнее. Gateway API предлагает более современную архитектуру с чётким разделением управления и обработки трафика.
Главное различие в архитектуре управления трафиком.
Ingress задаёт правила маршрутизации, а Ingress Controller обычно одновременно:
- следит за конфигурацией;
- обновляет правила;
- сам проксирует трафик.
С Gateway API логика похожа: вы описываете
Gateway, HTTPRoute, GRPCRoute, а контроллер превращает их в рабочую конфигурацию.Например, в NGINX Gateway Fabric control plane и data plane разделены:
- Control plane: контроллер читает Gateway API-ресурсы и формирует конфигурацию.
- Data plane: отдельный NGINX pod принимает и маршрутизирует трафик.
- Между ними конфигурация передаётся через gRPC.
В итоге Gateway API даёт более гибкую и расширяемую модель маршрутизации, особенно для сложной инфраструктуры и нескольких команд.
Коротко: Ingress проще и привычнее. Gateway API предлагает более современную архитектуру с чётким разделением управления и обработки трафика.
❤6👍2
🤖 ИИ-агенты теперь могут самостоятельно работать с задачами в GitLab
Обычно разработчик общается с ИИ в отдельном чате, а потом переносит результат в рабочий процесс. В SourceCraft появился другой сценарий: агент получает задачу прямо в обсуждении GitLab и работает под собственной учетной записью.
Например, ему можно поручить написание кода или проверку безопасности. Готовый результат агент возвращает на ревью. А если по ходу работы не хватает данных или требуется согласование, он сам обращается к команде.
При этом взаимодействовать с агентами можно не только через GitLab, но и из VS Code, командной строки, мессенджеров или веб-интерфейса. Компании также смогут подключать собственных агентов, в том числе созданных в Yandex AI Studio.
Получается, что ИИ участвует не только в написании кода, но и в самом процессе разработки: от получения задачи и уточнения деталей до передачи результата на проверку.
Обычно разработчик общается с ИИ в отдельном чате, а потом переносит результат в рабочий процесс. В SourceCraft появился другой сценарий: агент получает задачу прямо в обсуждении GitLab и работает под собственной учетной записью.
Например, ему можно поручить написание кода или проверку безопасности. Готовый результат агент возвращает на ревью. А если по ходу работы не хватает данных или требуется согласование, он сам обращается к команде.
При этом взаимодействовать с агентами можно не только через GitLab, но и из VS Code, командной строки, мессенджеров или веб-интерфейса. Компании также смогут подключать собственных агентов, в том числе созданных в Yandex AI Studio.
Получается, что ИИ участвует не только в написании кода, но и в самом процессе разработки: от получения задачи и уточнения деталей до передачи результата на проверку.
🔥4❤2🥰1🤯1
⚡️ В Kubernetes соединения случайно обрываются под нагрузкой? Проверьте conntrack.
Если таблица отслеживания соединений на ноде заполнена, это может проявляться таймаутами, сбоями DNS и ошибками запросов. Сначала сравните число записей с лимитом:
В кластере, который создаётся через kubeadm, лимит можно задать в отдельном документе
Документация Kubernetes - https://kubernetes.io/docs/reference/config-api/kube-proxy-config.v1alpha1/
Если таблица отслеживания соединений на ноде заполнена, это может проявляться таймаутами, сбоями DNS и ошибками запросов. Сначала сравните число записей с лимитом:
sysctl net.netfilter.nf_conntrack_count
sysctl net.netfilter.nf_conntrack_max
В кластере, который создаётся через kubeadm, лимит можно задать в отдельном документе
KubeProxyConfiguration внутри конфигурационного YAML:
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
conntrack:
maxPerCore: 65536
min: 131072
maxPerCore задаёт лимит на ядро, min — нижнюю границу для ноды. Примерные значения нужно подбирать под число ядер и нагрузку: увеличение лимита помогает только после проверки, что проблема действительно в переполнении таблицы. Конфигурация kube-proxy, переданная в kubeadm init, применяется ко всем его экземплярам в кластере.Документация Kubernetes - https://kubernetes.io/docs/reference/config-api/kube-proxy-config.v1alpha1/
👍6👏1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Снёс коммиты? Как вернуть код после git reset -hard
Одна команда - и три коммита исчезли из истории ветки. Субару уже готов начинать заново, но Эмилия знает способ вернуться.
Показываем, как восстановить коммиты после git reset --hard: найти нужный хеш через git reflog, проверить изменения и создать спасательную ветку.
Способ работает, пока объекты коммитов сохранились. Незакоммиченные правки reflog не восстанавливает.
#Git #Программирование #ReZero #GitReflog
Одна команда - и три коммита исчезли из истории ветки. Субару уже готов начинать заново, но Эмилия знает способ вернуться.
Показываем, как восстановить коммиты после git reset --hard: найти нужный хеш через git reflog, проверить изменения и создать спасательную ветку.
Способ работает, пока объекты коммитов сохранились. Незакоммиченные правки reflog не восстанавливает.
#Git #Программирование #ReZero #GitReflog
🥴9🤣3❤2
Как строить инфраструктуру, когда часть сервисов — on-prem, а часть — в cloud
Гибридная инфраструктура имеет много преимуществ - это и распределение нагрузки между контурами под различные задачи. и оптимизация затрат, когда мощности нужны в моменте, а закупать и поддерживать свои серверы не выгодно.
Yandex Cloud активно развивает это направление, и предоставляет полный набор инструментов для создания и поддержки полноценного гибрида.
Во-первых, сети. Тут есть Cloud Interconnect для связности ресурсов в разных контурах. А VPC Private Endpoint позволяет безопасно объединять ресурсы в облаке без выхода в интернет - в том числе с облачным хранилищем, или платформой AI Studio.
Во-вторых, дополнительные мощности, которые можно быстро получить в моменте. Тут представлен сервис по аренде серверов, который получил свое логичное развитие в виде BareMetal Extend - это уже преднастроенная инфраструктура с развернутой виртуализацией и Kubernetes. То есть можно получить готовую среду.изолированную от облака, и сразу приступить к разработке.
Ну и в-третьих, обновление сервиса, который позволяет разработки Yandex Cloud перенести в закрытый контур. Речь про Stackland, в который интегрировано еще больше PaaS-сервисов. Теперь платформа позволяет в закрытом контуре создать полноценную платформу данных.
Гибридная инфраструктура имеет много преимуществ - это и распределение нагрузки между контурами под различные задачи. и оптимизация затрат, когда мощности нужны в моменте, а закупать и поддерживать свои серверы не выгодно.
Yandex Cloud активно развивает это направление, и предоставляет полный набор инструментов для создания и поддержки полноценного гибрида.
Во-первых, сети. Тут есть Cloud Interconnect для связности ресурсов в разных контурах. А VPC Private Endpoint позволяет безопасно объединять ресурсы в облаке без выхода в интернет - в том числе с облачным хранилищем, или платформой AI Studio.
Во-вторых, дополнительные мощности, которые можно быстро получить в моменте. Тут представлен сервис по аренде серверов, который получил свое логичное развитие в виде BareMetal Extend - это уже преднастроенная инфраструктура с развернутой виртуализацией и Kubernetes. То есть можно получить готовую среду.изолированную от облака, и сразу приступить к разработке.
Ну и в-третьих, обновление сервиса, который позволяет разработки Yandex Cloud перенести в закрытый контур. Речь про Stackland, в который интегрировано еще больше PaaS-сервисов. Теперь платформа позволяет в закрытом контуре создать полноценную платформу данных.
❤1
Forwarded from Machinelearning
Модель в среде Claude Science рассчитала шестичастичную амплитуду рассеяния в планарной четырёхкратно суперсимметричной теории Янга–Миллса на уровне девяти петель.
Амплитуды рассеяния показывают, насколько вероятна та или иная реакция при столкновении частиц, и по ним теорию сверяют с данными Большого адронного коллайдера.
Целиком их не посчитать, поэтому физики обрывают расчёт на определённом числе петель, т.к каждая следующая приближает к реальному ответу, но так его утяжеляет, что большинство амплитуд доведены лишь до двух петель, а некоторые до трёх.
Суперсимметричный вариант теории Янга–Миллса реальный мир не описывает, это полигон, где специалисты по амплитудам оттачивают методы, потому что считать в нём парадоксально проще.
Задачу запустили штатные физики Anthropic Лиам Фицпатрик и Сиддхарт Мишра-Шарма в ответ на вызов бывшего физика и научного журналиста Мэтта фон Хиппеля - он предлагал ИИ-компаниям решить одну из крупных открытых задач его прежней области с вычислительными ресурсами академического уровня.
Результат проверил Лэнс Диксон из Стэнфорда и SLAC, соавтор предыдущего рекорда в восемь петель.
Восьмипетлевой результат Диксон и Энди Лю получили в 2023 году окольным путём, через родственную величину, форм-фактор.
Claude пришёл к девяти петлям двумя способами - исходным гексагональным бутстрапом и через форм-фактор. Исследователи дали модели постановку задачи и дальше вмешивались редко, в духе:
«... я иду спать, продолжай, пока не скажу остановиться, и присылай отчёт каждые 4–6 часов».
Код бутстрапа Claude сам написал на Python с SymPy и неделю считал на 96 процессорах.
Диксон проверил результат, пересчитав из амплитуды девятипетлевой форм-фактор, к которому его команда шла пару лет, и назвал работу настоящим триумфом для языковой модели, выполнившей все шаги сложного алгоритма.
Параллельно к тому же результату шла группа Сун Хэ из Китайской академии наук с GPT-6 и когда китайцы связалась с фон Хиппелем через несколько дней после Anthropic, большая часть расчёта у них уже была готова.
Фон Хиппель допускает, что задача просто удобна для ИИ, но считает, что технология действительно стала лучше:
«В марте 2026 года ИИ выполнял физические проекты как студент - это были небольшие задачи, много опеки и ошибок. Здесь же настоящий расчёт на переднем крае науки, из тех, за которые обычно берутся ведущие специалисты по амплитудам», – пишет он.
Результат выложен на сайте Мишры-Шармы. Рецензирования не было, а полную функцию, по признанию авторов, посчитали один раз, независимо перепроверили только её упрощённую часть, символ.
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👌1🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
Фильтр Блума: миллион элементов в 1,2 МБ - как это работает?
Почему алгоритм «помнит» то, чего не было? Наглядно разбираем Bloom Filter, ложные срабатывания и экономию запросов к базе.
#Алгоритмы #Программирование #BloomFilter #ФильтрБлума #Математика
Почему алгоритм «помнит» то, чего не было? Наглядно разбираем Bloom Filter, ложные срабатывания и экономию запросов к базе.
#Алгоритмы #Программирование #BloomFilter #ФильтрБлума #Математика
👍4❤2
Объектное хранилище в эпоху быстрых данных
Объём данных, с которыми нужно работать, растёт ежедневно. Стандартных решений уже не хватает для задач ИИ и аналитики. Большие объёмы данных нужно не только хранить, но и быстро записывать и читать.
В MWS Cloud Platform мы построили объектное хранилище не только на привычных HDD-дисках, но и на NVMe. На вебинаре покажем, какие сценарии работы это открывает и как меняет привычные подходы.
Подключайтесь! Обсудим:
✅ Чем классы хранения MWS Object Storage отличаются от привычных
✅ В каких сценариях новый тёплый класс проявляет себя лучше всего
✅ Преимущества и слабые места в разных сценариях работы
📆 7 октября в 14:00 (мск)
Зарегистрироваться
Объём данных, с которыми нужно работать, растёт ежедневно. Стандартных решений уже не хватает для задач ИИ и аналитики. Большие объёмы данных нужно не только хранить, но и быстро записывать и читать.
В MWS Cloud Platform мы построили объектное хранилище не только на привычных HDD-дисках, но и на NVMe. На вебинаре покажем, какие сценарии работы это открывает и как меняет привычные подходы.
Подключайтесь! Обсудим:
📆 7 октября в 14:00 (мск)
Зарегистрироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣1🖕1
🔐 Kubernetes User Namespaces - важная защита контейнеров от root-эскейпа
Идея простая: root внутри контейнера больше не обязан быть root на хосте.
Например:
Container UID 0 → Host UID 100000
То есть процесс внутри контейнера считает себя root, но на уровне хоста работает как непривилегированный пользователь.
В Kubernetes это включается через:
hostUsers: false
Что это даёт:
- изоляцию UID/GID контейнера от хоста
- снижение последствий container escape
- возможность ограничивать диапазоны UID через /etc/subuid
- дополнительный слой защиты без переписывания самого приложения
Важно: User Namespaces не заменяют seccomp, capabilities, AppArmor/SELinux и другие механизмы, а дополняют их.
Полезная вещь для тех, кто запускает контейнеры с UID 0 и хочет уменьшить blast radius при компрометации.
Идея простая: root внутри контейнера больше не обязан быть root на хосте.
Например:
Container UID 0 → Host UID 100000
То есть процесс внутри контейнера считает себя root, но на уровне хоста работает как непривилегированный пользователь.
В Kubernetes это включается через:
hostUsers: false
Что это даёт:
- изоляцию UID/GID контейнера от хоста
- снижение последствий container escape
- возможность ограничивать диапазоны UID через /etc/subuid
- дополнительный слой защиты без переписывания самого приложения
Важно: User Namespaces не заменяют seccomp, capabilities, AppArmor/SELinux и другие механизмы, а дополняют их.
Полезная вещь для тех, кто запускает контейнеры с UID 0 и хочет уменьшить blast radius при компрометации.
👍7🔥2😨1
Что произойдет, если откажет основное хранилище секретов, LLM начнет бесконтрольно расходовать токены, а новые проверки безопасности замедлят выпуск сервисов?
15 октября на DevOps-треке конференции Orion soft: Большая игра разберут:
В программе — архитектурные схемы, сравнение подходов, примеры проверок и результаты тестов.
📍 Москва
Регистрация
15 октября на DevOps-треке конференции Orion soft: Большая игра разберут:
— архитектуру DR-репликации, ее отличие от Performance-репликации и результаты нагрузочных тестов
— защищенный и отказоустойчивый доступ к LLM, биллинг токенов и ограничения готовых open-source-шлюзов
— self-service-путь AppSec с шаблонами как код и понятными policy gates
— комплексные Admission-проверки на CEL, сравнение с Rego и накладные расходы под высокой нагрузкой.
В программе — архитектурные схемы, сравнение подходов, примеры проверок и результаты тестов.
📍 Москва
Регистрация
🚀 Как на самом деле работает Kubernetes Gateway API: от DNS до Pod
Полный путь запроса выглядит так:
DNS → Cloud Load Balancer → Gateway Service → Gateway Proxy → Backend Service → Pod
Что происходит по шагам:
- DNS указывает на IP облачного Load Balancer.
- Load Balancer отправляет трафик в Kubernetes Service, связанный с Gateway.
- Service ведет на proxy-поды: например, Envoy или NGINX.
- Gateway Controller следит за
- Когда вы создаете маршрут, контроллер автоматически обновляет конфигурацию proxy.
-
Например:
Главное отличие от классического Ingress - разделение ролей.
В Gateway API контроллер управляет конфигурацией, а сам трафик обрабатывают отдельные Gateway/proxy-инстансы.
Если вы уже понимаете Ingress, Gateway API станет гораздо понятнее: концепция похожа, но архитектура заметно чище и гибче.
Полный путь запроса выглядит так:
DNS → Cloud Load Balancer → Gateway Service → Gateway Proxy → Backend Service → Pod
Что происходит по шагам:
- DNS указывает на IP облачного Load Balancer.
- Load Balancer отправляет трафик в Kubernetes Service, связанный с Gateway.
- Service ведет на proxy-поды: например, Envoy или NGINX.
- Gateway Controller следит за
HTTPRoute, GRPCRoute и другими ресурсами.- Когда вы создаете маршрут, контроллер автоматически обновляет конфигурацию proxy.
-
HTTPRoute решает, куда пойдет конкретный запрос.Например:
/payment → payment-service /auth → auth-serviceГлавное отличие от классического Ingress - разделение ролей.
В Gateway API контроллер управляет конфигурацией, а сам трафик обрабатывают отдельные Gateway/proxy-инстансы.
Если вы уже понимаете Ingress, Gateway API станет гораздо понятнее: концепция похожа, но архитектура заметно чище и гибче.
👍2🥰2🔥1