Библиотека девопса | DevOps, SRE, Sysadmin
10.2K subscribers
1.54K photos
75 videos
4 files
2.77K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🎢🎢 Кластерная сеть LoxiLB: Расширение сетевых возможностей Kubernetes

Кластерная сеть LoxiLB стремится изменить ландшафт, предлагая упрощенный подход к оптимизации сети и управлению ею с использованием революционной технологии eBPF, разработанной в ядре Linux. В отличие от традиционных сетевых решений для всего кластера, где прокси (такие как kube-proxy) используются для обработки сетевого трафика и могут выступать в качестве узкого места в сети, кластерная сеть LoxiLB может обеспечить простое и понятное решение

Продолжение тут

#гайд
👍21😁1🎉1🥱1
🐧🎭 10 дистрибутивов Linux на грани безумия и гениальности: от Windows-клона до самоуничтожающейся ОС

Мир Linux полон сюрпризов, и эти 10 дистрибутивов — яркое тому подтверждение.

Читать статью

#гайд
👍31😢1
🛟🛟 Введение в Istio для Kubernetes: основы и начальная настройка

Управлять микросервисной архитектурой в Kubernetes порой весьма сложно. И здесь на помощь приходит Istio — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes. В этой статье рассматриваются основы Istio и её начальная настройка.

Подробнее тут

#гайд
👍1
🛟🛟 Kubernetes на сковородке: готовим самые вкусные кластеры

Сегодня технологические компании стоят перед выбором без выбора: если перед нами не стоит узкоспециализированная задача, то мы по дефолту идем работать в Kubernetes. Эта система универсальна и проверена годами, поэтому обойтись без нее практически невозможно.

В этой статье автор расскажет, что такое контейнеризация, как с ней помогает Kubernetes и почему важно уметь правильно его готовить.

Читать статью

#гайд
2
🤖🤖 Интерактивная OpenStack Compute Node Monitoring System на Prometheus, Grafana, и Telegram-ботом

В статье рассматривается, как создать интерактивную систему мониторинга узлов OpenStack с Prometheus, Grafana и ботом Telegram для запроса статистики в реальном времени по требованию.

Подробнее тут

#гайд
😁21
🤔🤔 Zabbix vs Prometheus. Что выбрать для гетерогенной инфраструктуры?

Как правило, рано или поздно система приходит к равновесному состоянию: часть пользователей работает на рабочих станциях Windows, специалисты — на Unix-подобных операционных системах.

В этой статье рассматриваются достоинства и недостатки популярных систем мониторинга, а также процесс развертывания их в гетерогенной среде Windows-Linux.

Подробнее тут

#гайд
👍32❤‍🔥11
🛟🛟 Архитектура кластеров Kubernetes — выбор размера рабочего узла

Если вы создаете on-premises кластер, стоит ли вам использовать несколько мощных серверов последнего поколения или использовать около дюжины старых машин, которые будут валяться в центре обработки данных?

Или, если вы используете управляемый сервис Kubernetes, такой как Google Kubernetes Engine (GKE), следует ли вам использовать восемь экземпляров n1-standard-1 или два экземпляра n1-standard-4 для достижения желаемой вычислительной мощности?

Продолжение здесь

#гайд
7👍2
🚢 Что такое Portainer и как собрать корабль в плавание?

Portainer — это универсальная платформа для управления контейнерами, которая упрощает развёртывание, мониторинг и обеспечение безопасности контейнеризированных приложений в средах Docker, Docker Swarm, Kubernetes и Podman.

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

Как бы много возможностей ни предоставлял Portainer, его установка происходит в «два клика».

1. Для начала нам нужно иметь на своём сервере Docker.

2. Чтобы хранить данные нам необходимо создать Docker volume.
docker volume create portainer_data


3. После чего мы можем просто запустить контейнер с Portainer!
docker run -d -p 9443:9443 --name=portainer \--restart=always \-v /var/run/docker.sock:/var/run/docker.sock \-v portainer_data:/data \portainer/portainer-ce:latest


4. Готово!

Вот так просто можно от прямого управления через CLI перейти к контролю контейнеров через веб-интерфейс! Теперь администрирование контейнеров становится доступным даже без глубоких знаний командной строки: все действия — от развёртывания контейнеров до мониторинга их работы и управления безопасностью — можно выполнять в визуально понятной форме.

#гайд
👍4🔥4🎉4
Балансировка нагрузки (Load Balancing) используя Nginx

⚙️ Round Robin (по кругу):
Запросы равномерно распределяются между серверами.

upstream backend {
server 192.168.1.101;
server 192.168.1.102;
}


⚙️ Least Connections (наименьшее количество соединений):
Запрос отправляется серверу с наименьшим количеством активных соединений.
nginx

upstream backend {
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}


⚙️IP Hash (хэширование IP):
Запросы от одного клиента всегда направляются на один и тот же сервер.
Используется для обеспечения сессий (session affinity).

upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}


⚙️Weight (вес сервера):
Серверы с большим весом получают больше запросов.
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}


#гайд
👍31🔥4🥱1
🤖🤖 Как работает OOM Killer в Linux и как его настроить

OOM (Out-Of-Memory) в Linux возникает, когда система исчерпывает память (RAM и swap). Для предотвращения зависания ядро запускает OOM Killer, который завершает процессы, освобождая ресурсы.

Как выбирается жертва?
OOM Killer оценивает процессы по «весу» (OOM Score). Это значение зависит от:
🎯 Объема памяти: больше памяти — выше риск.
🎯 Приоритета (OOM Adjust Score): значение от -1000 (процесс защищен) до +1000 (максимальный риск).
🎯 Системной важности: критические процессы (например, демоны) убиваются реже

Настройка OOM Killer
Для настройки используйте /proc/[PID]/oom_score_adj. Например:
echo -1000 > /proc/1234/oom_score_adj


Как избежать OOM?
Мониторинг памяти: используйте htop, free.
Swap: проверьте, что он настроен (swapon -s).
🛠️ Настройка ядра: параметр vm.overcommit_memory:
- 0 (по умолчанию) — баланс между памятью и swap.
- 2 — запрещает выделение памяти без ресурсов.
echo 2 > /proc/sys/vm/overcommit_memory

🛠️ cgroups: ограничьте память для групп процессов:
echo 1G > /sys/fs/cgroup/memory/limit_in_bytes

🛠️ ulimit: задайте ограничения:
ulimit -m [лимит в KB]


OOM Killer защищает систему от сбоев, но важно его настроить, чтобы предотвратить завершение критически важных процессов. Используйте мониторинг, настройку ядра и ограничения ресурсов, чтобы минимизировать риски.

#гайд
👍9
Приколы приколами, но вот вам небольшой #гайд по удалению питона с сервера

1️⃣ Проверьте зависимости системы
Перед удалением убедитесь, что удаление Python не нарушит работу вашего серверного окружения:
Многие серверные ОС (например, на базе Linux) используют системный Python для управления пакетами (например, yum или apt).
Проверьте, какие версии Python установлены и где они используются:
python --version
python3 --version
which python
which python3


2️⃣ Удаление версии Python, установленной вручную
Если Python был установлен вручную (например, через исходный код или менеджер пакетов), выполните следующие шаги:

Удаление вручную установленного Python:
Найдите место установки Python:
which python3

Обычно это будет /usr/local/bin/python3 или /usr/bin/python3.

Удалите файлы:
bash
sudo rm -rf /usr/local/bin/python3
sudo rm -rf /usr/local/lib/python3.x

Замените python3.x на соответствующую версию.

Проверьте и удалите симлинки:
bash
sudo rm -f /usr/bin/python3
sudo rm -f /usr/bin/python


Проверьте переменные окружения: Убедитесь, что в переменной PATH больше нет записей, связанных с Python:
echo $PATH


Если Python установлен через менеджер пакетов:

Для Debian/Ubuntu:
sudo apt-get remove --purge python3
sudo apt-get autoremove


Для CentOS/Red Hat:
sudo yum remove python3


3️⃣ Удаление через менеджеры пакетов окружений
Если Python установлен через менеджеры вроде pyenv или conda, удаление происходит так:

Удаление с помощью pyenv:
Список установленных версий:
pyenv versions

Удаление версии Python:
pyenv uninstall <версия>

Удаление с помощью Anaconda/Miniconda:
Удаление конкретного окружения:
conda remove --name <название_окружения> --all

Удаление Anaconda/Miniconda полностью:
Удалите корневую директорию:
rm -rf ~/anaconda3
rm -rf ~/miniconda3


4️⃣ Удаление остаточных файлов
Проверьте наличие остаточных папок:
sudo find / -name "python*"

Удалите файлы, которые больше не нужны.

5️⃣ Будьте осторожны с системным Python
Удаление системного Python может нарушить работу пакетов управления сервером (yum, dnf, apt). Если вы хотите очистить только лишние версии Python, сделайте это изолированно, не трогая системные библиотеки.

#мем
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2😁1
🐳✏️ #Гайд по контейнеризации Django от Docker

В блоге Docker появился новый гайд, который подробно объясняет, как контейнеризировать Django-приложение. Этот пошаговый туториал покажет вам:
Как настроить Dockerfile для вашего проекта.
Использовать docker-compose для управления сервисами.
Оптимизировать приложение для продакшена с Gunicorn и сборкой статических файлов.

Если вы хотите упростить развертывание Django-приложений и минимизировать проблемы с совместимостью окружений, этот гайд станет отличным подспорьем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🦜 Лучшие материалы по DevOps в одной подборке

Собрали топовые материалы, которые стабильно попадает в закладки наших айти-подписчиков.

Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!

1. Инфраструктура как код

2. #Гайд по контейнеризации Django от Docker

3. Разбираемся с Load Balancers

4. Кроссплатформенные CI/CD-процессы с Docker

5. Проверьте свои знания Kubernetes

6. Ghostty — новый терминал для современных разработчиков и DevOps

7. Автоматизация с Python: от рутинных задач до DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM