DevOps
8.84K subscribers
1.45K photos
941 videos
28 files
1.87K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Когда IT дает сбой, бизнес не должен останавливаться

Не работает 1С, недоступны документы, сотрудники не могут выполнять свои задачи. Даже несколько часов простоя могут обернуться потерями для компании. Причины могут быть разными, но для руководителя главное — как быстро компания сможет вернуться к нормальной работе.

Itentis Cloud — безопасная облачная среда для стабильной работы бизнеса.

Мы предлагаем аренду облачных ресурсов на базе компактной инфраструктуры с контролируемой нагрузкой. Здесь можно разместить 1С, CRM и другие корпоративные системы без покупки собственного оборудования.

А если вы не хотите погружаться в технические вопросы, команда Itentis возьмет вашу IT-инфраструктуру на комплексное обслуживание.

Ищете надежную площадку для корпоративных систем? Обращайтесь в Itentis Cloud — подберем решение под ваши задачи.

☁️ Зарабатывайте вместе с Itentis Cloud! Один из наших партнеров, системный администратор, начал с переноса нескольких клиентов в облако, а теперь получает 70–100 тыс. руб. ежемесячно на партнерской комиссии. Подключайте и своих клиентов к Itentis Cloud, получайте процент от их расходов на инфраструктуру и увеличивайте доход.

Первые 14 дней использования облака бесплатно. Подробнее — в партнерской программе
❤1
Что такое пейджинг по требованию?

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

#devops #девопс

📲 Мы в MAX

Подпишись 👉@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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Работа с правами доступа файлов и директорий в Linux

# 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 #девопс

📲 Мы в MAX

Подпишись 👉@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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вопросы с собеседования

df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?

Когда файл удален т. к. файловый дескриптор «держит» его.

Ищем файл через:

lsof -a +L1 | grep var | grep httpd

При удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.

Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Что такое Docker? В чем отличие контейнера от образа?

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

Образ — шаблон приложения, который содержит слои файловой системы в режиме "только-чтение".

Контейнер — запущенный образ приложения, который кроме нижних слоев в режиме "только чтение" содержит верхний слой в режиме "чтение-запись".

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Объясните концепцию Ingress в Kubernetes

Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.

#devops #девопс

📲 Мы в MAX

Подпишись 👉@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
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 (например, PostgresCluster).
2. Пишется контроллер, который следит за этим объектом и выполняет нужные действия (инициализация БД, настройка реплик, обновления).
3. Ты как DevOps просто применяешь YAML с описанием кластера, а оператор сам делает всю грязную работу.

Примеры операторов

Zalando Postgres Operator — управляет кластерами PostgreSQL.
Strimzi - Kafka в Kubernetes.
Prometheus Operator - автоматизация деплоя Prometheus + Alertmanager.

Почему это круто?

-Снижается рутина → не нужно писать километры bash-скриптов.
-Упрощается управление → вместо «кучи манифестов» ты работаешь с одним объектом.
-Автоматизация best practices → разработчики операторов уже заложили правильные сценарии.


#devops #девопс

📲 Мы в MAX

Подпишись 👉@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
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3🔥2
Чем отличается StatefulSet от Deployment?

Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.

StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.

#devops #девопс

📲 Мы в MAX

Подпишись 👉@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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
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

Регистрируйтесь по ссылке
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
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
❤1