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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🤔 Очередной #дайджест полезных статей по DevOps:

🔺 VTB API hackathon — призовой фонд – 1,8 млн рублей. Регистрация открыта до 1 октября

🔺 Grafana 10.1 release — улучшенные графики, новый сетевой уровень геокарты и многое другое

🔺 semgrep-go — набор правил для статического анализа кода Go, которые выявляют распространенные или потенциальные ошибки

🔺 Как рассчитать SLA на примере Nginx-сервера — соглашение с клиентами или пользователями, где описывается уровень обслуживания, который поставщик обещает предоставить клиенту и как его высчитать

🔺 Terraform Drift — что делать, когда то, что настроено на облаке отличается от того, что объявлено в коде Terraform
🔥4👏31
🦸 9 способов настройки градиента цели для поддержания мотивации

Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.

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

#саморазвитие
👍4🔥31
🗝️🗝️ Ключевые показатели для мониторинга Core DNS

CoreDNS — это опенсорсный DNS-сервер, который может разрешать запросы на доменные имена в кластере Kubernetes. CoreDNS является поставщиком DNS по умолчанию в Kubernetes начиная с версии 1.13. Он может использоваться независимо от Kubernetes, а также быть в роли обеспечения обнаружения служб Kubernetes, что упрощает создание кластерных сетей, позволяя клиентам получать доступ к службам, используя DNS-имена, а не IP-адреса. Важно отслеживать CoreDNS, чтобы убедиться, что повышенная задержка или частота ошибок не нарушают связь между вашими службами и не вызывают узких мест в приложении. В статье рассматриваются следующие ключевые категории показателей CoreDNS:

🔺 Показатели пропускной способности
🔺 Показатели производительности
🔺 Показатели масштабирования и ресурсов
🔺 Показатели Go
🔺 Показатели кэширования

Подробности

#гайд
👍63
This media is not supported in your browser
VIEW IN TELEGRAM
HR в попытках поймать сеньора на оклад джуна 😂😂
😁20🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
Как усмирить обезумевшего техдира 😂😂
😁15🔥32
🤔 Очередной #дайджест полезных статей по DevOps:

🔺 Стратегии развертывания Kubernetes — в Kubernetes существует несколько различных способов зарелизить приложение, и они перед вами

🔺 Особенности SRE и Observability в мобильных приложениях — история боли о нестабильных средах, остатках старых версий и бардаке, как везде, но с приятным концом

🔺 Как начать юзать Weaviate Vector Database в Docker — автор рассказывает о это векторной БД с возможностями векторного, гибридного и генеративного поиска

🔺 Восхождение на Azure DevOps Server — про фишечки, фиксы и фичи release-кандидата, скачать которого можно тут

🔺 OpenTofu — Новая альтернатива Terraform с открытым исходным кодом
🥰3318👍9🔥9👏7
Зачем нам Kyverno?

Kyverno — это опенсорсный механизм политики для Kubernetes, который позволяет определять, проверять и применять политики для кластера.

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

Создаем локальный кластер

kind create cluster --image "kindest/node:v1.26.0" --config - <<..EOFkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes: - role: control-plane - role: worker - role: worker - role: workerEOF

.. - не пишем — это, чтобы телега не кропала код

Поды плоскости управления находятся в kube-system пространстве имен. Перечислить поды с помощью kubectl get pods -n kube-system.

Развертывание Kyverno

Теперь можно развернуть Kyverno с помощью Helm:

helm upgrade --install --wait --timeout 15m --atomic --version 3.0.0-alpha.1 --namespace kyverno --create-namespace --repo https://kyverno.github.io/kyverno kyverno kyverno

Далее, более подробно здесь

#туториал
6👍4
Создадим парсер, который будет из нужного конфига делать чистую болванку какого-нибудь софта, без комментариев и прочего ненужного.

Для примера будем работать с файлом php.ini и приведем его в юзер-френдли вид.

#!/bin/bash

sep=$2

while IFS= read -r var
do
[[ $var =~ ^$sep.* ]] || [[ ! $var =~ ' ' ]] && continue
echo "$var" >> $1.tpl
done < $1

Запускаем так:

./script.sh php.ini ";"

Передаем 2 параметра. Первый — имя файла-конфига, который будем читать и парсить. Второй — символ, которым комментируются строки в этом файле.

В нашем случае комментарии в файле идут после символа «;». Обращаем внимание, что второй параметр передаем в кавычках. Если передать напрямую, то оболочка не поймёт что от нее хотят и выпадет в panic.

Разбираем скрипт:

Присваиваем переменной sep, символ, который передали вторым параметром $2. У нас это символ «;».

Далее идет цикл, который построчно читает файл php.ini переданный в первом параметре $1 при запуске скрипта — можно передать любой файл.

IFS — разделяет строку с использованием символа в качестве значения

Логика цикла:

Если
первый символ равен символу «;», который уже лежит в переменной sep ИЛИ первый символ равен пустой строке, ТО передаем управление команде continue, которая проигнорирует запись в output файл. И так по кругу, пока не закончится файл.

Команда continue пропускает оставшиеся команды внутри тела цикла для текущей итерации и передает управление программой к следующей итерации цикла.

ВО ВСЕХ ДРУГИХ СЛУЧАЯХ, происходит запись в output файл, в котором будут содержаться только необходимые для работы параметры.

На выходе получится 2х килобайтный файл php.ini.tpl, без комментариев и прочего мусора.

Теперь можно сделать шаблон для ansible/puppet/chef.

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

$var =~ ^$sep.*

^ - соответствует началу текстовой строки
$sep - символ с помощью которого комментируют строки
.* - оставшийся кусок строки

#гайд
🥰31👍2514👏10🔥8
🤿🥽📟 TerraVision — это CLI-инструмент, который преобразует код Terraform в Professional Cloud Architecture Diagrams и решает проблему поддержания в актуальном состоянии документов в облачных проектах.
Terravision работает на стороне клиента без какой-либо зависимости от Terraform или доступа к облачной среде, чтобы динамически анализировать созданные ресурсы и переменные и автоматически генерировать визуальное представление вашей архитектуры. Terravision разработан как инструмент «Docs as Code» (DaC), который может быть включен в конвейер CI / CD для обновления архитектурных схем после этапов конвейера сборки / тестирования / релиза. В настоящее время он поддерживает AWS, а вскоре Google и Azure cloud.

Подробнее

#софт
7👍3
🚜🚛 blendOS — комбайн Ubuntu, Fedora и Arch Linux в одной системе

Операционная система blendOS 23.01 основана на Arch и GNOME на Wayland позволяет использовать приложения из других популярных ОС.

В blendOS можно использовать менеджеры пакетов из Arch Linux (pacman), из Fedora — это dnf, а из Ubuntu взяли apt, реализовав это все на контейнерах Distrobox/Podman. При первом запуске пакетных менеджеров Fedora или Ubuntu соответствующие контейнеры создаются автоматически и не требуют дополнительных действий.

Вся красота становится доступна при полноценной установке ОС, а еще, разрабы реализовали поддержку изолированных приложений Flatpak.

Изучить

#новость
👍93😍1
Разберем #дайджест из 8 инструментов для мониторинга и управления производительностью своей сетевой инфраструктуры.

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

🔺 Auvik. Облачное ПО предлагает функции сетевого мониторинга, управления ИТ-активами, анализа сетевого трафика, простого мониторинга и устранения неполадок, управления распределенными сайтами и централизованной автоматизации.

🔺 PRTG. Инструмент может контролировать с помощью датчиков сетевые устройства, аппаратное обеспечение, приложения, базы данных, центры обработки данных, узлы виртуализации, серверы SharePoint. Может работать с доступом SNMP для подключения и мониторинга маршрутизаторов, коммутаторов и брандмауэров.

🔺 Nagios. Обеспечивает видимость критически важных сетевых компонентов в режиме реального времени, а также строит карту сети. Можно отслеживать сетевые узлы, службы, протоколы и производительность приложений, обеспечивая выявление и решение проблем на раннем этапе.

🔺 LogicMonitor. Облачная платформа для мониторинга инфраструктуры, сети, серверов, БД, облака, AIOps, а также анализа журналов, производительности приложений (APM) и т.д.

🔺 Zabbix. Бесплатный и опенсорсный инструмент работает как с опросом, так и с перехватом, при этом все отчеты, статистика и параметры конфигурации доступны через веб-интерфейс. Он также может использовать агенты для мониторинга сетевых узлов, где это применимо.

🔺 LibreNMS. Система мониторинга сети с открытым исходным кодом, основана на PHP, NGINX, MySQL / MariaDB. Работает на Linux. Предлагает автоматическое обнаружение сети, настраиваемые оповещения, доступ к API, биллинговую систему, автоматические обновления, распределенный опрос и мобильные приложения.

🔺 Datadog. Обеспечивает сквозную визуализацию производительности сети, производительность прикладного уровня и работоспособность сетевых компонентов. Прост в установке и использовании, имеет удобный интерфейс и предлагает быстрые запросы к журналам.
44🥰17🔥10👏9👍6
troubleshooting-kubernetes.en_en.v3 (1).pdf
789.6 KB
👀🤲 Наглядное руководство по устранению неполадок в развертывании Kubernetes

Вот вам схемка, которая поможет вам дефектовать и отдебажить ваши развертывания в Kubernetes.
Разбор очень подробный, с кодом, разъяснениями и комментариями.
11🔥4
👮‍♂️👮‍♂️ 3 октября пройдет вебинар DevSecOps: организация безопасной разработки на уровне процессов. Начало в 11:00.

На вебинаре будет обсуждаться, как создавать продукты, которые будут соответствовать требованиям безопасности, как автоматизировать разработку и доставку продукта там, где зависимости и условия меняются ежедневно.

Темы дискуссии:

👉 Что сегодня вкладывается в понятие DevSecOps
👉 Автоматизация тестирования безопасности на каждом этапе процесса разработки
👉 Автоматизация реакции на инциденты, стабилизация процесса функционирования приложения
👉 Governance и Compliance: как построить безопасный процесс разработки и соответствовать требованиям
👉 Облачные инструменты организации безопасной разработки на уровне процессов

Мероприятие будет полезно разработчикам и тимлидам команд разработки, DevOps и DevSecOps, руководителям и специалистам по информационной безопасности, техническим и ИТ-директорам.

Регистрация тут
5👍3
GoReplay — это опенсорсный инструмент мониторинга сети, который может записывать ваш трафик в реальном времени и использовать его для отслеживания, нагрузочного тестирования, мониторинга и детального анализа.

Установка

Загрузите последнюю версию бинарника и соберите

Как оно работает

Самый простейший вариант: sudo ./gor --input-raw :8000 --output-stdout который действует как tcpdump. Если у вас уже есть тестовая среда, вы можете сделать так: sudo ./gor --input-raw :8000 --output-http http://staging.env

Дополнительная информация: FAQ, Troubleshooting, Issues

#гайд
👍63
#вопросыссобеседования

Чему будет равно a?
a=5; true | { true && a=10; }

Ответ: а = 5. Потому что каждая команда конвейера исполняется в отдельном SubShell

efusion@cannabis:~$ a=5; true | { true && a=10; echo $a; }
10
efusion@cannabis:~$ echo $a
5
10🌚7