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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🤔 Что есть SRE... ?

🎙️ Подкаст, в котором руководитель отдела исследований и разработок Siemens Healthineers и эксперт в области проектирования надежности объектов (SRE), расскажет об отношениях между SRE и DevOps, о балансе принципов SRE с организационной структурой и о том, как, по его мнению, GenAI повлияет на его область.

⏯️ Слушать

#подкасты
7
😎✍️ Best Practices написания шаговых функций для Terraform проектов

Terraform — одна из самых популярных IaC-платформ. AWS Step Functions — это визуальный workflow-сервис, который помогает разработчикам использовать инструменты AWS для создания распределенных приложений, автоматизации процессов, оркестрации микросервисов и создания конвейеров данных и ML.

Если вы новичок в Step-функциях и/или Terraform, ознакомьтесь с введением в Terraform и управлением состоянием.

Шаговые функции и структура проекта Terraform

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

mkdir sfn-tf-example
cd sfn-tf-example
mkdir -p -- statemachine modules functions/first-function/src
touch main.tf outputs.tf variables.tf .gitignore functions/first-function/src/lambda.py
tree

/statemachine будет содержать JSON-код Amazon States Language (ASL), описывающий определение sшаговых функций. Именно здесь будет находиться логика оркестровки, поэтому лучше ее хранить отдельно от кода инфраструктуры.

/functions содержит код для функций AWS Lambda.

/modules — это абстракции более высокого уровня, объясняющие новые концепции в архитектуре.

Остальные файлы в корневом каталоге проекта являются общими для всех проектов Terraform. Там будут скрытые файлы, созданные вашим проектом Terraform после запуска terraform init, поэтому они в .gitignore.

Подробнее дальнейший процесс описан здесь

#туториал
19👍6👏4
🤔 Очередной #дайджест полезных статей по 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