Инфраструктура: подборка новых статей на Хабр

Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm

PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.

Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотекстовый поиск подразумевает не только поиск точных соответствий, но и учет схожести слов, учет морфологии, а также поддержку более сложных запросов. PostgreSQL, конечно, предоставляет средства для выполнения таких задач, и модуль pg_trgm — один из инструментов, с помощью которого это можно сделать.

Читать далее


Как управлять трафиком с помощью BGP и OSPF

BGP и OSPF — это протоколы, которые позволяют нам строить и поддерживать сети, способные справляться с огромным объемом данных и обеспечивать высокую доступность. BGP чаще всего используется для маршрутизации трафика между разными автономными системами (AS), в то время как OSPF является внутренним протоколом для построения маршрутов внутри одной AS.

Читать далее


Управление конфигурациями: Puppet vs. Chef vs. Ansible

Управление конфигурациями позволяет автоматизировать и оптимизировать эти процессы, снижая риски человеческих ошибок и обеспечивая более высокую эффективность и безопасность систем.

В управлениях конфигурациями выделяются три крупных игрока: Puppet, Chef и Ansible. Все они предлагают мощные возможности, но каждый со своим уникальным подходом и философией.

  • Puppet — один из старейших и наиболее зрелых инструментов. Он использует декларативный подход, позволяя пользователям определять состояние системы с помощью специального языка конфигураций
  • Chef принимает более процедурный подход, позволяя пользователям писать «рецепты» для настройки и обслуживания систем. Chef идеально подходит для тех, кто предпочитает более тонкую настройку.
  • Ansible отличается своей простотой. Он не требует установки агентов на управляемых устройствах и использует YAML для написания конфигураций.

Рассмотрим каждый из этих инструментов.

Читать далее


Установка и безопасная настройка Redis

Сегодня мы поговорим о СУБД Redis, рассмотрим процесс установки и настройки. В отличие от реляционных систем управления базами данных, Redis является СУБД класса NoSQL с открытым исходным кодом, работающей  со структурами данных типа «ключ — значение».

Redis — это хранилище значений ключей в памяти, известное своей гибкостью, производительностью и широкой языковой поддержкой. Данная система ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов в секунду на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования. Далее мы поговорим о том, как установить и безопасно настроить Redis на сервере Ubuntu 22.04.

Читать далее


Что GCC делает для усиления защиты ядра?

Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжао (Qing Zhao) рассказала о работе, проделанной в компиляторе GCC для укрепления ядра, а также о работе, которую еще предстоит проделать.

Читать далее


Доклад Алексея Старовойтова на Linux Security Summit Europe 2023: BPF и безопасность

Виртуальная машина eBPF, работающая в ядре Linux, приближается к десятилетнему юбилею своего включения в состав Linux; за это время она успела превратиться в инструмент, имеющий целое множество применений в этой экосистеме. Алексей Старовойтов (Alexei Starovoitov), который является создателем eBPF и занимался ее развитием, особенно на начальном этапе, выступил на открытии Linux Security Summit Europe 2023 с докладом о взаимосвязи BPF и безопасности. В нем он поделился с нами интересными историческими моментами в несколько иной перспективе, нежели они обычно раскрываются. Среди прочего, он рассказал, как BPF на протяжении всего своего пути была одновременно и проблемой безопасности, и ее решением.

Читать далее


Kubernetes Scheduler в Деталях: Важные Аспекты. Часть 1

Недавно на одном из YouTube-каналов я подробно рассматривал работу Kubernetes Scheduler. В процессе подготовки материала я столкнулся с множеством новых и интересных фактов, которыми хотел бы поделиться с вами. В этой статье мы разберём, что именно происходит “под капотом” Kubernetes Scheduler и какие аспекты важны для понимания его функционирования.

Планирую идти от простого к сложному, так что прошу отнестись с пониманием. Если вы уже знакомы с базовыми концепциями, не стесняйтесь пропустить вступительную часть и перейти сразу к ключевым деталям.

Читать далее


Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

Когда я начал погружаться в k8s и успешно сдал k8s CKA, я подумал что k8s scheduler работает как описано в части 1 и больше мне знать не обязательно, чтобы понимать как действительно работает k8s и почему поды планируются именно таким образом. Оказалось, что я упустил важный пласт знаний, который скрывается отчасти в документации, отчасти разбросан по англоязычным статьям в www. Сегодня мы наверстаем упущенное вместе.

Итоги предыдущей части:

k8s Scheduler непрерывно следит за появлением новых подов и нод, и если есть поды(в специальной очереди), которые не закреплены за нодой, то scheduler пытается закрепить их за правильно подобранной нодой.

Читать далее

Инфраструктура: подборка новых статей на Хабр