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

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

الذهاب إلى القناة على Telegram
5 502
المشتركون
-324 ساعات
-107 أيام
-530 أيام
أرشيف المشاركات
🤔 Что такое squash в Docker? squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

«Патрики» – новый жилой район бизнес класса в Краснодаре «Патрики» – новый неисторический центр Краснодара. Он воплощает ключ
«Патрики» – новый жилой район бизнес класса в Краснодаре «Патрики» – новый неисторический центр Краснодара. Он воплощает ключевые представления об идеальном месте: - Детские сады и школа на территории - Брендовые рестораны и бутики в шаговой доступности - Закрытый охраняемый двор - Гранд-аллея с арт-объектами - Современные фитнес-центр премиум класса - Зоны отдыха для детей и взрослых - Подземная парковка - 5 прогулочных бульваров и аллей Эстетика и комфорт начинается до того, как вы переступили порог своего дома. Вход расположен на уровне тротуара, здесь нет ступеней и пандусов. Чтобы войти, не надо искать ключи в сумке, ведь дверь открывается по Face ID. Патрики — это место, где каждый реализует свой жизненный потенциал. Получить предложение #реклама promo.tochno-patriki.ru О рекламодателе

🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне? Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами. 🚩Локальный почтовый сервер (SMTP) 1⃣Установка
sudo apt update
sudo apt install postfix   
2⃣Настройка Отредактируйте /etc/postfix/main.cf
myhostname = local.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination   
3⃣Перезапуск Postfix
sudo systemctl restart postfix   
4⃣Проверка
echo "Test email" | mail -s "Test Subject" user@example.com
🚩Локальный мессенджер (Mattermost) 1⃣Установка Mattermost Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html). 2⃣Настройка Создайте каналы и пользователей. 3⃣Интеграция с мониторингом Используйте веб-хуки Mattermost для уведомлений. 🚩Системы управления инцидентами (Zabbix) 1⃣Установка Zabbix Следуйте [документации](https://www.zabbix.com/download). 2⃣Настройка Настройте хосты, триггеры и действия. 3⃣Настройка уведомлений Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления. 🚩Локальный стек мониторинга (Prometheus, Alertmanager) 1⃣Установка Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
tar xvf prometheus-2.26.0.linux-amd64.tar.gz
cd prometheus-2.26.0.linux-amd64
./prometheus --config.file=prometheus.yml   
2⃣Установка Alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
./alertmanager --config.file=alertmanager.yml   
3⃣Настройка алертинга в Prometheus
groups:
  - name: example-alerts
    rules:
      - alert: HighCPUUsage
        expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage detected"
          description: "CPU usage is above 80% for more than 2 minutes"   
4⃣Настройка Alertmanager
global:
  smtp_smarthost: 'localhost:25'
  smtp_from: 'alertmanager@local.example.com'
route:
  receiver: 'email-notifications'
receivers:
  - name: 'email-notifications'
    email_configs:
      - to: 'admin@local.example.com'
        send_resolved: true   
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое мониторинг, какие инструменты можно использовать? Мониторинг — это процесс наблюдения за состоянием инфраструктуры и приложений для обеспечения их работоспособности и своевременного реагирования на сбои. Система мониторинга собирает метрики, логи и события для анализа и визуализации. Для мониторинга можно использовать инструменты, такие как Prometheus для сбора метрик, Grafana для визуализации, и ELK stack для логирования. Эти инструменты помогают отслеживать производительность и стабильность системы, а также выявлять аномалии в работе. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как настроите уведомления для сервисов от чего это будет зависеть? Является важной частью мониторинга и управления инфраструктурой. Уведомления позволяют оперативно реагировать на проблемы и минимизировать время простоя. Настройка уведомлений зависит от нескольких факторов, таких как критичность сервиса, тип метрик, предпочитаемые каналы уведомлений и инструменты мониторинга. 🚩Основные факторы 🟠Критичность сервиса Критически важные сервисы требуют более быстрых и агрессивных уведомлений. Менее важные сервисы могут иметь менее строгие правила уведомлений. 🟠Тип метрик Производственные метрики: CPU, память, диск, сеть. Метрики приложений: время отклика, количество ошибок, производительность. Пользовательский опыт: время загрузки страницы, количество успешных транзакций. 🟠Каналы уведомлений Email SMS Мессенджеры (Slack, Microsoft Teams) Системы управления инцидентами (PagerDuty, OpsGenie) 🟠Инструменты мониторинга Prometheus + Alertmanager Grafana Zabbix 🚩Пример настройки уведомлений с использованием Prometheus и Alertmanager 1⃣Настройка правил алертинга в Prometheus Создайте или отредактируйте файл alerts.yml
groups:
  - name: example-alerts
    rules:
      - alert: HighCPUUsage
        expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage detected"
          description: "CPU usage is above 80% for more than 2 minutes"
Добавьте конфигурацию в prometheus.yml
rule_files:
  - "alerts.yml"
2⃣Настройка Alertmanager Создайте или отредактируйте файл alertmanager.yml
global:
  smtp_smarthost: 'smtp.example.com:587'
  smtp_from: 'alertmanager@example.com'

route:
  receiver: 'email-notifications'

receivers:
  - name: 'email-notifications'
    email_configs:
      - to: 'team@example.com'
        send_resolved: true

inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'instance']
Запустите Alertmanager
./alertmanager --config.file=alertmanager.yml
3⃣Интеграция Alertmanager с Prometheus Добавьте Alertmanager в конфигурацию Prometheus
alerting:
  alertmanagers:
    - static_configs:
        - targets: ['localhost:9093']
🚩Пример настройки уведомлений в Grafana 🟠Создание контактной точки (Contact Point) Перейдите в раздел "Alerting" -> "Contact points" и создайте новую контактную точку. Укажите каналы уведомлений, такие как Email, Slack, PagerDuty и другие. 🟠Создание правила уведомлений (Notification Policy) Перейдите в раздел "Alerting" -> "Notification policies" и создайте новую политику уведомлений. Настройте условия и укажите контактные точки. 🚩Пример настройки уведомлений в Zabbix 🟠Создание медиатипа (Media Type) Перейдите в раздел "Administration" -> "Media types" и создайте новый медиатип (например, Email или SMS). 🟠Создание пользователей и настройка уведомлений Перейдите в раздел "Administration" -> "Users" и создайте пользователей. Настройте медиатипы для каждого пользователя и укажите, когда и как отправлять уведомления. Ставь 👍 и забирай 📚 Базу знани

🤔 Как покрываете Ansible тестами? Для тестирования Ansible используют инструменты, такие как Molecule, который позволяет создавать тестовые сценарии, запускать плейбуки и проверять их результаты. Также используются статические анализаторы, такие как ansible-lint, для проверки кода на соответствие стандартам. Кроме того, можно применять интеграционные тесты с помощью Docker или виртуальных машин. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Сотрудники отдыхают — бизнес работает! ✨ Новый год — время отдыха, но ваш бизнес не должен останавливаться! Как обеспечить кр
+3
Сотрудники отдыхают — бизнес работает! ✨ Новый год — время отдыха, но ваш бизнес не должен останавливаться! Как обеспечить круглосуточную поддержку клиентов без лишних затрат? У MANGO OFFICE есть решение для бизнеса: Пусть в Новый год работают роботы! В режиме 24/7 они обрабатывают запросы ваших клиентов по многоканальной связи до 100 звонков одновременно ✅ примут заявки от клиентов ✅ проконсультируют по товарам ✅ уведомят о статусе заказа А главное, роботы и чат-боты MANGO OFFICE обойдутся дешевле, чем переработки ваших сотрудников 💰 Узнайте больше по ссылке ниже Перейти на сайт #реклама 16+ mango-office.ru О рекламодателе

🤔 Какие золотые принципы мониторинга вы используете ваши лучшие практики? Эффективный мониторинг является критически важным для поддержания стабильности, производительности и безопасности систем. 🟠Проактивный мониторинг Настройка алертинга для проактивного выявления проблем до их воздействия на пользователей. Использование пороговых значений и трендов для настройки алертов. Регулярная проверка и обновление алертов на основе опыта и изменяющихся условий. 🟠Централизованный сбор данных Консолидация логов, метрик и событий в одной системе для удобного анализа. Использование инструментов, таких как ELK Stack, Prometheus, и Grafana для сбора и анализа данных. Централизация данных для упрощения корреляции и анализа. 🟠Покрытие всех уровней системы Мониторинг всех уровней системы: инфраструктуры, приложений, сетей и пользовательского опыта. Инструменты мониторинга инфраструктуры: Prometheus, Nagios. Мониторинг приложений: APM (Application Performance Monitoring) инструменты, такие как New Relic, Datadog. Мониторинг пользовательского опыта: Real User Monitoring (RUM) и Synthetic Monitoring. 🟠Метрики производительности и доступности Отслеживание ключевых метрик производительности и доступности. CPU, память, диск, сеть: сбор и анализ системных метрик. Время отклика и количество ошибок: метрики приложений. Среднее время безотказной работы (MTTF) и среднее время восстановления (MTTR). 🟠Анализ и визуализация данных Создание информативных и понятных дашбордов для анализа данных. Использование Grafana для визуализации метрик и создания дашбордов. Настройка дашбордов для различных аудиторий: разработчики, операционные команды, менеджмент. 🟠Аутентификация и авторизация Обеспечение безопасности данных мониторинга через аутентификацию и авторизацию. Настройка ролевой модели доступа к данным мониторинга. Использование защищенных каналов связи (TLS/SSL). 🟠Документация и обучение Поддержка актуальной документации по настройкам мониторинга и обучение команды. Документация конфигураций, схем и процессов мониторинга. Регулярное обучение команды по инструментам и методам мониторинга. 🟠Автоматизация и интеграция Использование автоматизации для настройки и поддержания мониторинга. Автоматизация развертывания агентов мониторинга с помощью Ansible, Terraform и других инструментов. Интеграция с CI/CD для мониторинга развертываний и выпуска новых версий. 🟠Регулярный аудит и улучшение Регулярная оценка и улучшение системы мониторинга. Проведение регулярных аудитов конфигураций и эффективности мониторинга. Внедрение новых инструментов и методов на основе обратной связи и новых технологий. Ставь 👍 и забирай 📚 Базу знаний

✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub
✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub

🤔 Когда ты разворачиваешь стандартный кластер Kubernetes, что делает твой namespace? При развёртывании кластера создаются стандартные namespaces: default для объектов по умолчанию, kube-system для компонентов Kubernetes, kube-public для общедоступных ресурсов и kube-node-lease для управления состоянием узлов. Они помогают разделить ресурсы и организовать кластер. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 От чего зависит время хранения метрик? Зависит от нескольких ключевых факторов, включая требования бизнеса, технические ограничения, нормативные требования и тип метрик. 🚩Основные факторы 🟠Требования бизнеса Анализ производительности: Для анализа производительности системы за длительные периоды может потребоваться хранение метрик за несколько месяцев или лет. Исторические данные: В некоторых случаях необходимо хранить исторические данные для сравнения и анализа долгосрочных тенденций. 🟠Технические ограничения Дисковое пространство: Доступное дисковое пространство напрямую влияет на количество данных, которые можно хранить. Производительность системы: Увеличение объема данных может снижать производительность системы мониторинга. 🟠Нормативные требования Соблюдение законов и регламентов: В некоторых отраслях существуют требования к хранению данных, включая метрики, за определенные периоды. 🟠Тип метрик Критические метрики: Метрики, важные для безопасности и стабильности системы, могут храниться дольше. Метрики производительности: Метрики производительности могут храниться короткий период для оперативного анализа и устранения проблем. 🚩Практические рекомендации 🟠Краткосрочное хранение 1-2 месяца: Для оперативного мониторинга и анализа текущих событий и инцидентов. 🟠Среднесрочное хранение 3-6 месяцев: Для анализа тенденций и выявления закономерностей. 🟠Долгосрочное хранение 1-2 года: Для соответствия нормативным требованиям и долгосрочного анализа производительности. 🚩Примеры настройки сроков хранения метрик 🟠Prometheus (Retention Policy) Позволяет настроить срок хранения данных с помощью параметра --storage.tsdb.retention.time. Настройка срока хранения метрик
prometheus --storage.tsdb.retention.time=90d   
🟠InfluxDB (Retention Policy) Позволяет управлять временем хранения данных с помощью политики хранения (Retention Policy). 1⃣Создание политики хранения
CREATE RETENTION POLICY "three_months" ON "mydb" DURATION 90d REPLICATION 1 DEFAULT   
2⃣Применение политики хранения
ALTER RETENTION POLICY "three_months" ON "mydb" DURATION 90d REPLICATION 1   
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое firewall? Firewall — это сетевой фильтр, который контролирует входящий и исходящий трафик на основе заданных правил безопасности. Он используется для защиты систем от несанкционированного доступа и обеспечения фильтрации вредоносного трафика. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Сколько времени храните логи по мониторингу? Зависит от нескольких факторов, включая требования бизнеса, нормативные требования и технические ограничения. Обычно логи по мониторингу хранятся от нескольких недель до нескольких лет. 🚩Факторы 🟠Требования бизнеса Для анализа и отчетности могут требоваться логи за длительные периоды. Для отладки и решения инцидентов могут быть достаточно короткие периоды хранения. 🟠Нормативные требования В некоторых отраслях существуют законодательные требования к срокам хранения данных (например, финансовый сектор или здравоохранение). 🟠Технические ограничения Доступное дисковое пространство и производительность системы могут ограничивать срок хранения логов. 🟠Тип логов Разные типы логов могут иметь разные сроки хранения. Например, критические системные логи могут храниться дольше, чем логи отладки. 🚩Практические рекомендации 🟠Краткосрочное хранение Хранение логов за последние 7-30 дней для оперативного мониторинга и анализа. 🟠Среднесрочное хранение Хранение логов за последние 3-6 месяцев для анализа тенденций и расследования инцидентов. 🟠Долгосрочное хранение Хранение логов за последние 1-2 года для соответствия нормативным требованиям и долгосрочного анализа. 🚩Примеры настройки сроков хранения логов 🟠Elasticsearch (ILM - Index Lifecycle Management) ILM позволяет управлять жизненным циклом индексов, автоматически перемещая данные между горячими, теплыми и холодными индексами и удаляя старые данные. 1⃣Создание политики ILM
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_age": "30d",
            "max_size": "50gb"
          }
        }
      },
      "warm": {
        "min_age": "30d",
        "actions": {
          "shrink": {
            "number_of_shards": 1
          },
          "set_priority": {
            "priority": 50
          }
        }
      },
      "cold": {
        "min_age": "90d",
        "actions": {
          "freeze": {},
          "set_priority": {
            "priority": 0
          }
        }
      },
      "delete": {
        "min_age": "180d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}
2⃣Применение политики к индексу
PUT /myapp-logs/_settings
{
  "index.lifecycle.name": "my_policy"
}   
🟠Logrotate Используется для управления файлами логов и их архивирования. 1⃣Конфигурация logrotate Создайте файл конфигурации /etc/logrotate.d/myapp
/var/log/myapp/*.log {
    daily
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 0640 myuser mygroup
    sharedscripts
    postrotate
        /usr/bin/systemctl reload myapp.service > /dev/null
    endscript
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что даёт load balancer? Load Balancer распределяет входящий трафик между несколькими серверами или контейнерами, обеспечивая высокую доступность и отказоустойчивость. Он также помогает избежать перегрузки отдельных узлов и улучшает производительность системы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое OOM? OOM расшифровывается как "Out Of Memory" (недостаток памяти). Это состояние, при котором система или процесс исчерпывает все доступные ресурсы памяти, что приводит к невозможности выделения дополнительной памяти для выполнения текущих задач или запуска новых процессов. 🚩Почему возникает 🟠Неэффективное управление памятью Приложение может не освобождать память после использования (утечки памяти), что со временем приводит к её исчерпанию. 🟠Недостаток ресурсов На устройстве или сервере физически недостаточно оперативной памяти для поддержки всех запущенных процессов. 🟠Пиковые нагрузки Внезапное увеличение нагрузки на систему, требующее больше памяти, чем обычно. 🚩Как используется 1⃣Уведомление процессов Некоторые ОС уведомляют процессы о нехватке памяти, чтобы они могли освободить часть ресурсов. 2⃣Прекращение процессов В крайнем случае ОС может принудительно завершить процессы для освобождения памяти. В Linux, например, существует OOM Killer, который завершает наиболее "прожорливые" процессы. 3⃣Журналирование Запись в журнал, чтобы администраторы могли позже проанализировать и устранить причину проблемы.
data = []
while True:
    data.append(' ' * 10**6)  # Добавляем строки по 1 МБ в список бесконечно
🚩Как предотвратить 🟠Мониторинг Постоянно отслеживайте использование памяти вашими приложениями и системами. 🟠Оптимизация кода Пишите код, который эффективно использует и освобождает память. 🟠Настройка лимитов Устанавливайте ограничения на использование памяти для процессов. 🟠Масштабирование ресурсов При необходимости увеличивайте объем доступной памяти или используйте распределенные системы. Ставь 👍 и забирай 📚 Базу знаний

⁉️ Хотите понять, как Kubernetes управляет контейнерами? 🔥Узнайте всё о его ключевых компонентах: Control Plane, Worker Node
⁉️ Хотите понять, как Kubernetes управляет контейнерами? 🔥Узнайте всё о его ключевых компонентах: Control Plane, Worker Nodes, Pods, Namespaces. На открытом вебинаре мы разберём архитектуру Kubernetes и покажем, как настроить систему для масштабирования и отказоустойчивости. 📗Этот урок — ваш первый шаг к созданию инфраструктурной платформы. После вебинара вы поймёте, как управлять контейнерами, их взаимодействием и хранением данных. 🔗Регистрируйтесь на вебинар 17 декабря в 20:00 мск. Участники получат скидку 🎁 на обучение на курсе «Инфраструктурная платформа на основе Kubernetes»: https://otus.pw/aY3z/?erid=LjN8K8RnL  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца 🎄 Старт: 16 декабря Программа курса
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца 🎄 Старт: 16 декабря Программа курса: - Контейнеризация и оркестрация: Docker и Kubernetes - Основы Linux и Git - Принципы работы с инфраструктурой, контейнерами, CI/CD - Методы статического анализа для оценки безопасности кода - Компьютерные сети, базы данных и Bash-скрипты Кому подойдет этот курс? - Новичкам: для старта карьеры в команде продуктовой разработки - Разработчикам: для автоматизации и оптимизации процессов - Руководителям проектов: для повышения эффективности своей команды @Codeby_Academy Узнать подробнее о курсе

🤔 Что такое squash в Docker? squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какая файловая система бывает с динамическими inode? Это файловая система, которая может увеличивать количество inode по мере необходимости, вместо того чтобы фиксировать их количество при создании. Такой подход позволяет более эффективно использовать дисковое пространство и избегать ситуаций, когда inode заканчиваются, хотя на диске еще достаточно свободного места. 🚩XFS 🟠Динамическое управление inode XFS не фиксирует количество inode при создании файловой системы. Inode выделяются по мере необходимости из свободного дискового пространства, что позволяет более гибко и эффективно использовать ресурсы. 🟠Высокая производительность XFS разработана для высокопроизводительных операций ввода-вывода и хорошо подходит для больших файлов и файловых систем. 🟠Журналирование XFS использует журналирование для повышения надежности и быстрого восстановления после сбоев. 🟠Поддержка больших файлов и файловых систем XFS может управлять очень большими файлами и файловыми системами (до нескольких петабайт). 🟠Дефрагментация и оптимизация Встроенные средства для дефрагментации и оптимизации файловой системы позволяют поддерживать высокую производительность. 🟠Пример создания XFS файловой системы Для создания файловой системы XFS на разделе /dev/sdX1, можно использовать команду mkfs.xfs
mkfs.xfs /dev/sdX1
🟠Пример монтирования XFS файловой системы После создания файловой системы ее можно смонтировать
mount /dev/sdX1 /mnt/myxfs
Ставь 👍 и забирай 📚 Базу знаний

– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с тру
– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с трудоустройством Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT. 🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию