DevOps
8.76K subscribers
1.39K photos
880 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
📺 Kubernetes Уроки

1 - Что такое Kubernetes? Запуск локального кластера Kubernetes. Minikube
2 - Запуск Kubernetes кластера на AWS, используя eksctl
3 - Запуск Kubernetes кластера на AWS, используя Terraform
4 - Как использовать kubectl с несколькими Kubernetes кластерами
5 - Как установить Kubernetes Dashboard
6 - Создание объекта Pod. Запуск контейнеров в Kubernetes
7 - Метки, аннотации и пространства имён в Kubernetes
8 - ReplicationController и ReplicaSet в Kubernetes
9 - Deployment в Kubernetes. Стратегии обновления приложенийн
10 - Service в Kubernetes - Часть 1. Type: ClusterIP. Endpoints

Всего доступно 49 уроков

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
Forwarded from Bash Советы
Bash-совет: анализ неудачных SSH-логинов и бан «горячих» IP 🔒🐚

Хотите быстро узнать, какие IP вызывают максимум неудачных попыток входа в SSH, и оперативно заблокировать самых настырных? Ниже скрипт:


#!/usr/bin/env bash
# ssh_fail_analyzer.sh
# Анализ неудачных SSH-попыток и вывод TOP-10 IP

LOG_FILE="/var/log/auth.log" # путь к логам (для CentOS: /var/log/secure)
TOPN=10 # сколько IP показывать

echo "Топ $TOPN IP с неудачными SSH-входами:"
grep -E "Failed password for" "$LOG_FILE" \
| grep -oP '(?<=from )[\d\.]+' \
| sort \
| uniq -c \
| sort -rn \
| head -n "$TOPN"


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

1. grep -E "Failed password for"
Ищем все строки с неудачными попытками.
2. grep -oP '(?<=from )\[\d.]+'
С помощью PCRE-регулярки достаём только IP-адреса после слова "from".
3. sort | uniq -c | sort -rn
Сортируем, считаем вхождения и выводим в порядке убывания.
4. head -n "\$TOPN"
Ограничиваем результат топ-10.


🛠 Можно добавить в crontab ежедневный запуск и автоматическую отправку отчёта на почту или сразу бан «горячих» IP через iptables:


# в crontab: каждый день в 00:10
10 0 * * * /path/to/ssh_fail_analyzer.sh | mail -s "SSH Fail Report" admin@example.com


Или сразу блокировать подозрительные IP, если они превысили порог:


THRESHOLD=50
for ip in $(grep -E "Failed password for" "$LOG_FILE" \
| grep -oP '(?<=from )[\d\.]+' \
| sort | uniq -c \
| awk -v t="$THRESHOLD" '$1 > t {print $2}'); do
iptables -I INPUT -s "$ip" -j DROP
echo "$(date): Заблокирован $ip за превышение $THRESHOLD неудачных попыток" >> /var/log/ssh_ban.log
done


👉@bash_srv
4
Почему нельзя парсить вывод ls(1)

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

https://habr.com/ru/articles/823298/

#devops #девопс

Подпишись 👉@i_DevOps
👍1
systemd: как писать юниты с элегантной перезагрузкой

Разработка системы с элегантным завершением работы может оказаться той ещё пляской с бубном. В идеальном мире каждый сервис управлялся бы юнитом systemd. ExecStart запускала бы процесс, обрабатывающий SIGTERM, а ExecStop оповещало бы процесс и осуществляло блокировку, которая бы корректно завершала процесс и его ресурсы.

Однако многие программы завершаются некорректно, а то и вовсе сбивают все настройки при закрытии. В этой статье мы рассмотрим поведение systemd при завершении работы и методы написания юнитов systemd для выборочной очистки (custom cleanup) перед закрытием.

https://www.psdn.io/posts/systemd-shutdown-unit/


#devops #девопс

Подпишись 👉@i_DevOps
6👍1
Переезд с облака на свои сервера: взгляд со стороны инфраструктуры и бизнеса

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

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

https://habr.com/ru/articles/914438/

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Pipeline инфраструктуры (Infra Pipeline)

Этот workflow описывает сквозной CI/CD-pipeline для сборки и деплоя инфраструктуры, включая quality gates (детекторы и оценку рисков).

Ветвление (Branching)
Рекомендуется создавать короткоживущие feature-ветки (локальные копии основной ветки trunk/main). В них выполняются изолированные изменения. На локальную ветку нет жёстких ограничений, но вы как разработчик обязаны регулярно синхронизировать её с основной (через rebase или merge), чтобы избежать merge conflicts.

Основная ветка (mainline/trunk)
Mainline (или trunk) служит для сборки и публикации deployable артефактов. Любой merge в неё может автоматически попасть в staging или production. Поэтому ветка должна быть постоянно в deployable-состоянии. Для этого в CI/CD pipeline настраиваются quality gates: статический анализ кода, unit- и интеграционные тесты, security scans, оценка рисков 🔒. Trunk остаётся locked до прохождения всех проверок и подтверждения безопасности изменения.

https://medium.com/@tusharmurudkar/devops-infrastructure-pipeline-beab47e7b876


#devops #девопс

Подпишись 👉@i_DevOps
2👍2
Media is too big
VIEW IN TELEGRAM
«Прогрессивная доставка инфраструктуры с помощью Kargo и Argo CD» – Engin Diri, Pulumi

С момента выхода Kargo я изучаю возможность использовать его не только для доставки и продвижения приложений, но и для постепенного развёртывания инфраструктуры. С помощью Kubernetes-ориентированных инструментов, таких как Crossplane или Pulumi, мы описываем инфраструктуру как код и можем плавно развертывать её сначала в наших управляющих кластерах, а затем последовательно продвигать изменения через разные этапы без необходимости в дополнительных скриптах CD.

Позвольте показать, как Kargo помогает платформенным инженерам упростить и автоматизировать прогрессивный релиз изменений в инфраструктуре на всех стадиях. В этом докладе будут рассмотрены основы работы с Kargo и примеры интеграции с инструментами Infrastructure as Code.

* Описание проблемы: необходимость безопасного и контролируемого релиза изменений в инфраструктуре
* Решение: использование Kargo для поэтапного развёртывания (Progressive Delivery)
* Инструменты IaC: Crossplane, Pulumi
* Преимущества:

* автоматизация продвижения конфигурации между окружениями
* отказ от «волшебных» CD-скриптов
* единый pipeline для приложений и инфраструктуры

Настройка Kargo вместе с Argo CD позволяет интегрировать управление приложениями и инфраструктурой в единую платформу progressive delivery, минимизируя риски и ускоряя итерации.

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Как сократить расходы на мониторинг: замена Prometheus на VictoriaMetrics

Мониторинг может оказаться дорогостоящим из-за огромных объёмов данных, которые необходимо обрабатывать. В этой статье ты узнаешь лучшие способы хранения и обработки метрик мониторинга для снижения затрат, а также как в этом может помочь VictoriaMetrics.

https://victoriametrics.com/blog/reducing-costs-p1/index.html

#devops #девопс

Подпишись 👉 @i_DevOps
👍31
Security Gate (DevSecOps cicd)

Хочу начать с кратенького предисловия, почему я решил написать что-нибудь про DevSecOps. Я довольно-таки часто сталкиваюсь с непониманием, что же автоматизируют и для чего нужны DevSecOps инженеры, где их место в компании и в современном ИБ. Да и что далеко ходить, многие коллеги DevOps, сами считают, что с добавлением trivy или sonarqube в пайплайны, ты уже носишь гордое звание DevSecOps.

Поэтому в этой статье поговорим о том, как должны выглядеть DevSecOps пайплайны, чтобы они трансформировались во что-то зрелое. В Security Gate!

https://habr.com/ru/articles/917970/

#devops #девопс

Подпишись 👉 @i_DevOps
👍5
🛠Btop++ — это высокопроизводительный монитор ресурсов, написанный на C++, который предоставляет детальную информацию о загрузке процессора, использовании памяти, активности дисков, сетевой активности и процессах. Он является продолжением проектов bashtop и bpytop, предлагая улучшенную производительность и расширенные возможности.

Основные возможности btop++:

🔹Интуитивно понятный интерфейс с поддержкой мыши и клавиатуры.
🔹Подробная информация о выбранных процессах.
🔹Фильтрация и сортировка процессов, включая древовидное отображение.
🔹Отправка сигналов процессам.
🔹Настраиваемые параметры через меню интерфейса.
🔹Автоматическое масштабирование графиков сетевой активности.
🔹Отображение активности и скорости ввода/вывода для дисков.
🔹Поддержка различных тем оформления.

Проект активно развивается, в последнюю версия v1.4.0 добавлена поддержка Intel GPU и NetBSD.

💻Для пользователей Windows доступна специальная версия — btop4win, которая предоставляет аналогичный функционал и поддерживает мониторинг GPU и температуры процессора при использовании версии с Open Hardware Monitor Report.

https://github.com/aristocratos/btop

#devops #девопс

Подпишись 👉 @i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
От установки до использования: пример развертывания сервиса шифрования данных в покое

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

Рассказываем, как команда VK Cloud создавала сервис шифрования данных в покое для своего клиента, что вошло в его архитектуру и как работать с решением.

https://habr.com/ru/companies/vk/articles/820617/

#devops #девопс

Подпишись 👉 @i_DevOps
👍1