Что такое пейджинг по требованию?
Пейджинг по требованию — это метод управления памятью, при котором страницы загружаются в физическую память только при доступе к ним процесса. Он оптимизирует использование памяти, загружая страницы по требованию, что снижает задержку запуска и накладные расходы на пространство. Однако он вносит некоторую задержку при первом доступе к страницам. В целом, это экономически эффективный подход к управлению ресурсами памяти в операционных системах.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Пейджинг по требованию — это метод управления памятью, при котором страницы загружаются в физическую память только при доступе к ним процесса. Он оптимизирует использование памяти, загружая страницы по требованию, что снижает задержку запуска и накладные расходы на пространство. Однако он вносит некоторую задержку при первом доступе к страницам. В целом, это экономически эффективный подход к управлению ресурсами памяти в операционных системах.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
ContainerSSH
SSH-сервер, который запускает контейнеры в Kubernetes и Docker
https://github.com/ContainerSSH/ContainerSSH
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
SSH-сервер, который запускает контейнеры в Kubernetes и Docker
https://github.com/ContainerSSH/ContainerSSH
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Buildg - Интерактивный отладчик для Dockerfile, с поддержкой IDE (VS Code, Emacs, Neovim и т.д.).
Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless
https://github.com/ktock/buildg
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless
https://github.com/ktock/buildg
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Работа с правами доступа файлов и директорий в Linux
Назначить пользователя vasya владельцем файла file
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
Назначить владельца и группу для файла /file
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
Удалить все права на директорию /directory для группы и остальных
Изменить группу-владельца для file на new_group
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
Удалить STIKY-бит с директории /home/public
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
Удалить SUID-бит с файла /bin/binary_file
Установить SGID-бит на директории /home/public
Удалить SGID-бит с директории /home/public
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
Листинг текущего каталога с правами доступа
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
# chown vasya /fileНазначить пользователя vasya владельцем файла file
# chown -R vasya directoryРекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
# chown vasya:group /fileНазначить владельца и группу для файла /file
# chmod ugo+rwx /directoryУстановить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
# chmod go-rwx /directoryУдалить все права на директорию /directory для группы и остальных
# chgrp new_group fileИзменить группу-владельца для file на new_group
# chmod o+t /home/publicУстановить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
# chmod o-t /home/publicУдалить STIKY-бит с директории /home/public
# chmod u+s /bin/binary_fileУстановить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
# chmod u-s /bin/binary_fileУдалить SUID-бит с файла /bin/binary_file
# chmod g+s /home/publicУстановить SGID-бит на директории /home/public
# chmod g-s /home/publicУдалить SGID-бит с директории /home/public
# find / -perm -u+sПоиск всех файлов с установленным SUID битом, начиная с корня файловой системы
# ls -lhЛистинг текущего каталога с правами доступа
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
📈Picosnitch - мониторинг сетевого трафика на каждый исполняемый файл с помощью BPF
Получение уведомлений при подключении к сети новой программы или при ее изменении
Контролирует пропускную способность сети, разбивая трафик по исполняемым файлам, хэшам, родителям, доменам, портам или пользователям с течением времени
При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal
Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах
Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации
Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения
Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно
https://github.com/elesiuta/picosnitch
https://elesiuta.github.io/picosnitch/
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Получение уведомлений при подключении к сети новой программы или при ее изменении
Контролирует пропускную способность сети, разбивая трафик по исполняемым файлам, хэшам, родителям, доменам, портам или пользователям с течением времени
При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal
Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах
Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации
Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения
Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно
https://github.com/elesiuta/picosnitch
https://elesiuta.github.io/picosnitch/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вопросы с собеседования
df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?
Когда файл удален т. к. файловый дескриптор «держит» его.
Ищем файл через:
При удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.
Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?
Когда файл удален т. к. файловый дескриптор «держит» его.
Ищем файл через:
lsof -a +L1 | grep var | grep httpdПри удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.
Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Что такое Docker? В чем отличие контейнера от образа?
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".
Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".
Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Объясните концепцию Ingress в Kubernetes
Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Объясните, что такое диспетчер облачного контроллера.
Cloud Controller Manager позволяет связать кластер с API облачного провайдера. Cloud-controller manager позволяет поставщикам облачных услуг развиваться независимо от основного кода Kubernetes, абстрагируя специфичный код. Это позволяет поставщикам облачных услуг разрабатывать и поддерживать свой код независимо от основного кода Kubernetes.
Используя CCM, облачные операции, такие как создание и управление балансировщиками нагрузки, томами блочного хранения и облачными сетевыми ресурсами, могут выполняться бесперебойно в кластере Kubernetes. Это позволяет пользователям использовать преимущества как Kubernetes, так и облачного провайдера, сводя к минимуму потенциальные проблемы совместимости.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Cloud Controller Manager позволяет связать кластер с API облачного провайдера. Cloud-controller manager позволяет поставщикам облачных услуг развиваться независимо от основного кода Kubernetes, абстрагируя специфичный код. Это позволяет поставщикам облачных услуг разрабатывать и поддерживать свой код независимо от основного кода Kubernetes.
Используя CCM, облачные операции, такие как создание и управление балансировщиками нагрузки, томами блочного хранения и облачными сетевыми ресурсами, могут выполняться бесперебойно в кластере Kubernetes. Это позволяет пользователям использовать преимущества как Kubernetes, так и облачного провайдера, сводя к минимуму потенциальные проблемы совместимости.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 Kubernetes операторы: зачем они нужны?
Если ты когда-нибудь настраивал stateful сервисы в Kubernetes (Postgres, Kafka, Elasticsearch и т.д.), то знаешь: манифесты Deployment/StatefulSet сами по себе редко закрывают все потребности. Нужен кто-то, кто будет следить за жизненным циклом приложения: бэкапы, апгрейды, реплики, восстановление.
Вот тут и появляются Operators.
Оператор — это контроллер, который расширяет Kubernetes API и умеет управлять сложными приложениями как «живым организмом». По сути, он кодирует опыт SRE/админа внутри кластера.
Как это работает?
1. Создаётся CustomResourceDefinition (CRD) - новый объект в Kubernetes (например,
2. Пишется контроллер, который следит за этим объектом и выполняет нужные действия (инициализация БД, настройка реплик, обновления).
3. Ты как DevOps просто применяешь YAML с описанием кластера, а оператор сам делает всю грязную работу.
Примеры операторов
Zalando Postgres Operator — управляет кластерами PostgreSQL.
Strimzi - Kafka в Kubernetes.
Prometheus Operator - автоматизация деплоя Prometheus + Alertmanager.
Почему это круто?
-Снижается рутина → не нужно писать километры bash-скриптов.
-Упрощается управление → вместо «кучи манифестов» ты работаешь с одним объектом.
-Автоматизация best practices → разработчики операторов уже заложили правильные сценарии.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Если ты когда-нибудь настраивал stateful сервисы в Kubernetes (Postgres, Kafka, Elasticsearch и т.д.), то знаешь: манифесты Deployment/StatefulSet сами по себе редко закрывают все потребности. Нужен кто-то, кто будет следить за жизненным циклом приложения: бэкапы, апгрейды, реплики, восстановление.
Вот тут и появляются Operators.
Оператор — это контроллер, который расширяет Kubernetes API и умеет управлять сложными приложениями как «живым организмом». По сути, он кодирует опыт SRE/админа внутри кластера.
Как это работает?
1. Создаётся CustomResourceDefinition (CRD) - новый объект в Kubernetes (например,
PostgresCluster).2. Пишется контроллер, который следит за этим объектом и выполняет нужные действия (инициализация БД, настройка реплик, обновления).
3. Ты как DevOps просто применяешь YAML с описанием кластера, а оператор сам делает всю грязную работу.
Примеры операторов
Zalando Postgres Operator — управляет кластерами PostgreSQL.
Strimzi - Kafka в Kubernetes.
Prometheus Operator - автоматизация деплоя Prometheus + Alertmanager.
Почему это круто?
-Снижается рутина → не нужно писать километры bash-скриптов.
-Упрощается управление → вместо «кучи манифестов» ты работаешь с одним объектом.
-Автоматизация best practices → разработчики операторов уже заложили правильные сценарии.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Наглядное руководство по туннелированию SSH и переадресации портов
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы:
🔵 сценарии использования
🔵 конфигурация
🔵 SSH jumphosts
🔵 локальная/удаленная/динамическая переадресация портов и ограничения
https://i-odmin.ru/nagljadnoe-rukovodstvo-po-tunnelirovaniju-ssh-i-pereadresacii-portov/
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы:
https://i-odmin.ru/nagljadnoe-rukovodstvo-po-tunnelirovaniju-ssh-i-pereadresacii-portov/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3🔥2
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Media is too big
VIEW IN TELEGRAM
Депрессия и эмоциональное выгорание айтишника - личная история DevOps
Психология айтишников довольно таки сложная штука. Эмоциональное выгорание, депрессия среди программистов не редкое дело. Все из-за напряженной работы, малой подвижности и отсутствия поддержки и общения.
В интернете много видео: "Как не выгореть на работе?"; "Что такое эмоциональное выгорание?"; "Как понять, что ты выгорел?"; "К кому обращаться за помощью?", но мало кто рассказывает на своем реальном примере.
В этом видео я расскажу свою историю, как и почему я выгорел. Так же расскажу к каким последствиям может привести наплевательское отношение к себе и вовремя не вылеченное эмоциональное выгорание.
источник
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Психология айтишников довольно таки сложная штука. Эмоциональное выгорание, депрессия среди программистов не редкое дело. Все из-за напряженной работы, малой подвижности и отсутствия поддержки и общения.
В интернете много видео: "Как не выгореть на работе?"; "Что такое эмоциональное выгорание?"; "Как понять, что ты выгорел?"; "К кому обращаться за помощью?", но мало кто рассказывает на своем реальном примере.
В этом видео я расскажу свою историю, как и почему я выгорел. Так же расскажу к каким последствиям может привести наплевательское отношение к себе и вовремя не вылеченное эмоциональное выгорание.
источник
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Kube API не отвечает, LoadBalancer не пропускает трафик, DNS не резолвит, исходящие запросы не уходят. Причина обычно кроется на стыке облачной сети и кластера, и найти её без понимания всей цепочки сложно.
3 ноября в 12:00 Роман Ерема, разработчик в команде Managed Kubernetes MWS Cloud Platform, на практике покажет:
⏺️ как взаимодействуют сеть облака, CNI и сеть Kubernetes
⏺️ как работают SNAT и Source IP
⏺️ когда нужен externalTrafficPolicy: Local и почему при нём может не проходить health check
⏺️ как диагностировать проблемы на реальных кейсах (live-demo)
Все участники получат чек-лист для проверки доступности.
Полезно инженерам, разработчикам и специалистам по сетям и облачной инфраструктуре.
🗓 3 ноября в 12:00
Регистрируйтесь по ссылке
3 ноября в 12:00 Роман Ерема, разработчик в команде Managed Kubernetes MWS Cloud Platform, на практике покажет:
Все участники получат чек-лист для проверки доступности.
Полезно инженерам, разработчикам и специалистам по сетям и облачной инфраструктуре.
🗓 3 ноября в 12:00
Регистрируйтесь по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Неофициальный сервер, совместимый с Bitwarden, написанный на Rust (ранее известен как bitwarden_rs).
Альтернативная реализация сервера Bitwarden Client API, написанная на Rust и совместимая с официальными клиентами Bitwarden. Идеально подходит для самостоятельного размещения, особенно в случаях, когда запуск официального ресурсоёмкого сервиса может быть нежелателен.
https://github.com/dani-garcia/vaultwarden
#devops #девопс
📲 Мы в MAX
Подпишись 👉@i_DevOps
Альтернативная реализация сервера Bitwarden Client API, написанная на Rust и совместимая с официальными клиентами Bitwarden. Идеально подходит для самостоятельного размещения, особенно в случаях, когда запуск официального ресурсоёмкого сервиса может быть нежелателен.
https://github.com/dani-garcia/vaultwarden
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Kubernetes сам не запускает контейнеры.
Между кластером и контейнером работает отдельный слой — контейнерный runtime. От его выбора зависят особенности инфраструктуры, производительность и безопасность.
На открытом уроке разберём, как Kubernetes взаимодействует с runtime через CRI, сравним containerd, CRI-O и Kata Containers и обсудим сценарии их применения.
10 ноября в 20:00 МСК. Урок проходит в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». Все участники получат скидку на обучение. Принять участие: https://vk.cc/d3maVl
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Между кластером и контейнером работает отдельный слой — контейнерный runtime. От его выбора зависят особенности инфраструктуры, производительность и безопасность.
На открытом уроке разберём, как Kubernetes взаимодействует с runtime через CRI, сравним containerd, CRI-O и Kata Containers и обсудим сценарии их применения.
10 ноября в 20:00 МСК. Урок проходит в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». Все участники получат скидку на обучение. Принять участие: https://vk.cc/d3maVl
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤1