Перестаньте переживать об allowPrivilegeEscalation
Многие инженеры теряются в нюансах настройки allowPrivilegeEscalation в Kubernetes. Автор статьи простым языком объясняет, зачем нужен этот флаг, как он работает и почему его наличие или отсутствие не критично для большинства сценариев. Если хотите понять, как устроена безопасность контейнеров, — эта статья для вас.
https://habr.com/ru/companies/flant/articles/923432/
original https://blog.christophetd.fr/stop-worrying-about-allowprivilegeescalation/
#devops #девопс
Подпишись 👉@i_DevOps
Многие инженеры теряются в нюансах настройки allowPrivilegeEscalation в Kubernetes. Автор статьи простым языком объясняет, зачем нужен этот флаг, как он работает и почему его наличие или отсутствие не критично для большинства сценариев. Если хотите понять, как устроена безопасность контейнеров, — эта статья для вас.
https://habr.com/ru/companies/flant/articles/923432/
original https://blog.christophetd.fr/stop-worrying-about-allowprivilegeescalation/
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Armadа — это open-source система для управления заданиями (job scheduling) в Kubernetes кластерах. Она ориентирована на высокопроизводительные вычисления (HPC) и работу с большими кластерами.
🔹 Основные идеи:
- Очереди: задания распределяются через очереди с гибкими правилами приоритизации.
- Масштабируемость: поддержка тысяч узлов и миллионов заданий.
- Интеграция с Kubernetes: Armada выступает как надстройка над существующими кластерами.
- Справедливое распределение ресурсов: балансировка между пользователями и проектами.
- gRPC API: для отправки и управления заданиями.
Архитектура включает Armada server (центральный сервис с API и логикой очередей) и executor (компонент, работающий в Kubernetes-кластере и запускающий задания). Таким образом, можно подключать несколько кластеров к одному серверу Armada.
Использование Armada позволяет запускать распределённые вычисления, ML-задачи и batch-ворклоады в больших инфраструктурах, где стандартных возможностей Kubernetes недостаточно.
https://github.com/armadaproject/armada
#devops #девопс
Подпишись 👉@i_DevOps
🔹 Основные идеи:
- Очереди: задания распределяются через очереди с гибкими правилами приоритизации.
- Масштабируемость: поддержка тысяч узлов и миллионов заданий.
- Интеграция с Kubernetes: Armada выступает как надстройка над существующими кластерами.
- Справедливое распределение ресурсов: балансировка между пользователями и проектами.
- gRPC API: для отправки и управления заданиями.
Архитектура включает Armada server (центральный сервис с API и логикой очередей) и executor (компонент, работающий в Kubernetes-кластере и запускающий задания). Таким образом, можно подключать несколько кластеров к одному серверу Armada.
Использование Armada позволяет запускать распределённые вычисления, ML-задачи и batch-ворклоады в больших инфраструктурах, где стандартных возможностей Kubernetes недостаточно.
https://github.com/armadaproject/armada
#devops #девопс
Подпишись 👉@i_DevOps
👍4
🚀 Автоматизация деплоя приложений без боли и хаоса
Хотите, чтобы обновления в вашем приложении попадали в кластер автоматически, а конфигурации всегда были согласованы?
Приходите на вебинар по GitOps и Argo CD.
Разберём:
🔹 Что такое GitOps и как ArgoCD работает как «оператор доставки»
🔹 Как пошагово настроить деплой из Git-репозитория в Kubernetes
🔹 Как создать Application CRD и отслеживать процесс в веб-интерфейсе
Кому будет полезно: DevOps, GitOps-инженерам, администраторам, разработчикам, SRE.
📈 После вебинара вы сможете:
Разворачивать Argo CD в Kubernetes
Автоматизировать доставку из Git
Управлять мультикластерными средами и контролировать дрейф конфигураций
💡 Меньше ручных действий — больше стабильности!
Регистрируйтесь сейчас и получите скидку на обучение: https://vk.cc/cOTKSo
Дата: 26 августа в 20:00
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Хотите, чтобы обновления в вашем приложении попадали в кластер автоматически, а конфигурации всегда были согласованы?
Приходите на вебинар по GitOps и Argo CD.
Разберём:
🔹 Что такое GitOps и как ArgoCD работает как «оператор доставки»
🔹 Как пошагово настроить деплой из Git-репозитория в Kubernetes
🔹 Как создать Application CRD и отслеживать процесс в веб-интерфейсе
Кому будет полезно: DevOps, GitOps-инженерам, администраторам, разработчикам, SRE.
📈 После вебинара вы сможете:
Разворачивать Argo CD в Kubernetes
Автоматизировать доставку из Git
Управлять мультикластерными средами и контролировать дрейф конфигураций
💡 Меньше ручных действий — больше стабильности!
Регистрируйтесь сейчас и получите скидку на обучение: https://vk.cc/cOTKSo
Дата: 26 августа в 20:00
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤1👍1
Рабочие процессы Арго - паттерны, проверенные на продакшене
Argo Workflows представляет собой отличную платформу для автоматизации инфраструктуры и заменил Jenkins в качестве основного инструмента для выполнения запланированных или управляемых событиями задач автоматизации.
За время работы с Argo Workflows мне приходилось убивать кластеры, ломать рабочие процессы и вообще вносить беспорядок в работу. Я также создал множество рабочих процессов, которые нуждались в рефакторинге, поскольку их стало сложно поддерживать.
Цель этой статьи - поделиться некоторыми уроками, которые я извлек, и некоторыми паттернами, которые я разработал, чтобы помочь вам избежать тех же ошибок, которые совершил я.
https://hodgkins.io/argo-workflow-proven-patterns-from-production
#devops #девопс
Подпишись 👉@i_DevOps
Argo Workflows представляет собой отличную платформу для автоматизации инфраструктуры и заменил Jenkins в качестве основного инструмента для выполнения запланированных или управляемых событиями задач автоматизации.
За время работы с Argo Workflows мне приходилось убивать кластеры, ломать рабочие процессы и вообще вносить беспорядок в работу. Я также создал множество рабочих процессов, которые нуждались в рефакторинге, поскольку их стало сложно поддерживать.
Цель этой статьи - поделиться некоторыми уроками, которые я извлек, и некоторыми паттернами, которые я разработал, чтобы помочь вам избежать тех же ошибок, которые совершил я.
https://hodgkins.io/argo-workflow-proven-patterns-from-production
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Вопросы с собеседования
df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?
Когда файл удален т. к. файловый дескриптор «держит» его.
Ищем файл через:
При удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.
Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
#devops #девопс
Подпишись 👉@i_DevOps
df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?
Когда файл удален т. к. файловый дескриптор «держит» его.
Ищем файл через:
lsof -a +L1 | grep var | grep httpdПри удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.
Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
#devops #девопс
Подпишись 👉@i_DevOps
👍8
«Apache Kafka» от OTUS — это повышение квалификации для тех, кто хочет обрабатывать потоки данных быстро и без сбоев.
Живые лекции от инженеров-практиков, актуальные технологии Kafka Streams, Spring, ZIO и ksqlDB, много практики и востребованный диплом.
Вы научитесь разворачивать Kafka, интегрировать технологии с другими сервисами и строить систему мониторинга.
Проверьте, готовы ли вы к погружению в мир Kafka. Пройдите короткий вступительный тест и получите скидку на обучение: https://vk.cc/cOUiq4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Живые лекции от инженеров-практиков, актуальные технологии Kafka Streams, Spring, ZIO и ksqlDB, много практики и востребованный диплом.
Вы научитесь разворачивать Kafka, интегрировать технологии с другими сервисами и строить систему мониторинга.
Проверьте, готовы ли вы к погружению в мир Kafka. Пройдите короткий вступительный тест и получите скидку на обучение: https://vk.cc/cOUiq4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍1
Что такое Docker? В чем отличие контейнера от образа?
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".
Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".
#devops #девопс
Подпишись 👉@i_DevOps
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".
Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Puppet в Avito: 15 000 серверов, CI/CD и уроки из продакшна
Привет! Меня зовут Андрей Колесников, я тимлид одной из DevOps-команд Авито. Уже 10 лет я работаю с высоконагруженными и бизнес-критичными системами. В этой статье рассказываю, как мы управляем нашей инфраструктурой с помощью Puppet, и объясняю, почему мы продолжаем его использовать.
Всё, о чём я рассказываю, — это результат работы сразу нескольких инфраструктурных команд, и я благодарен коллегам за помощь в подготовке статьи. А ещё спасибо моей команде — пока они держат инфраструктуру в порядке, я могу рассказывать об этом вам.
https://habr.com/ru/companies/avito/articles/939080/
#devops #девопс
Подпишись 👉@i_DevOps
Привет! Меня зовут Андрей Колесников, я тимлид одной из DevOps-команд Авито. Уже 10 лет я работаю с высоконагруженными и бизнес-критичными системами. В этой статье рассказываю, как мы управляем нашей инфраструктурой с помощью Puppet, и объясняю, почему мы продолжаем его использовать.
Это не рассказ о «фичах ради фич» и не реклама инструмента. Я не буду уговаривать всех срочно перейти на Puppet. Вместо этого я поделюсь нашим практическим опытом: как мы используем Puppet в Avito, какие подходы и практики применяем, как масштабируем систему и какие грабли собрали по пути.
Всё, о чём я рассказываю, — это результат работы сразу нескольких инфраструктурных команд, и я благодарен коллегам за помощь в подготовке статьи. А ещё спасибо моей команде — пока они держат инфраструктуру в порядке, я могу рассказывать об этом вам.
https://habr.com/ru/companies/avito/articles/939080/
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Что изучать после основ Python?
В новом бесплатном курсе от Selectel собрали материалы для решения реальных рабочих задач.
Вы научитесь:
▪️работать с базами данных,
▪️создавать программы с графическим интерфейсом,
▪️использовать Python для парсинга.
Смотрите программу и регистрируйтесь: https://slc.tl/6vydm
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqw4yYHg
В новом бесплатном курсе от Selectel собрали материалы для решения реальных рабочих задач.
Вы научитесь:
▪️работать с базами данных,
▪️создавать программы с графическим интерфейсом,
▪️использовать Python для парсинга.
Смотрите программу и регистрируйтесь: https://slc.tl/6vydm
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqw4yYHg
❤2👍2
Автоматизируй всё с Ansible!
Ansible — это мощный инструмент, который упрощает управление конфигурацией, развертывание приложений и оркестрацию задач. Статья рассказывает о лучших практиках использования Ansible и о том, как автоматизировать повседневные задачи, экономя время и силы.
https://agralrst.medium.com/automate-everything-with-ansible-aac7eb4d5cf9
#devops #девопс
Подпишись 👉@i_DevOps
Ansible — это мощный инструмент, который упрощает управление конфигурацией, развертывание приложений и оркестрацию задач. Статья рассказывает о лучших практиках использования Ansible и о том, как автоматизировать повседневные задачи, экономя время и силы.
https://agralrst.medium.com/automate-everything-with-ansible-aac7eb4d5cf9
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Встречаемся в четверг, 28 августа, в 19:00 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн.
Эксперты из ЮMoney расскажут, как работают над инфраструктурой:
Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа «Орки тут»
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡6👍5❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🐾 Tabby
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
#devops #девопс
Подпишись 👉@i_DevOps
Это самостоятельный помощник по написанию кода с искусственным интеллектом, представляющий собой альтернативу GitHub Copilot с открытым исходным кодом и локальным ресурсом. Он может похвастаться несколькими ключевыми особенностями:
Самодостаточность, отсутствие необходимости в СУБД или облачном сервисе.
Интерфейс OpenAPI, легко интегрируемый с существующей инфраструктурой (например, Cloud IDE).
Поддержка графических процессоров потребительского класса.
https://github.com/TabbyML/tabby
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Больше не нужен рестарт: как Kubernetes позволяет менять ресурсы контейнеров «на лету»
Теперь ресурсы контейнеров в Kubernetes можно менять «на лету» — без перезапуска и простоев. В статье рассказываем, как работает in-place resize, где эта функция реально спасает приложения от перегрузки и какие ограничения стоит учитывать на практике.
https://habr.com/ru/companies/flant/articles/936724/
#devops #девопс
Подпишись 👉@i_DevOps
Теперь ресурсы контейнеров в Kubernetes можно менять «на лету» — без перезапуска и простоев. В статье рассказываем, как работает in-place resize, где эта функция реально спасает приложения от перегрузки и какие ограничения стоит учитывать на практике.
https://habr.com/ru/companies/flant/articles/936724/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
🚀 Твой сервер пыхтит, как паровоз в гору? А пользователи бегут быстрее, чем TTFB?
Хватит гадать, где тормозит система! На курсе «Оптимизация веб-приложений» научим:
→ Ловить баги до выкатки,
→ Ускорять код так, чтобы Chrome не плакал,
→ Доказывать бизнесу, что 5-секундная загрузка — это не фича, а позор! 😉
Пройди тест и узнай, справишься ли с нашим челленджем: https://vk.cc/cOWotr
(Спойлер: если считаешь htop магическим кристаллом — тебе точно к нам!)
🔥 Топ-3 из программы, ради которых стоит записаться:
- WebPageTest — как находить тормоза, которые прячутся за «У меня локально всё летает!».
- Мониторинг в Linux — читаешь top как стихи? Научим видеть проблемы до kernel panic.
- Оптимизация Nginx/PostgreSQL — чтобы БД не падала под нагрузкой, как джуниор на митинге.
🎁 Успевай в группу августа со скидкой 15% по промокоду: OptWebApp_5, 5% (суммируется со скидкой на сайте), по 29.08.
P.S. «Как понять, что ты готов к курсу?»
— Если после фразы «Надо просто добавить кэш» у тебя дергается глаз...
Приходи — научим чинить проблемы, а не затыкать их костылями! 💻⚡️
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Хватит гадать, где тормозит система! На курсе «Оптимизация веб-приложений» научим:
→ Ловить баги до выкатки,
→ Ускорять код так, чтобы Chrome не плакал,
→ Доказывать бизнесу, что 5-секундная загрузка — это не фича, а позор! 😉
Пройди тест и узнай, справишься ли с нашим челленджем: https://vk.cc/cOWotr
(Спойлер: если считаешь htop магическим кристаллом — тебе точно к нам!)
🔥 Топ-3 из программы, ради которых стоит записаться:
- WebPageTest — как находить тормоза, которые прячутся за «У меня локально всё летает!».
- Мониторинг в Linux — читаешь top как стихи? Научим видеть проблемы до kernel panic.
- Оптимизация Nginx/PostgreSQL — чтобы БД не падала под нагрузкой, как джуниор на митинге.
🎁 Успевай в группу августа со скидкой 15% по промокоду: OptWebApp_5, 5% (суммируется со скидкой на сайте), по 29.08.
P.S. «Как понять, что ты готов к курсу?»
— Если после фразы «Надо просто добавить кэш» у тебя дергается глаз...
Приходи — научим чинить проблемы, а не затыкать их костылями! 💻⚡️
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤2👍1
Что происходит, когда вы вводите URL в браузер?
В процесс вовлечены: браузер, операционная система вашего компьютера, интернет-провайдер, сервер, где размещён сайт, и сервисы, работающие на этом сервере.
1. Вы вводите
Здесь
2. Браузер ищет IP-адрес домена
После того как вы ввели URL и нажали Enter, браузеру нужно определить, к какому серверу в Интернете подключиться. Для этого он ищет IP-адрес по доменному имени с помощью DNS-запроса. Сначала проверяется кэш, если записи там нет — запрос уходит к DNS-серверам (от корневого до серверов 3-го уровня).
3. Браузер устанавливает TCP-соединение с сервером
Протокол TCP используется для маршрутизации пакетов: от запроса браузера — через роутер, провайдера, интернет-обменники и сети — до сервера с нужным IP-адресом. Чтобы ускорить доставку, многие сайты используют CDN, кэширующие контент ближе к пользователю.
4. Браузер отправляет HTTP-запрос на сервер
После установления соединения браузер начинает взаимодействовать по протоколу HTTP(s). Он отправляет HTTP-запрос, который состоит из стартовой строки, заголовков и тела. По этим данным сервер определяет, что именно хочет клиент.
5. Сервер обрабатывает запрос и отправляет ответ
Сервер принимает запрос, анализирует строку, заголовки и тело. Для
6. Браузер рендерит контент
Получив ответ, браузер смотрит на заголовки, чтобы понять, как обработать ресурс. Например,
#devops #девопс
Подпишись 👉@i_DevOps
В процесс вовлечены: браузер, операционная система вашего компьютера, интернет-провайдер, сервер, где размещён сайт, и сервисы, работающие на этом сервере.
1. Вы вводите
https://somewebsite.com/page в браузере и нажимаете EnterЗдесь
https:// — это схема, указывающая браузеру подключаться к серверу с использованием TLS. somewebsite.com — доменное имя сайта, которое указывает на конкретный IP-адрес сервера. А /page — путь к нужному ресурсу.2. Браузер ищет IP-адрес домена
После того как вы ввели URL и нажали Enter, браузеру нужно определить, к какому серверу в Интернете подключиться. Для этого он ищет IP-адрес по доменному имени с помощью DNS-запроса. Сначала проверяется кэш, если записи там нет — запрос уходит к DNS-серверам (от корневого до серверов 3-го уровня).
3. Браузер устанавливает TCP-соединение с сервером
Протокол TCP используется для маршрутизации пакетов: от запроса браузера — через роутер, провайдера, интернет-обменники и сети — до сервера с нужным IP-адресом. Чтобы ускорить доставку, многие сайты используют CDN, кэширующие контент ближе к пользователю.
4. Браузер отправляет HTTP-запрос на сервер
После установления соединения браузер начинает взаимодействовать по протоколу HTTP(s). Он отправляет HTTP-запрос, который состоит из стартовой строки, заголовков и тела. По этим данным сервер определяет, что именно хочет клиент.
5. Сервер обрабатывает запрос и отправляет ответ
Сервер принимает запрос, анализирует строку, заголовки и тело. Для
GET /page/ HTTP/1.1 сервер находит соответствующий ресурс, формирует ответ и возвращает его клиенту вместе с HTTP-статусом.6. Браузер рендерит контент
Получив ответ, браузер смотрит на заголовки, чтобы понять, как обработать ресурс. Например,
Content-Type указывает, что в теле ответа находится HTML-страница, которую и нужно отрисовать.#devops #девопс
Подпишись 👉@i_DevOps
👍6
Forwarded from Bash Советы
🗂 Мониторинг размера логов
Иногда логи на сервере начинают разрастаться и быстро занимают место. Чтобы контролировать их размер, можно использовать небольшой bash-скрипт:
📌 Скрипт ищет все
🔧 Можно добавить в
👉@bash_srv
Иногда логи на сервере начинают разрастаться и быстро занимают место. Чтобы контролировать их размер, можно использовать небольшой bash-скрипт:
#!/bin/bash
# автор: https://news.1rj.ru/str/bash_srv
# каталог с логами
LOG_DIR="/var/log"
# максимальный размер файла (в мегабайтах)
MAX_SIZE=100
find "$LOG_DIR" -type f -name "*.log" | while read -r log; do
size=$(du -m "$log" | cut -f1)
if (( size > MAX_SIZE )); then
echo "⚠️ Лог $log превышает $MAX_SIZE MB (текущий размер: ${size}MB)"
fi
done
📌 Скрипт ищет все
.log - файлы в каталоге /var/log и проверяет их размер. Если размер превышает указанный порог (например, 100MB), выводит предупреждение.🔧 Можно добавить в
cron, чтобы проверка выполнялась регулярно.👉@bash_srv
🤝1