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

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

Kanalga Telegram’da o‘tish
5 509
Obunachilar
+124 soatlar
-67 kunlar
+130 kunlar
Postlar arxiv
🤔 Что такое модуль в Terraform? Модуль — это переиспользуемый блок конфигурации Terraform. Он может содержать: - Ресурсы - Переменные - Выходные значения Модули позволяют: - Упростить и структурировать код - Использовать одну и ту же логику в разных местах - Упростить поддержку конфигураций Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Концерт «ХЛЕБа», Финал Блиц Поинта и миллионы призовых! Tanks Blitz — в RuStore, ты — на Блиц Поинте в Москве (и на концерте
Концерт «ХЛЕБа», Финал Блиц Поинта и миллионы призовых! Tanks Blitz — в RuStore, ты — на Блиц Поинте в Москве (и на концерте «ХЛЕБа»). Скачай Tanks Blitz в RuStore, чтобы узнать больше о Финальном турнире Лиги Блиц Поинт, Часть 3 в Москве!⚡ Узнать больше #реклама 16+ apps.rustore.ru О рекламодателе

🤔 Как примонтировать диск? Чтобы использовать новый диск в Linux, его нужно разметить, создать файловую систему и примонтировать. 🚩Разметить диск (`fdisk`) Запустить fdisk для диска sdb
sudo fdisk /dev/sdb
🚩Создать файловую систему (`mkfs`) Форматировать раздел в ext4
sudo mkfs.ext4 /dev/sdb1
Если нужен xfs
sudo mkfs.xfs /dev/sdb1
🚩Автоматическое монтирование при загрузке (`/etc/fstab`) Найти UUID диска
blkid /dev/sdb1
Вывод
/dev/sdb1: UUID="12345678-abcd-1234-efgh-56789abcdef0" TYPE="ext4"
Добавить в /etc/fstab
echo 'UUID=12345678-abcd-1234-efgh-56789abcdef0 /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab
Применить изменения
sudo mount -a
Ставь 👍 и забирай 📚 Базу знаний

Мы ищем людей, которые хотят работать турагентом из дома 💰Оплата от 150.000 рублей в месяц Образование, место жительства, тр
Мы ищем людей, которые хотят работать турагентом из дома 💰Оплата от 150.000 рублей в месяц Образование, место жительства, трудовой стаж — не важны! Подходит, как для подработки / декретного отпуска, так и для полной занятости. Если заинтересовались, то для старта нужно: — зарегистрироваться на сайте — пройти трехдневный курс На что можно рассчитывать: ✅ удаленная работа ✅ зп от 150.000 рублей (потолка нет) ✅ стабильная подработка, если не хотите уходить с основной работы Количество бесплатных мест ограничено. Успейте пройти тест и оставить заявку. ⚡ Набор заканчивается в понедельник! Зарегистрироваться #реклама интревел.рф О рекламодателе

🤔 Что такое port forwarding? Port forwarding — это механизм проброса порта из пода или контейнера на локальную машину. Это позволяет получить доступ к сервисам внутри кластера без необходимости их публикации наружу. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Fairy со скидкой 20% по промокоду! Лови выгоду! Скидка 20% на Fairy. Введи промокод PLATINUM20 и забудь о жире на посуде. Куп
Fairy со скидкой 20% по промокоду! Лови выгоду! Скидка 20% на Fairy. Введи промокод PLATINUM20 и забудь о жире на посуде. Купить #реклама market.yandex.ru О рекламодателе

🤔 Сколько часов живёт один вал Prometeus CICD? Вал (или "валидность данных") в Prometheus определяется настройками временного диапазона хранения данных. Обычно данные в Prometheus живут столько, сколько задано в параметре --storage.tsdb.retention.time, который устанавливает период хранения временных рядов. 🟠По умолчанию Если не указать параметр --storage.tsdb.retention.time, данные хранятся 15 дней. Это соответствует 360 часам. 🟠Как изменить время жизни данных Вы можете настроить период хранения данных, передав значение параметра при запуске Prometheus: CLI-параметр:
prometheus --storage.tsdb.retention.time=30d
🟠Конфигурационный файл Если Prometheus запускается как часть системы CI/CD через Docker Compose, Kubernetes или другой инструмент, параметр указывается в соответствующем разделе.
services:
  prometheus:
    image: prom/prometheus
    command:
      - '--storage.tsdb.retention.time=7d' # 7 дней (168 часов)
🚩Почему это важно? 🟠Оптимизация дискового пространства Большие периоды хранения требуют больше дискового пространства. Если валидация данных больше не нужна, лучше очищать старые временные ряды. 🟠Баланс производительности Длительное хранение может замедлить обработку запросов, особенно если используемые метрики застарелые или редко запрашиваются. 🟠Потребности CI/CD Для CI/CD-пайплайнов обычно достаточно короткого периода (например, 7–15 дней), чтобы сохранять данные релевантными и свежими. 🟠Пример настройки в CI/CD контексте Если вы хотите, чтобы метрики для CI/CD жили 12 часов (подходящий срок для проверки тестов и сборок), настройте
prometheus:
  image: prom/prometheus
  command:
    - '--storage.tsdb.retention.time=12h'
🚩Как проверить текущий срок хранения? 🟠В интерфейсе Prometheus Перейдите на страницу /status/status/flags, где можно увидеть значение параметра --storage.tsdb.retention.time. 🟠Через командную строку Проверьте журнал запуска Prometheus или конфигурационный файл. Ставь 👍 и забирай 📚 Базу знаний

Настолки вместо скучного мерча! Мерч — это гораздо больше, чем футболка с лого! Ребята из команды Brandbox занимаются разработкой, адаптацией и производством корпоративных настольных игр. Донесем ценности и миссию компании через настольную игру вашего бренда. Идеальный подарок сотрудникам, коллегам и партнерам на любое мероприятие или событие! — Премиум качество — Разработка механики игры и дизайн бесплатно — Минимальный тираж 100 шт — Доставка по всей РФ Ну и, конечно же, бонусы для подписчиков нашего канала: Коллеги из Brandbox сделают бесплатный 3D макет коробки за день, отправят вам образец игры и оплатят доставку Узнать больше #реклама brandbox.games О рекламодателе

🤔 Как уменьшить размер Docker image? Чтобы уменьшить размер Docker image, используйте минимальные базовые образы (например, alpine), удаляйте временные файлы после сборки, объединяйте команды в Dockerfile и избегайте ненужных зависимостей. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Вебинар - "Прорыв в AI: применяйте DeepSeek эффективно" ⚡ Практикум по топовой китайской ии DeepSeek! Узнайте, как экономить 20+ часов в неделю! Формат: Живой бесплатный вебинар! Подойдет даже новичкам! На вебинаре вы: - Разберетесь в нейросетях и их возможностях - Научитесь писать рабочие промпты - Автоматизируете рутину (контент, аналитика и др.) - Создадите ИИ-ассистента в прямом эфире! Мы преготовили подарки: ✨ Подарок №1: Полезные материалы по ИИ ✨ Подарок №2: Руководство «Как создать цифровой аватар» (сразу после регистрации)! Кому подойдет? Контент-мейкерам, предпринимателям, специалистам и всем, кто хочет освоить ИИ для карьеры или дохода. ✅Успейте зарегистрироваться Бесплатно! Не теряйте время на рутину – доверьте ее ИИ! Зарегистрироваться #реклама 16+ ed.bonnieandslide.com О рекламодателе

🤔 Как найти запущенный процесс? В операционных системах на базе Unix и Linux для поиска запущенных процессов используются различные команды. 🟠Команда `ps` Команда ps отображает список текущих процессов. Часто используемые опции: ps aux: Показывает все процессы в системе. ps -ef: Альтернативный формат вывода всех процессов.
ps aux | grep <имя_процесса>
🟠Команда `top` Команда top показывает список процессов в реальном времени, обновляя его каждые несколько секунд. Это удобно для мониторинга системы и поиска процессов с высокой загрузкой CPU или памяти.
top
🟠Команда `htop` Команда htop — это улучшенная версия top, предоставляющая более удобный интерфейс для мониторинга процессов. Она должна быть установлена отдельно.
sudo apt-get install htop
htop
🟠Команда `pgrep` Команда pgrep используется для поиска процессов по имени. Она возвращает идентификаторы (PID) процессов, соответствующих критериям поиска. Пример использования:
pgrep <имя_процесса>
🟠Команда `pidof` Команда pidof возвращает идентификаторы (PID) процессов с указанным именем.
pidof <имя_процесса>
🟠Команда `ps` с фильтрацией Для более точного поиска можно использовать команду ps с фильтрацией через grep.
ps aux | grep <имя_процесса> | grep -v grep
🟠Команда `lsof` Команда lsof отображает список открытых файлов и может использоваться для поиска процессов, открывающих определенные файлы.
sudo lsof -i :<номер_порта>
🚩Пример поиска конкретного процесса Допустим, вам нужно найти процесс с именем nginx. Вот несколько способов сделать это Использование ps
ps aux | grep nginx | grep -v grep
Использование pgrep
pgrep nginx
Использование pidof
pidof nginx
🚩Использование `top` или `htop` Запустите top или htop и найдите процесс nginx в интерактивном режиме. Ставь 👍 и забирай 📚 Базу знаний

🚀 Хотите научиться интегрировать Apache Kafka и ClickHouse для эффективной обработки и анализа данных? 🚀 Присоединяйтесь к
🚀 Хотите научиться интегрировать Apache Kafka и ClickHouse для эффективной обработки и анализа данных? 🚀 Присоединяйтесь к открытому уроку 20 августа в 20:00 МСК! 📚 Мы разберём, как настроить потоковую передачу данных, обеспечить надёжность и производительность, а также оптимизировать хранение и запросы. Вы узнаете, как использовать нативные коннекторы и Kafka Connect для интеграции этих двух мощных инструментов. Мы покажем реальные кейсы, лучшие практики и как избежать частых ошибок при работе с Kafka и ClickHouse. Это знание поможет вам настроить эффективный pipeline и ускорить загрузку данных. Присоединяйтесь и получите скидку на курс «Apache Kafka»: https://otus.pw/NupM/ 🎯 Не пропустите! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

🤔 Как происходит работа с диском? Работа с диском идёт через: 1. Файловую систему — разбивка данных на блоки, управление метаданными. 2. ОС и драйверы — планируют чтение/запись, оптимизируют доступ. 3. Кэширование — часто используется буферизация в RAM. 4. Контроллер диска — управляет физическим доступом на уровне блоков. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что сделать если зависает ssh? Если SSH завис, не стоит сразу закрывать терминал. Есть несколько причин и решений. 🚩Проверить, можно ли выйти без разрыва сессии Если SSH завис, но сессия не разорвана, попробуйте выйти без закрытия терминала:
~.
Переключение в режим управления SSH
~Ctrl+Z
🚩Проверить соединение с сервером Если SSH завис, причина может быть в разрыве соединения. Проверьте: Работает ли пинг до сервера:
ping server_ip
🔹 Открыт ли SSH-порт (22):
nc -zv server_ip 22
🚩Перезапустить SSH-клиент Если только один SSH-клиент завис, попробуйте:
pkill -9 ssh
или
killall -9 ssh
Затем переподключитесь
ssh user@server_ip
🚩Проверить SSH-сервер Если сервер доступен, но SSH зависает, войдите через консоль или другой метод (например, VNC, IPMI). Если SSH не отвечает, перезапустите его:
sudo systemctl restart ssh
или
service ssh restart
🚩Отключить TCP KeepAlive или изменить таймауты Иногда SSH зависает из-за разрыва соединения на роутере или файрволе. Добавьте в ~/.ssh/config на клиенте
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 5
Или в /etc/ssh/sshd_config на сервере
ClientAliveInterval 60
ClientAliveCountMax 5
Затем перезапустите SSH
sudo systemctl restart ssh
🚩Убить зависшую SSH-сессию на сервере Если осталось зависшее подключение, найдите его и завершите:
who  # Показывает активные пользователи
ps aux | grep ssh  # Показывает процессы SSH
pkill -9 -u username  # Завершает все сессии пользователя
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие есть два вида admission вебхуков? Существует два типа: - ValidatingAdmissionWebhook — проверяет объект и может отклонить создание/обновление. - MutatingAdmissionWebhook — может изменить объект перед сохранением (например, добавить аннотации, изменить контейнер). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как проще проверить есть ли на сервер nginx? Проверить, установлен ли NGINX на сервере, можно несколькими способами: Проверка запущенного процесса
ps aux | grep nginx
Если NGINX работает, будет вывод с процессами, например:
root      1234  0.0  0.1  123456  7890 ? Ss   10:00   0:00 nginx: master process /usr/sbin/nginx
Проверка через systemctl (если systemd)
systemctl status nginx
Если NGINX установлен и работает, будет что-то вроде:
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since ...
Проверка через nginx -v (версия)
nginx -v
Если NGINX установлен, покажет версию, например:
nginx version: nginx/1.20.1
Проверка пакетов (dpkg или rpm) Если сервер на Debian/Ubuntu:
dpkg -l | grep nginx
Если сервер на CentOS/RHEL:
rpm -qa | grep nginx
Проверка открытых портов (если сервер работает)
netstat -tulnp | grep :80
или
ss -tulnp | grep :80
Ставь 👍 и забирай 📚 Базу знаний

🤔 Для чего Ansible должна быть идемпотентна? Идемпотентность в Ansible означает, что повторный запуск плейбука не должен менять систему, если она уже в нужном состоянии. Это важно для предсказуемости, удобства автоматизации и предотвращения ненужных изменений или сбоев. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 В чем разница Deployment и DaemonSet? Deployment и DaemonSet являются двумя типами контроллеров, которые управляют развертыванием и обеспечением жизненного цикла подов (групп контейнеров). Они оба играют важные роли, но используются для разных целей и сценариев. 🚩Deployment Это контроллер, который обеспечивает декларативное обновление подов и ReplicaSets (другой тип контроллера, который управляет одновременным запуском нескольких экземпляров одного и того же пода). Deployment поддерживает непрерывное развертывание, откат к предыдущим версиям, а также масштабирование подов. 🟠Масштабирование Вы можете увеличивать или уменьшать количество подов в зависимости от нужд. 🟠Обновления Поддерживает стратегии развертывания, такие как Rolling Update (постепенное обновление), которое помогает минимизировать простои при обновлении приложения. 🟠Самовосстановление Автоматически перезапускает поды, которые перестали работать, находятся в ошибочном состоянии или не отвечают.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
🚩DaemonSet Это контроллер, который гарантирует, что на каждом узле кластера Kubernetes запущен экземпляр заданного пода. Когда добавляется новый узел, на нем автоматически запускается под, управляемый DaemonSet, и если узел удаляется, поды удаляются автоматически. Это идеально подходит для запуска служб мониторинга, сбора логов или других утилит, которые должны быть запущены на каждом узле. 🟠Гарантия запуска Убедитесь, что каждый узел кластера запускает копию определённого пода. 🟠Автоматическое размещение Когда добавляются новые узлы, на них автоматически размещаются необходимые поды. 🟠Службы уровня узла Идеально подходит для запуска системных служб, таких как коллекторы логов, системы мониторинга и другие.
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
spec:
  selector:
    matchLabels:
      name: fluentd-elasticsearch
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: fluent/fluentd:v1.0
        volumeMounts:
        - name: varlog
          mountPath: /var/log
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что значит процесс-сирота? Процесс, чей родитель завершился — становится сиротой и переназначается init (PID 1). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний