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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🚇🚇 Доступ к кластеру Kubernetes через SSH-туннель

Для повышения безопасности кластера Kubernetes, необходимо скрыть уровень управления (kube-apiserver) за фаерволом. Мы сможем подключиться через SSH-сервер, который находится в той же сети, и запускать оттуда команды kubectl, но это неудобно. В этом случае на помощь приходит SSH-туннель.

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

#туториал
👍123❤‍🔥1🥰1
👾👾 Anomaly Alerting в Prometheus

В статье автор рассказывает о том, как использовать Prometheus с Istio для обнаружения аномалий во времени отклика ваших операционных служб. Реализация универсальная, чтобы можно было применить ее глобально ко всем службам, работающим в сети. Вы сможете применить один и тот же шаблон практически к любой rate-metric.

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

#туториал
🔥27👍41🥰1🎉1
👶 Новичок в компании: 18 советов, как быстро адаптироваться и освоить новые навыки

Начало работы в новой компании может быть волнующим и сложным, особенно если вы новичок в отрасли. Как быстро освоиться, произвести хорошее впечатление и стать ценным сотрудником?


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

#туториал
👍41🥰1
💁💁 Почему нельзя парсить вывод ls

Команда ls хорошо справляется с отображением атрибутов одного файла, но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL.

Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).

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

#туториал
❤‍🔥12👍31🔥1
🤔🤔 Как Grafanalib помогает управлять дашбордами в масштабе

Для корпоративных организаций данные — это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.

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

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

#туториал
👍3❤‍🔥1
🧔🧔 Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Простой и полезный шаблон скрипта-обёртки для запуска заданий по cron (а сейчас и systemd timers).

С самого начала работы системным администратором linux, автор обнаруживал, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился парк серверов и виртуальных машин, тем больше приходит абсолютно бесполезных почтовых сообщений «From: Cron Daemon», в которых нельзя отформатировать тему почтового сообщения для удобной автосортировки.

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

#туториал
❤‍🔥122🥰1👏1
🚶🚶 Важность Kubernetes и необходимость в Tainting Nodes

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

В таких случаях вы можете ознакомиться с taints и tolerations в Kubernetes. Taint — это просто пара key1=value1:taint-effect, которую вы применяете к ноде с помощью команды taint. taint-effect — это конкретный эффект, который вы хотели бы получить от вашего taint.

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

#туториал
🤩15👍72🥰1
💪💪 KEDA + Kafka: повышение производительности на 62,15% при пиковых нагрузках

В современных облачных средах пользователи Kafka все чаще используют Kubernetes, что дает преимущество в плане масштабируемости и простоты развертывания, но и требует сложных стратегий масштабирования, которые могут адаптироваться к изменчивой природе потоков данных Kafka.

Именно здесь вступает в действие Kubernetes Event-Driven Autoscaling (KEDA). KEDA расширяет возможности Kubernetes, позволяя автоматическое масштабирование, управляемое событиями. При интеграции с Kafka KEDA позволяет пользователям автоматически масштабировать приложения в зависимости от фактической рабочей нагрузки.

В статье показано, как KEDA улучшает потребительские характеристики Kafka и общее использование ресурсов.

Читать далее

#туториал
🎉10👍52🥱2🥰1
💪💪 Перенос FreeIPA из LXC-контейнера CentOS 7 в Rocky Linux, дебаг и истекшие сертификаты

Рассказ про обновление старой FreeIPA, которая была установлена в LXC-контейнере на CentOS 7 и находилась в нерабочем состоянии уже несколько месяцев. Для старта был только бекап LXC-контейнера для Proxmox.

Изначально план был такой:

👉 Восстановить работоспособность системы.
👉 Обновить сертификаты.
👉 Сделать бэкап.
👉 Перенести бэкап на новую обновляемую систему: Fedora или Rocky Linux — поскольку поддержка CentOS уже прекращена.

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

#туториал
👍32🔥2
💪💪 Как мы ускорили автоустановку ОС в четыре раза

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

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

#туториал
3😁3
🔧🔧 Руководство по Rolling Update Deployment Strategy

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

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

#туториал
3👍1
🎢🎢 Запросы и лимиты в Kubernetes: разбираемся в деталях

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

Подробности тут

#туториал
👍4🔥1
💪💪 asyncio: We Did It Wrong

Серия статей по асинхронному программированию от Staff инженера Spotify. Под капотом 8 частей покрывающий практически все вопросы по asyncio возникающие у разработчика:

Part 0: Initial Setup
Part 1: True Concurrency
Part 2: Graceful Shutdowns
Part 3: Exception Handling
Part 4: Working with Synchronous & Threaded Code
Part 5: Testing asyncio Code
Part 6: Debugging asyncio Code
Part 7: Profiling asyncio Code

Все вот тут

#туториал
5👍2
💪💪 Управляем 100к кластерами Kubernetes с помощью Cluster API

В статье показан путь к достижению полной автоматизации в области подготовки кластеров, управления жизненным циклом и обновлений. Автор благодаря новому набору инструментов сократил время, необходимое для развертывания и подготовки кластера, готового к работе, с 1,5 недель до менее чем 1 дня.

Подробности тут

#туториал
👍31🎉1
🧐🧐 Kubernetes Events

События генерируются различными компонентами Kubernetes, такими как планировщик, kubelet, контроллеры и т. д., для сбора информации, относящейся к нодам, подам и другим ресурсам.

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

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

#туториал
1👍1
🕸️🕸️ Сетевые плагины (CNI) в Kubernetes

CNI или Container Network Interface — это спецификация, разработанная CNCF (Cloud Native Computing Foundation) для стандартизации процесса подключения сетевых интерфейсов к контейнерам. CNI обеспечивает гибкость и адаптивность сетевой инфраструктуры, позволяя интегрировать различные сетевые решения в Kubernetes.

CNI применяется для настройки оверлейных и андерлейных сетей:

👉 Оверлейными сетями, называют сетевой трафик, который инкапсулируется с помощью виртуального интерфейса, такого как виртуальная расширяемая локальная сеть VXLAN.
👉 Андерлейные сети работают на физическом уровне, состоят из коммутаторов и маршрутизаторов.

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

#туториал
2
🛡️🛡️ Безопасность Multi-Cluster ArgoCD

В ArgoCD уже есть возможность добавлять удаленный кластер для управления, но есть критическая проблема с тем, как ArgoCD это делает. Он использует ServiceAccount и связанный с ней токен для аутентификации в удаленном кластере.
Токены Service Account никогда не предназначались для использования за пределами кластера. Начиная с версии 1.24, стандартом является создание токена, срок действия которого истек, но это означает, что у вас должна быть стратегия ротации, и если вы потеряете этот токен, нет способа его аннулировать.

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

#туториал
3
🚶🚶 Multi-Stage Docker Builds

Начиная с версии 17.5 Docker стал поддерживать multi-stage builds. Этот метод помог разделить сложные технические сборки на несколько этапов, каждый из которых выполняет определённую задачу. Благодаря этому важному обновлению стало легче уменьшать поверхность атаки и размер образов, а также эффективнее использовать кэш Docker.

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

#туториал
👍42
🤔🤔 Proxmox vs FreeBSD: кто производительнее

Сравнительные тесты Proxmox и Bhyve

Подробности тут

#туториал
👍51