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

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😁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
👍4
Неофициальный сервер, совместимый с 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👍1🎄1
Короткий совет по Linux 💡

Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед его удалением.

В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥴1
Media is too big
VIEW IN TELEGRAM
Kubelab: Виртуальная лаборатория Kubernetes

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

https://github.com/natrontech/kubelab

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👎1🔥1
📌Docker

Удаление промежуточных образов без тэгов:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

Мягко перезапустить контейнер:
docker kill --signal="USR1" <yourcontainer_name>

Список контейнеров:
docker ps -a

Подключиться к контейнеру:
docker exec -it container_name bash

Остановить все контейнеры:
docker stop $(docker ps -a -q)

Удалить все контейнеры, из которых вышли:
docker rm -v $(docker ps -aq -f status=exited)

Удалить образ:
docker rmi image_name

Создать образ:
docker build -t image_name

Удалить все неиспользуемые тома:
docker volume prune

Подключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash


#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
✍1👍1🔥1
МТС Web Services приглашает на офлайн-встречу ИТ-архитекторов 10 ноября, чтобы вместе разобраться, как ИИ меняет профессию.

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

Когда: 10 ноября в 17:00. Офлайн в Москве (ст. м. Технопарк) + онлайн-трансляция.
Количество офлайн-мест ограничено. Для участия зарегистрируйтесь по ссылке и дождитесь письма с подтверждением
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
☁️ Меньше суток на восстановление сервисов после сбоя в облаке
Заранее подготовленные и проверенные бэкапы упрощают восстановление сервисов. Но чтобы вернуть приложения в работу, нужно ещё развернуть инфраструктуру на новой площадке, настроить окружение, перенести данные и запустить компоненты в правильном порядке.

С такой задачей столкнулись инженеры KTS, когда облачная инфраструктура заказчика стала недоступна. В ход пошли Terraform, Ansible и заранее подготовленные бэкапы, восстановление из которых команда проверяла ещё до аварии. Однако не всё зависело от команды: приходилось ждать выделения ресурсов и передачи данных.

Ключевые сервисы удалось вернуть в работу менее чем за сутки без потери данных. Как проходило восстановление и  какие инженерные практики помогли вернуть бизнес в рабочее состояние — в статье:

https://habr.com/ru/companies/kts/articles/1101622/

#devops #девопс

Подпишись 👉 @i_DevOps
👍4
Чем отличается StatefulSet от Deployment?

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

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

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Kubernetes для баз данных? CloudNativePG делает PostgreSQL по-настоящему Cloud-Native

Практический взгляд на запуск PostgreSQL в Kubernetes с встроенной высокой доступностью, автоматическим failover, бэкапами и облачными операциями с базой данных.

Я попытался сделать некий кук-бук, если заметите ошибки или не точности, то велком в комментарии.

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

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?

Docker базируется на технологиях:

🔸 namespaces — обеспечивает изоляцию (например, можно айдишники процессов разместить в разных контейнерах)
🔸 cgroups — позволяет управлять группой процессов, и управлять их ресурсами
🔸 capabilities — позволяет дать некоторые рут привелегии процессам или исполняемым файлам. Например, изменить UID процесса на 0, или дать возможность монтировать файловые системы.
🔸 overlay namespaces — (overlayFS, overlay2-драйвер) - файловая система, которая умеет работать "слоями". Не сохранять каждый раз новые файлы, а наслаивать один слой на другой, тем самым экономя место на диске и время создания контейнера.

А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.

Компоненты докера:

🔻 Docker Daemon — тот самый Container Engine; запускает контейнеры.
🔻 Docker CLI — утилита по управлению Docker.
🔻 Dockerfile — инструкция по тому, как собирать образ.
🔻 Image — образ, из которого раскатывается контейнер.
🔻 Container
🔻 Docker registry — хранилище образов.

На Docker_host работает Docker daemon и запускает контейнеры.
Client — передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.

Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.

Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
ИИ-агенты в разработке, но под контролем и внутри периметра

Главные претензии к ИИ-агентам в корпоративной инфраструктуре известны: код и данные уходят во внешние API, а агент может уверенно сделать что-то не то. Для компаний с КИИ и закрытым контуром это критично.

17 ноября в 11:00 {мск} Группа Астра проведёт онлайн-ивент «Агенты против выгорания: быстрая и безопасная разработка» и на живых демо покажет, как это решают у себя.

Что покажут:
⏺️ Полный стек ИИ в закрытом контуре, от инференс-платформы до приложения. Без обращений во внешние облака.
⏺️ Астра ИИ [КОД]: ИИ-напарник разбирает legacy-код, который давно никто не трогал, находит узкие места и предлагает решения. Решения принимает инженер.
⏺️ Астра ИИ [ПЛАТФОРМА]: low-code сборка корпоративного агента из готовых блоков (RAG, интеграции, сценарии).
⏺️ 30 минут вопросов экспертам: можно разобрать свои ограничения по закрытому контуру и КИИ.

🔵 Бонус для участников: методичка по внедрению агентной разработки доверенного ПО.

🔗️️ Зарегистрироваться на эфир
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1👏1