ru
Feedback
DevOps | Вопросы собесов

DevOps | Вопросы собесов

Открыть в Telegram
5 509
Подписчики
+124 часа
-67 дней
+130 день
Архив постов
🤔 Какие процессы убивает long killer? Это системный механизм в Astra Linux (и некоторых других дистрибутивах на базе Debian), который убивает "долгоиграющие" процессы, потребляющие слишком много ресурсов. Он предотвращает зависания системы и защищает от неэффективного использования вычислительных мощностей. 🚩Какие процессы убивает Long Killer? Long Killer анализирует процессы и завершает те, которые: Запущены от обычного пользователя (не root). Работают слишком долго (по умолчанию >10 минут). Потребляют много CPU (по умолчанию >90% CPU). Используют много памяти (если система близка к OOM – Out of Memory). Не имеют активности (зависли, например, ожидание ввода). Он не убивает root-процессы. Системные службы (например, sshd, systemd) остаются нетронутыми. Если процесс выполняется интерактивно (например, работа в vim или nano), он обычно не трогает его. 🚩Как проверить, что процесс убит Long Killer? Если подозреваете, что ваш процесс завершился из-за Long Killer, посмотрите логи
journalctl -u long-killer.service --no-pager | tail -n 20
Также можно проверить dmesg
dmesg | grep "killed by Long Killer"
🚩Как отключить или настроить Long Killer? Файл конфигурации находится здесь
/etc/long-killer.conf
Пример настроек
MAX_CPU_USAGE=90     # Максимальная загрузка CPU (%)
MAX_EXEC_TIME=600    # Максимальное время выполнения (секунды)
EXCLUDE_USERS=root   # Не убивать процессы от root
После изменения перезапустите сервис
systemctl restart long-killer.service
Чтобы полностью отключить Long Killer
systemctl stop long-killer.service
systemctl disable long-killer.service
🚩Как избежать убийства процессов? Запуск от root (если это безопасно):
sudo my_long_process
Снижение приоритета процесса (nice/renice)
nice -n 10 my_process
renice -n 10 -p <PID>
Использование nohup или screen для фоновых задач
nohup my_script.sh &
Ставь 👍 и забирай 📚 Базу знаний

Регистрируйтесь на Yandex Ecom Open Air 8 августа Море инсайтов для бизнеса, музыкальный open-air, лекции и нетворкинг. Участие бесплатно! Зарегистрироваться #реклама 18+ ecomfest.ru О рекламодателе

🤔 Как узнать IP-адрес какого-нибудь сайта? Используйте команду nslookup <домен> или dig <домен> для получения IP-адреса через DNS. Также можно использовать ping <домен> для получения IP-адреса, к которому идёт запрос. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что за протокол http, зачем он нужен? HTTP (HyperText Transfer Protocol) — это протокол передачи данных в интернете. Он используется для обмена данными между клиентом (браузером) и сервером. 🚩Пример работы HTTP Браузер отправляет запрос → "GET /index.html HTTP/1.1". Сервер отвечает → HTML-страницей (200 OK). Браузер отображает страницу. 🚩Основные принципы HTTP Клиент-серверная модель → браузер запрашивает, сервер отвечает. Без состояния (stateless) → каждый запрос независим (нет сессий). Текстовый протокол → данные передаются в читаемом формате. 🚩Структура HTTP-запроса Пример запроса от браузера к серверу
GET /index.html HTTP/1.1  
Host: example.com  
User-Agent: Mozilla/5.0
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие таблицы прописывал в iptables? В iptables есть несколько таблиц, каждая отвечает за свою цель: - filter — основная таблица для разрешения/запрета трафика. - nat — используется для трансляции адресов (SNAT, DNAT, маскарадинг). - mangle — модификация пакетов (TTL, приоритет и т.п.). - raw — используется для исключения пакетов из connection tracking. - security — дополнительная таблица для меток SELinux (редко используется). Наиболее часто используются filter и nat. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 При попытке создания файла на диске на linux ошибка что места нет проверяете место есть с чем это может быть связано Если при создании файла в Linux появляется ошибка, что места нет, но df -h показывает свободное место, проблема может быть в следующем: 🚩Закончились inodes Inodes – это структуры, которые хранят метаданные о файлах. Даже если есть свободное место, но inodes кончились, новые файлы создать нельзя.
df -i
Найти каталоги с множеством маленьких файлов:
  find /path -xdev -type f | wc -l  # Количество файлов в каталоге
  
🚩Ограничение дискового квотирования (quota) В системе могут быть настроены дисковые квоты, которые ограничивают использование диска для пользователя или группы.
quota -v
🚩Заполнен раздел `/var`, `/tmp` или `/home` В системе может быть несколько дисковых разделов (/, /var, /home и т. д.). Если один из них заполнен, в него нельзя записывать файлы.
df -hT
🚩Файловая система смонтирована в режиме `read-only` Если файловая система перешла в режим «только для чтения» (read-only) из-за ошибки или сбоя, запись на неё невозможна.
mount | grep ' ro,'
Если файловая система смонтирована с `ro`, значит, запись запрещена. Перемонтировать диск:
  mount -o remount,rw /path
  
Проверить диск на ошибки:
  dmesg | tail -20  # Лог ошибок
  fsck /dev/sdX  # Проверка диска
Ставь 👍 и забирай 📚 Базу знаний

Онлайн-магистратура с IT специальностями от Яндекса Совместно с ИТМО, МИФИ, МФТИ. Онлайн-магистратура с актуальными программами и гибким графиком обучения. Получите высокооплачиваемую IT профессию, официальный диплом и практические знания. Господдержка оплаты. Совмещение с работой! Подать заявку #реклама 16+ practicum.yandex.ru О рекламодателе

🤔 Чем бэкапить кластер? - Velero — стандартный инструмент бэкапа Kubernetes: - Бэкап объектов + PVC. - Поддержка S3/MinIO. - Etcdctl snapshot — если бэкапить etcd вручную. - Kasten K10, Trilio, Stash — коммерческие и open-source альтернативы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как диагностировать проблемы с локальным сервером который не отвечает на ping? Если сервер не пингуется, это не значит, что он не работает – проблема может быть в сети, настройках брандмауэра или самом сервере. 🚩Пошаговая диагностика 1⃣Проверить, действительно ли сервер включен Подойти к серверу и проверить: Горят ли индикаторы сети (LAN) на сервере? Реагирует ли на клавиатуру/монитор? Не завис ли сервер? (Может помочь Hard Reboot). 2⃣Проверить, есть ли связь на L2-уровне (MAC-адреса) Проверяем, видит ли наш компьютер MAC-адрес сервера через `arp`. Запрос ARP
arp -a | grep 192.168.1.100
Если MAC-адрес есть → пакеты доходят до сервера, но он не отвечает. Если MAC-адреса нет → возможны проблемы с сетью (кабель, порт, VLAN, DHCP, статика). Дополнительно проверить соединение
ethtool eth0  # Проверить состояние сетевого адаптера
ip link show eth0  # Интерфейс должен быть UP
3⃣Проверить, отвечает ли сервер на другие запросы (SSH, HTTP, RDP) Если ping отключен (ICMP заблокирован брандмауэром), но сервер работает, попробуем другие протоколы. Пробуем зайти по SSH (если это Linux)
ssh user@192.168.1.100
Пробуем зайти по RDP (если это Windows)
rdesktop 192.168.1.100
Пробуем зайти через HTTP (если там веб-сервер)
curl -I http://192.168.1.100
4⃣Проверить сетевой интерфейс на сервере Подключаемся к серверу (если возможно) и проверяем, есть ли у него сеть. Проверяем IP-адрес сервера
ip a
или
ifconfig -a
Пробуем пропинговать шлюз с сервера
ping 192.168.1.1
5⃣Проверить брандмауэр и iptables на сервере Если сервер не отвечает на ICMP, его может блокировать брандмауэр. Linux (firewalld, iptables, ufw)
iptables -L -n | grep DROP  # Проверяем правила iptables
ufw status  # Проверяем UFW (если используется)
firewall-cmd --list-all  # Проверяем firewalld
Если ICMP запрещен → разрешаем его
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
ufw allow proto icmp
firewall-cmd --add-icmp-block=echo-reply --permanent
firewall-cmd --reload
Windows (Проверить ICMP в брандмауэре Windows)
netsh advfirewall firewall show rule name="File and Printer Sharing (Echo Request - ICMPv4-In)"
Если правило отключено → включаем
netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow
6⃣Проверить маршрутизацию и сеть Если сервер и клиент находятся в разных VLAN или подсетях, проверяем маршрут. На клиенте
traceroute 192.168.1.100  # Linux
tracert 192.168.1.100  # Windows
Проверить маршруты на сервере
ip route show
Если маршрут отсутствует → добавляем вручную
ip route add 192.168.1.0/24 via 192.168.1.1
Ставь 👍 и забирай 📚 Базу знаний

От обнаружения угрозы к ее мгновенному устранению Сложно обеспечивать безопасность компании, когда в инфраструктуре много разрозненных решений, бюджеты на ИБ сокращаются, а специалистов не хватает. Риски растут, атаки становятся сложнее, а рутинные задачи мешают реагировать быстро. Приглашаем на вебинар 12 августа в 11:00, где расскажем про Solar SIEM — платформу, которая объединяет функции SIEM и SOAR/IRP, ускоряя поиск угроз в 3 раза и экономя до 40% бюджета. Узнайте, как оптимально настроенная автоматизация снижает нагрузку на команду и закрывает дыры в безопасности. Сделайте работу ИБ-специалистов ности проще и эффективнее. Регистрируйтесь на вебинар, чтобы защитить бизнес без лишних затрат! Зарегистрироваться #реклама 16+ rt-solar.ru О рекламодателе

🤔 Что такое и нужен ли swap Swap — это область диска, которую операционная система использует как виртуальную память, расширяя возможности оперативной памяти. Он помогает системе работать стабильно, когда физической памяти не хватает, перенося неактивные данные из RAM на диск. Swap полезен для поддержания работы системы под нагрузкой, но его чрезмерное использование может замедлить производительность из-за более медленного доступа к данным на диске. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Айтишники, это вам — в телеграм есть комьюнити по каждому направлению в IT Там есть буквально всё: чаты для общения, тонны ма
Айтишники, это вам — в телеграм есть комьюнити по каждому направлению в IT Там есть буквально всё: чаты для общения, тонны материала(книги, курсы, ресурсы и гайды), свежие новости и конечно же мемы Выбирайте своё направление: 💩 Frontend 🐍 Python 🐧 Linux 👩‍💻 С/С++ 👩‍💻 C# 🤔 Хакинг & ИБ 📱 GitHub 🖥 SQL 👩‍💻 Сисадмин 🤟 DevOps ⚙️ Backend 🖥 Data Science 🧑‍💻 Java 🐞 Тестирование 🖥 PM / PdM 👩‍💻 GameDev 🧑‍💻 Golang 👣 Rust 🧑‍💻 PHP 💻 WebDev 🖥 Моб. Dev 🖥Анали.(SA&BA) 👩‍💻 Дизайн 🖥 Нейросети 💛 1C 🤓 Книги IT ➡️ Сохраняйте в закладки

🤔 Что такое container network module в докере? Это архитектурная модель, разработанная Docker для управления сетями контейнеров. Она описывает, как создаются, управляются и взаимодействуют сетевые компоненты в Docker-контейнерах. CNM служит основой для организации сетей Docker и позволяет подключать контейнеры к различным сетевым средам, обеспечивая гибкость, масштабируемость и безопасность. 🚩Основные компоненты CNM 🟠Sandbox Это изолированная среда, где настраиваются сетевые интерфейсы контейнера, такие как IP-адреса, маршруты и DNS. Что включает: veth-пара интерфейсов (виртуальный Ethernet): соединяет контейнер с внешней сетью. Конфигурации маршрутов и сетевых правил. 🟠Endpoint Точка подключения контейнера к сети. Функции: Обеспечивает контейнеру связь с другими контейнерами или внешними сетями. Соединяет Sandbox с Network. 🟠Network Логическая сущность, объединяющая Endpoints для обеспечения взаимодействия контейнеров. Типы сетей в Docker: bridge: Локальная сеть, позволяющая контейнерам взаимодействовать на одном хосте. host: Контейнеры используют сетевой стек хоста без изоляции. none: Сеть отключена; контейнер полностью изолирован. overlay: Распределенная сеть для связи контейнеров на разных хостах. macvlan: Контейнеры получают прямой доступ к физической сети. 🚩Как это работает в Docker Создается Sandbox, где настраиваются сетевые параметры контейнера. Создается Endpoint, который подключает контейнер к выбранной сети. Endpoint добавляется в Network, что позволяет контейнеру взаимодействовать с другими узлами. 🚩ПлюсыГибкость Легко подключать контейнеры к различным типам сетей. ➕Изоляция Обеспечивает безопасность, изолируя сетевые пространства контейнеров. ➕Расширяемость CNM поддерживает сторонние плагины для интеграции с другими сетевыми решениями (например, Calico, Flannel). ➕Управляемость Позволяет контролировать настройки сети через команды Docker. 🚩Пример создания сети 1⃣Создание сети
docker network create my_bridge
2⃣Подключение контейнера к сети
docker run --network my_bridge -d nginx
Ставь 👍 и забирай 📚 Базу знаний

Пройди практику в Wildberries&Russ и получи диплом ТГУ Хочешь развивать карьеру в аналитике и не тратить на это 10 лет? Магис
Пройди практику в Wildberries&Russ и получи диплом ТГУ Хочешь развивать карьеру в аналитике и не тратить на это 10 лет? Магистратура «Дата-аналитика для бизнеса» ускорит! В ней ты: ⚡Прокачаешь навыки работы с Big Data и искусственным интеллектом в бизнесе с экспертами Wildberries & Russ, других топ-компаний и преподавателями ТГУ. ⚡3 специализации на выбор: продуктовая аналитика, маркетинговая аналитика и BI/бизнес-аналитика — выбирай то, что ближе к твоим целям. ⚡Получишь возможность пройти стажировку в Wildberries & Russ. Учёба онлайн — с гибким графиком из любой точки мира. Оставляй заявку, а мы проконсультируем, как :) Узнать больше #реклама 16+ ai.tsu.ru О рекламодателе

🤔 Рекомендуется ли GitLab, GitHub для хранения state file? Нет, не рекомендуется. terraform.tfstate не должен храниться в Git или системах контроля версий, потому что: - Он может содержать чувствительные данные (пароли, IP, токены). - Возможны конфликты при одновременной работе. - Отсутствует блокировка (lock) на время операций. Рекомендуемые варианты: - Terraform Cloud / Enterprise - Remote backends: S3 с DynamoDB для блокировки, Azure Blob, GCS - Использование lock-механизмов и шифрования Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как посчитать размер node в кубах? Для определения размера узла (node) в кластере Kubernetes необходимо собрать информацию о различных ресурсах, таких как количество процессоров (CPU), объем оперативной памяти (RAM) и объем дискового пространства, доступные на узле. Эти данные можно получить с помощью команды kubectl. 🚩Шаги для определения размера узла 🟠Получение списка узлов Для начала необходимо получить список узлов в кластере:
kubectl get nodes
🟠Получение информации о ресурсе узла Для каждого узла из списка можно получить подробную информацию о ресурсах с помощью команды kubectl describe node <node-name>:
kubectl describe node <node-name>
🟠Получение информации о ресурсах узлов в формате JSON/YAML Чтобы получить информацию о ресурсах узлов в удобном для обработки формате (JSON или YAML), можно использовать команду kubectl get node <node-name> -o json или kubectl get node <node-name> -o yaml:
kubectl get node <node-name> -o json
Пример вывода команды
{
    "kind": "Node",
    "apiVersion": "v1",
    "metadata": {
        "name": "node1"
    },
    "status": {
        "capacity": {
            "cpu": "4",
            "memory": "16384000Ki",
            "ephemeral-storage": "100Gi"
        },
        "allocatable": {
            "cpu": "4",
            "memory": "16334000Ki",
            "ephemeral-storage": "98Gi"
        }
    }
}
🚩Расчет размера узла - CPU: Количество процессоров. - Memory: Объем оперативной памяти (в Ki, где 1 Ki = 1024 байт). - Ephemeral Storage: Объем временного дискового пространства. Допустим, узел имеет следующие ресурсы: - CPU: 4 - Memory: 16334000Ki (примерно 15.58 GiB) - Ephemeral Storage: 98Gi 🚩Конвертация памяти Память в Kubernetes часто указывается в КиБ (Kibibytes). Для конвертации в гигабайты (GiB) используется следующая формула: \text{Memory (GiB)} = \frac{\text{Memory (KiB)}}{1024 \times 1024} Пример: \text{Memory (GiB)} = \frac{16334000}{1024 \times 1024} \approx 15.58 🚩Объединение всех данных В результате, размер узла можно представить как: CPU: 4 Memory: 15.58 GiB Ephemeral Storage: 98 GiB 🚩Пример команд для автоматизации Если необходимо собрать и обработать данные для всех узлов в кластере, можно использовать скрипт. Например, на bash с использованием jq для обработки JSON:
#!/bin/bash

nodes=$(kubectl get nodes -o json | jq -r '.items[].metadata.name')

for node in $nodes; do
  echo "Node: $node"
  kubectl get node $node -o json | jq '.status.capacity, .status.allocatable'
  echo ""
done
Ставь 👍 и забирай 📚 Базу знаний

В Битрикс24 теперь можно сделать сайт за 30 секунд Серьёзно. Пишешь, что нужно, и AI сам всё собирает: тексты, картинки, офор
В Битрикс24 теперь можно сделать сайт за 30 секунд Серьёзно. Пишешь, что нужно, и AI сам всё собирает: тексты, картинки, оформление. ✨Никакой магии, просто умный помощник. Попробуйте — закайфуете от скорости! Начать #реклама 16+ sites-24.bitrix24.ru О рекламодателе

🤔 Как посмотреть размер папки на диске? Команда du -sh <путь к папке> показывает размер папки в человеко-читаемом формате. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие коды ответа мы получаем от веб-сервера? Коды ответа (HTTP status codes) от веб-сервера представляют собой числовые коды, которые отправляются клиенту (обычно веб-браузеру) в ответ на его запрос. Эти коды помогают клиенту понять, что произошло с его запросом: был ли он успешен, произошла ли ошибка, требуется ли дополнительное действие и т.д. 🚩HTTP-коды ответа разделены на пять основных категорий: 🟠1xx (Информационные): Запрос принят, продолжается обработка. 100 Continue: Сервер получил начальную часть запроса, и клиент должен продолжать. 101 Switching Protocols: Сервер принимает запрос на изменение протокола. 🟠2xx (Успех): Запрос успешно обработан. 200 OK: Запрос успешно обработан, и сервер возвращает запрошенные данные. 201 Created: Запрос успешно выполнен, и в результате создан новый ресурс. 202 Accepted: Запрос принят для обработки, но обработка еще не завершена. 204 No Content: Запрос успешно выполнен, но сервер не возвращает никакого содержимого. 🟠3xx (Перенаправление): Для завершения обработки запроса требуется дальнейшее действие со стороны клиента. 301 Moved Permanently: Запрашиваемый ресурс был перемещен на новый постоянный URL. 302 Found: Запрашиваемый ресурс временно доступен по другому URL. 304 Not Modified: Запрашиваемый ресурс не изменился со времени последнего доступа (кэширование). 307 Temporary Redirect: Запрашиваемый ресурс временно доступен по другому URL. Клиент должен использовать исходный метод для нового запроса. 🟠4xx (Ошибка клиента): Ошибка в запросе клиента. 400 Bad Request: Сервер не может обработать запрос из-за неверного синтаксиса. 401 Unauthorized: Запрос требует аутентификации. 403 Forbidden: Сервер понял запрос, но отказывается его выполнять. 404 Not Found: Запрашиваемый ресурс не найден на сервере. 405 Method Not Allowed: Метод, указанный в запросе, не разрешен для запрашиваемого ресурса. 409 Conflict: Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса. 🟠5xx (Ошибка сервера): Ошибка на стороне сервера при попытке обработки запроса. 500 Internal Server Error: Общая ошибка сервера. Сервер не может выполнить запрос. 501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса. 502 Bad Gateway: Сервер, действуя как шлюз или прокси, получил неверный ответ от вышестоящего сервера. 503 Service Unavailable: Сервер временно недоступен, обычно из-за перегрузки или технического обслуживания. 504 Gateway Timeout: Сервер, действуя как шлюз или прокси, не дождался ответа от вышестоящего сервера. Ставь 👍 и забирай 📚 Базу знаний

Гайд по эффективным вебинарам для маркетологов Как CMO, PR и digital-маркетологам сделать вебинары полноценным инструментом л
Гайд по эффективным вебинарам для маркетологов Как CMO, PR и digital-маркетологам сделать вебинары полноценным инструментом лидогенерации и системно привлекать новых клиентов? Гайд от МТС Линк по подготовке и проведению эффективных вебинаров для лидогенерации. ✅ В гайде: - Как выбрать оптимальные день недели и время для лучшей эффективности вебинаров; - Как увеличить конверсию из участника мероприятия в лид с помощью данных о поведении зрителей; - Как увеличить узнаваемость бренда и создать комьюнити вокруг него; - Как оценить вклад онлайн-мероприятия в продвижение компании и правильно обработать лиды. Бонус внутри: Чек-лист по продвижению вебинара. ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе