Rattle: узнаём об ошибках в Docker раньше, чем сообщит клиент
Контейнеры падают, а вы узнаёте об этом постфактум? Ошибки в логах проходят мимо?
Собрал Rattle за три дня — простой self-hosted инструмент, который отправляет события из Docker в Telegram. Без лишних панелей, без сложной настройки — просто работает и сообщает о самом важном.
В статье рассказываю, зачем он мне понадобился, как устроен внутри и как можно быстро развернуть его у себя. Покажу Telegram Mini App, через которую удобно управлять уведомлениями.
https://habr.com/ru/articles/921582/
#devops #девопс
Подпишись 👉@i_DevOps
Контейнеры падают, а вы узнаёте об этом постфактум? Ошибки в логах проходят мимо?
Собрал Rattle за три дня — простой self-hosted инструмент, который отправляет события из Docker в Telegram. Без лишних панелей, без сложной настройки — просто работает и сообщает о самом важном.
В статье рассказываю, зачем он мне понадобился, как устроен внутри и как можно быстро развернуть его у себя. Покажу Telegram Mini App, через которую удобно управлять уведомлениями.
https://habr.com/ru/articles/921582/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Запуск микросервисов на базе пользовательских ресурсов Kubernetes
Не будем подробно представлять Kubernetes — он уже стал де-факто стандартом для масштабируемого запуска микросервисов и зарекомендовал себя как эффективное решение для реальной эксплуатации. K8s позволяет запускать различные типы рабочих процессов и предоставляет все необходимые компоненты для публикации сервисов, защиты приложений, настройки авторизации и многого другого.
В Kubernetes появилась возможность расширять функциональность с помощью пользовательских ресурсов (Custom Resources). С этим обновлением появилась возможность реализовывать собственные сервисы и контроллеры поверх Kubernetes, не решая инфраструктурные задачи. Разработка становится быстрее, запуск — возможен где угодно. Именно такие обещания стоят за этой архитектурой. В последние годы пользовательские ресурсы и контроллеры на их основе стали всё более популярными. Существенным сдвигом в этой области стало появление Crossplane — он позволил управлять ресурсами, находящимися за пределами кластера.
https://dev.to/mhmxs/unlock-your-kubernetes-to-run-custom-resource-based-microservices-in-any-scale-1fe4
#devops #девопс
Подпишись 👉@i_DevOps
Не будем подробно представлять Kubernetes — он уже стал де-факто стандартом для масштабируемого запуска микросервисов и зарекомендовал себя как эффективное решение для реальной эксплуатации. K8s позволяет запускать различные типы рабочих процессов и предоставляет все необходимые компоненты для публикации сервисов, защиты приложений, настройки авторизации и многого другого.
В Kubernetes появилась возможность расширять функциональность с помощью пользовательских ресурсов (Custom Resources). С этим обновлением появилась возможность реализовывать собственные сервисы и контроллеры поверх Kubernetes, не решая инфраструктурные задачи. Разработка становится быстрее, запуск — возможен где угодно. Именно такие обещания стоят за этой архитектурой. В последние годы пользовательские ресурсы и контроллеры на их основе стали всё более популярными. Существенным сдвигом в этой области стало появление Crossplane — он позволил управлять ресурсами, находящимися за пределами кластера.
https://dev.to/mhmxs/unlock-your-kubernetes-to-run-custom-resource-based-microservices-in-any-scale-1fe4
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Caddy и 100к доменов: автоматический SSL при одностраничном конфиге
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
#devops #девопс
Подпишись 👉@i_DevOps
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Cloudflare: снижение выгорания дежурных за счет более эффективного мониторинга оповещений
Многие, наверняка, сталкивались с мемом this is fine, или оригинальным комиксом. Так выглядит типичный день для многих дежурных сотрудников. Оперативные дежурные получают много оповещений, и работа со слишком большим количеством оповещений может привести к усталости от оповещений — чувству истощения, вызванному реагированием на оповещения, которые не имеют приоритета или четких действий.
Убедиться в том, что оповещения действенны и точны, а не являются ложными срабатываниями, крайне важно, потому что если дежурные сотрудники постоянно получают ложные уведомления, они могут перестать обращать на них внимание и игнорировать даже важные сообщения. С этой целью в Cloudflare многочисленные команды проводят периодический анализ оповещений, каждая команда разрабатывает свои собственные панели мониторинга для отчетности.
Как члены команды Observability, мы столкнулись с ситуациями, когда команды сообщали о неточностях в уведомлениях или случаях, когда уведомления не срабатывали, а также помогали бороться с создающими шум/флапающими (flapping) уведомлениями.
https://habr.com/ru/articles/828710/
original https://blog.cloudflare.com/alerts-observability/
#devops #девопс
Подпишись 👉@i_DevOps
Многие, наверняка, сталкивались с мемом this is fine, или оригинальным комиксом. Так выглядит типичный день для многих дежурных сотрудников. Оперативные дежурные получают много оповещений, и работа со слишком большим количеством оповещений может привести к усталости от оповещений — чувству истощения, вызванному реагированием на оповещения, которые не имеют приоритета или четких действий.
Убедиться в том, что оповещения действенны и точны, а не являются ложными срабатываниями, крайне важно, потому что если дежурные сотрудники постоянно получают ложные уведомления, они могут перестать обращать на них внимание и игнорировать даже важные сообщения. С этой целью в Cloudflare многочисленные команды проводят периодический анализ оповещений, каждая команда разрабатывает свои собственные панели мониторинга для отчетности.
Как члены команды Observability, мы столкнулись с ситуациями, когда команды сообщали о неточностях в уведомлениях или случаях, когда уведомления не срабатывали, а также помогали бороться с создающими шум/флапающими (flapping) уведомлениями.
https://habr.com/ru/articles/828710/
original https://blog.cloudflare.com/alerts-observability/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Большая база заметок о командах PowerShell на русском языке
Help, Object, Regex, DataType, Bit, Files, Credential, WinEvent, Firewall, Defender, WindowsUpdate, DISM, Scheduled, Network, Shutdown, LocalAccounts, SMB, ActiveDirectory, repadmin, dcdiag, ntdsutil, GPO, ServerManager, DNS, DHCP, DFS, StorageReplica, Package-Manager, PS2EXE, NSSM, Jobs, SMTP, Hyper-V, VMWare/PowerCLI, Exchange/EMShell, TrueNAS, Veeam, REST API, Telegram, Pode, Selenium, IE, COM, dotNET, Console API, Drawing, ObjectEvent, Sockets, Excel, CSV, XML, JSON, YAML, HTML, SQLite, MySQL, MSSQL, InfluxDB, Telegraf, Elasticsearch, CData, ODBC, PostgreSQL, WMI, Regedit, Performance, SNMP, Zabbix, pki, OpenSSL, OpenVPN, Route, NAT, WireGuard, VpnClient, Proxy, OpenSSH, WinRM, DSC, Git, Ansible.
https://github.com/Lifailon/PS-Commands
#devops #девопс
Подпишись 👉@i_DevOps
Help, Object, Regex, DataType, Bit, Files, Credential, WinEvent, Firewall, Defender, WindowsUpdate, DISM, Scheduled, Network, Shutdown, LocalAccounts, SMB, ActiveDirectory, repadmin, dcdiag, ntdsutil, GPO, ServerManager, DNS, DHCP, DFS, StorageReplica, Package-Manager, PS2EXE, NSSM, Jobs, SMTP, Hyper-V, VMWare/PowerCLI, Exchange/EMShell, TrueNAS, Veeam, REST API, Telegram, Pode, Selenium, IE, COM, dotNET, Console API, Drawing, ObjectEvent, Sockets, Excel, CSV, XML, JSON, YAML, HTML, SQLite, MySQL, MSSQL, InfluxDB, Telegraf, Elasticsearch, CData, ODBC, PostgreSQL, WMI, Regedit, Performance, SNMP, Zabbix, pki, OpenSSL, OpenVPN, Route, NAT, WireGuard, VpnClient, Proxy, OpenSSH, WinRM, DSC, Git, Ansible.
https://github.com/Lifailon/PS-Commands
#devops #девопс
Подпишись 👉@i_DevOps
👍5
System Design 101
О сложных системах простыми словами.
В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.
https://habr.com/ru/articles/770564/
original https://github.com/ByteByteGoHq/system-design-101
#devops #девопс
Подпишись 👉@i_DevOps
О сложных системах простыми словами.
В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.
https://habr.com/ru/articles/770564/
original https://github.com/ByteByteGoHq/system-design-101
#devops #девопс
Подпишись 👉@i_DevOps
🔥3👍2
🍔DevOps как бургер (DaaB)
Дорожная карта DevOps-инженера должна выглядеть так:
1. Изучите язык программирования (Python, Go и т.д.) для написания скриптов автоматизации.
2. Освойте одну операционную систему (Linux) и её командную строку (CLI).
3. Освойте управление серверами, веб-серверами, включая прокси, такие как Nginx или IIS.
4. Изучите контейнеризацию с использованием Docker.
5. Ознакомьтесь с оркестрацией контейнеров с помощью Kubernetes.
6. Откройте для себя инфраструктуру как код (IaC),
используя такие инструменты, как Terraform, Ansible, Chef или Puppet, для подготовки и управления конфигурациями.
7. Поймите сетевые протоколы: DNS, IP-адреса, порты и модель OSI.
8. Примите практики непрерывной интеграции/непрерывного развертывания (CI/CD) для автоматизации этапов доставки и развертывания приложений.
9. Освойте методы мониторинга для контроля приложений, сервисов и инфраструктуры в реальном времени.
10. Получите практический опыт работы с облачными провайдерами, такими как AWS и Azure.
#devops #девопс
Подпишись 👉@i_DevOps
Дорожная карта DevOps-инженера должна выглядеть так:
1. Изучите язык программирования (Python, Go и т.д.) для написания скриптов автоматизации.
2. Освойте одну операционную систему (Linux) и её командную строку (CLI).
3. Освойте управление серверами, веб-серверами, включая прокси, такие как Nginx или IIS.
4. Изучите контейнеризацию с использованием Docker.
5. Ознакомьтесь с оркестрацией контейнеров с помощью Kubernetes.
6. Откройте для себя инфраструктуру как код (IaC),
используя такие инструменты, как Terraform, Ansible, Chef или Puppet, для подготовки и управления конфигурациями.
7. Поймите сетевые протоколы: DNS, IP-адреса, порты и модель OSI.
8. Примите практики непрерывной интеграции/непрерывного развертывания (CI/CD) для автоматизации этапов доставки и развертывания приложений.
9. Освойте методы мониторинга для контроля приложений, сервисов и инфраструктуры в реальном времени.
10. Получите практический опыт работы с облачными провайдерами, такими как AWS и Azure.
#devops #девопс
Подпишись 👉@i_DevOps
👍6❤3😁3
Как построить эффективную стратегию мониторинга с высокой наблюдаемостью
Давайте сразу определимся: самым важным в разработке сейчас является производительность и надежность вашей инфраструктуры, потому что если ваш проект лагает или работает через раз, вас не спасут никакие фичи. Клиент просто уйдет к конкурентам.
Исходя из постулата выше, роль мониторинга систем в последние годы резко возросла. Наши системы перешли от технологических новшеств к статусу критической инфраструктуры, без которой повседневная жизнедеятельность просто невозможна. Однако существует зияющая пропасть между формальным мониторингом и мониторингом, который будет соответствовать сложности и глубине современных систем.
https://habr.com/ru/companies/itsumma/articles/814195/
#devops #девопс
Подпишись 👉@i_DevOps
Давайте сразу определимся: самым важным в разработке сейчас является производительность и надежность вашей инфраструктуры, потому что если ваш проект лагает или работает через раз, вас не спасут никакие фичи. Клиент просто уйдет к конкурентам.
Исходя из постулата выше, роль мониторинга систем в последние годы резко возросла. Наши системы перешли от технологических новшеств к статусу критической инфраструктуры, без которой повседневная жизнедеятельность просто невозможна. Однако существует зияющая пропасть между формальным мониторингом и мониторингом, который будет соответствовать сложности и глубине современных систем.
https://habr.com/ru/companies/itsumma/articles/814195/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Таск-раннер / более простая альтернатива Make, написанная на Go
🔘 Удобная установка
Просто скачайте один исполняемый файл, добавьте его в
🔘 Доступно для CI/CD
Добавьте эту простую команду для установки в ваш скрипт CI/CD, и вы сможете использовать Task как часть вашего конвейера CI/CD.
🔘 Полностью кроссплатформенное решение
В то время как большинство инструментов для сборки хорошо работают только на Linux или macOS, Task также поддерживает Windows благодаря этому интерпретатору командной оболочки для Go.
🔘 Отлично подходит для генерации кода
Вы можете легко предотвратить выполнение задачи, если определённый набор файлов не изменился с момента последнего запуска (на основе временной метки или содержимого).
https://github.com/go-task/task
#devops #девопс
Подпишись 👉@i_DevOps
Просто скачайте один исполняемый файл, добавьте его в
$PATH, и готово! Также вы можете установить его с помощью Homebrew, Snapcraft или Scoop, если хотите.Добавьте эту простую команду для установки в ваш скрипт CI/CD, и вы сможете использовать Task как часть вашего конвейера CI/CD.
В то время как большинство инструментов для сборки хорошо работают только на Linux или macOS, Task также поддерживает Windows благодаря этому интерпретатору командной оболочки для Go.
Вы можете легко предотвратить выполнение задачи, если определённый набор файлов не изменился с момента последнего запуска (на основе временной метки или содержимого).
https://github.com/go-task/task
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
DevOps практикум
1 - Базовая автоматизация с использованием ANSIBLE
2 - Создаем роли ANSIBLE
3 - Учимся хранить роли Ansible на GitLab
4 - Знакомимся с переменными в ANSIBLE
5 - Знакомимся с магическими переменными в ANSIBLE
6 - Избавляемся в ANSIBLE от использования ROOT (отладка кибербезопасности)
7 - Централизованное развертывание пакетов с ANSIBLE
источник
#devops #девопс
Подпишись 👉@i_DevOps
1 - Базовая автоматизация с использованием ANSIBLE
2 - Создаем роли ANSIBLE
3 - Учимся хранить роли Ansible на GitLab
4 - Знакомимся с переменными в ANSIBLE
5 - Знакомимся с магическими переменными в ANSIBLE
6 - Избавляемся в ANSIBLE от использования ROOT (отладка кибербезопасности)
7 - Централизованное развертывание пакетов с ANSIBLE
источник
#devops #девопс
Подпишись 👉@i_DevOps
👍11🔥2
🚀 Шпаргалка по Docker 🐳
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из
📍 Посмотреть локальные образы:
📍 Удалить образ:
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
📍 Остановить контейнер:
📍 Принудительно завершить контейнер:
📍 Список запущенных контейнеров:
📍 Удалить все контейнеры:
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
📍 Изменить тег у локального образа:
📍 Запушить образ в реестр:
📌 Управление Docker (Management)
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#devops #девопс
Подпишись 👉@i_DevOps
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из
Dockerfile и присвоить тег:
docker build -t myimage:1.0 .
📍 Посмотреть локальные образы:
docker image ls
📍 Удалить образ:
docker image rm alpine:3.4
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
docker container run --name web -p 5000:80 alpine:3.9
📍 Остановить контейнер:
docker container stop web
📍 Принудительно завершить контейнер:
docker container kill web
📍 Список запущенных контейнеров:
docker container ls
📍 Удалить все контейнеры:
docker container rm -f $(docker ps -aq)
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
docker pull myimage:1.0
📍 Изменить тег у локального образа:
docker tag myimage:1.0 myrepo/myimage:2.0
📍 Запушить образ в реестр:
docker push myrepo/myimage:2.0
📌 Управление Docker (Management)
⚙️
docker app – Управление приложениями ⚙️
docker image – Управление образами ⚙️
docker container – Управление контейнерами ⚙️
docker network – Управление сетями ⚙️
docker volume – Управление хранилищами ⚙️
docker stack – Управление Docker Stack ⚙️
docker swarm – Управление кластером Swarm ⚙️
docker system – Управление всей системой 📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#devops #девопс
Подпишись 👉@i_DevOps
❤5👍4🔥3
Вопрос, который часто задают в начале собеса
Представлен вывод команды top. Что означает каждая запись в выводе?
top — 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem
top — утилита
10:44:36 — время системы
up — сколько система работает с момента последнего запуска
7 user — количество авторизованных юзеров в системе
load average: 0.00, 0.02, 0.05 — параметр средней нагрузки на систему за период времени 1 минута, 5 минут, 15 минут
156 total — всего процессов в системе
1 running — количество процессов в работе
155 sleeping — ожидание процесса или сигнала
0 stopped — количество приостановленных процессов сигналом STOP или выполнение трассировки
0 zombie — количество зомби-процессов, которые завершили своё выполнение, но присутствующие в системе, чтобы дать родительскому процессу считать свой код завершения.
#devops #девопс
Подпишись 👉@i_DevOps
Представлен вывод команды top. Что означает каждая запись в выводе?
top — 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem
#devops #девопс
Подпишись 👉@i_DevOps
👍10❤2💩2
GCP Provider for Secrets Store CSI Driver
Этот репозиторий содержит провайдер Google Cloud Platform (GCP) для Secrets Store CSI Driver. Он позволяет контейнерам в Kubernetes подмонтировать секреты из GCP Secret Manager как тома.
https://github.com/GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp
#devops #девопс
Подпишись 👉@i_DevOps
Этот репозиторий содержит провайдер Google Cloud Platform (GCP) для Secrets Store CSI Driver. Он позволяет контейнерам в Kubernetes подмонтировать секреты из GCP Secret Manager как тома.
https://github.com/GoogleCloudPlatform/secrets-store-csi-driver-provider-gcp
#devops #девопс
Подпишись 👉@i_DevOps
👍1