uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

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

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

Kanalga Telegram’da o‘tish

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

Ko'proq ko'rsatish
5 565
Obunachilar
-124 soatlar
-57 kun
-1030 kun
Postlar arxiv
🤔 От чего зависит время хранения метрик? Зависит от нескольких ключевых факторов, включая требования бизнеса, технические ограничения, нормативные требования и тип метрик. 🚩Основные факторы 🟠Требования бизнеса Анализ производительности: Для анализа производительности системы за длительные периоды может потребоваться хранение метрик за несколько месяцев или лет. Исторические данные: В некоторых случаях необходимо хранить исторические данные для сравнения и анализа долгосрочных тенденций. 🟠Технические ограничения Дисковое пространство: Доступное дисковое пространство напрямую влияет на количество данных, которые можно хранить. Производительность системы: Увеличение объема данных может снижать производительность системы мониторинга. 🟠Нормативные требования Соблюдение законов и регламентов: В некоторых отраслях существуют требования к хранению данных, включая метрики, за определенные периоды. 🟠Тип метрик Критические метрики: Метрики, важные для безопасности и стабильности системы, могут храниться дольше. Метрики производительности: Метрики производительности могут храниться короткий период для оперативного анализа и устранения проблем. 🚩Практические рекомендации 🟠Краткосрочное хранение 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. 🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию

🤔 Что такое service monitor в Kubernetes? ServiceMonitor — это объект в Kubernetes, используемый в связке с Prometheus для мониторинга сервисов. Он определяет, какие эндпоинты и метрики должны собираться Prometheus. Это часть системы мониторинга, которая позволяет автоматизировать сбор данных о состоянии сервисов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Миграция в облако? Это легко! Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресур
Миграция в облако? Это легко! Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресурсы! Эксперты Yandex Cloud помогут перейти в облако быстро, легко и безопасно. ✅ Мы полностью сопровождаем процесс. ✅ От вас — только инженер с доступом к инфраструктуре. ✅ Архитектура под ваши задачи, миграция и поддержка на каждом шагу — всё включено. ⚡Переходите в Yandex Cloud и забудьте о старом железе. А если успеете подать заявку до 31 декабря, мы покроем расходы на инженеров и тестовую инфраструктуру. Подать заявку #реклама 16+ yandex.cloud О рекламодателе Реклама на Яндексе

🤔 Какой прикручиваете мониторинг к своим приложениям чем мониторите? Это важная часть управления инфраструктурой и обеспечения стабильной работы сервисов. Различные инструменты позволяют отслеживать состояние приложений, ресурсов системы и выявлять проблемы до того, как они повлияют на пользователей. 🚩Prometheus Это мощный инструмент для мониторинга и алертинга, который собирает метрики с приложений и систем. Prometheus использует язык запросов PromQL для анализа и генерации алертов. 🚩Установка и настройка Prometheus 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.ym   
2⃣Конфигурация prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
   - job_name: 'my_application'
    static_configs:
      - targets: ['localhost:9090']   
3⃣Экспортеры для сбора метрик Node Exporter для системных метрик Приложения могут использовать библиотеки клиента для передачи метрик (например, prometheus_client для Python) 🚩Grafana Это инструмент для визуализации данных, который отлично интегрируется с Prometheus. Он позволяет создавать красивые и информативные дашборды. 🚩Установка и настройка Grafana 1⃣Установка Grafana
wget https://dl.grafana.com/oss/release/grafana-7.4.3.linux-amd64.tar.gz
tar -zxvf grafana-7.4.3.linux-amd64.tar.gz
cd grafana-7.4.3/bin
./grafana-server   
2⃣Добавление источника данных В веб-интерфейсе Grafana добавьте Prometheus как источник данных. Создайте дашборды и панели для визуализации метрик. 3⃣Alertmanager Alertmanager управляет алертами, отправляемыми Prometheus, и позволяет настраивать правила алертинга и маршрутизации. 🚩Конфигурация Alertmanager 1⃣Конфигурация alertmanager.yml
global:
  smtp_smarthost: 'smtp.example.com:587'
  smtp_from: 'alertmanager@example.com'

route:
  receiver: 'email-alert'

receivers:
- name: 'email-alert'
  email_configs:
  - to: 'team@example.com'
ELK Stack используется для сбора, анализа и визуализации логов. 🚩Основные компоненты 🟠Elasticsearch Хранение и поиск логов. 🟠Logstash Сбор, обработка и преобразование логов. 🚩Установка и настройка ELK Stack 1⃣Установка Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.11.2-linux-x86_64.tar.gz
cd elasticsearch-7.11.2
./bin/elasticsearch   
2⃣Установка Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.11.2-linux-x86_64.tar.gz
tar -xzf logstash-7.11.2-linux-x86_64.tar.gz
cd logstash-7.11.2
./bin/logstash -f logstash.conf   
3⃣Установка Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.11.2-linux-x86_64.tar.gz
tar -xzf kibana-7.11.2-linux-x86_64.tar.gz
cd kibana-7.11.2
./bin/kibana   
Ставь 👍 и забирай 📚 Базу знаний

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человек
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам. ✔️ Как научиться отвлекаться от работы и отдыхать? ✔️ Как совместить кучу рабочих задач и время с семьей? ✔️ Как справиться с прокрастинацией? ✔️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит? Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни! 👨🏻‍💻 Псс. Заходите в закреп канала - там много полезного: https://t.me/+5NBjd_Euafg1YTYy

🤔 На каких технологиях базируется контейнеризация, Docker в том числе? Контейнеризация базируется на технологиях виртуализации на уровне ОС, таких как cgroups и namespaces, предоставляемых ядром Linux. cgroups управляют ресурсами (CPU, память), а namespaces изолируют процессы. Docker также использует OverlayFS для управления файловыми системами контейнеров. Вместе эти технологии обеспечивают лёгкую изоляцию и портативность. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Если у вас много машин и нет ansible и питона как будете устанавливать? Если у вас много машин и нет Ansible и Python, можно использовать несколько подходов для автоматической установки этих инструментов. 🚩Методы 🟠Использование SSH и скриптов Вы можете написать скрипт, который будет подключаться к каждой машине по SSH и устанавливать необходимые пакеты. Шаги: 1⃣Создайте скрипт для установки Python и Ansible
#!/bin/bash

# Установка Python
sudo apt update
sudo apt install -y python3 python3-pip

# Установка Ansible
pip3 install ansible
2⃣Создайте скрипт для выполнения установки на удалённых машинах
#!/bin/bash

# Список IP-адресов или хостнеймов машин
HOSTS=("host1" "host2" "host3")

# Путь к скрипту установки
INSTALL_SCRIPT="install_ansible.sh"

# Копирование скрипта и выполнение на удалённых машинах
for HOST in "${HOSTS[@]}"; do
    scp $INSTALL_SCRIPT $HOST:/tmp/
    ssh $HOST "bash /tmp/$INSTALL_SCRIPT"
done
🟠Использование `cloud-init` (для облачных машин) Если вы используете облачные машины, такие как AWS, Azure или Google Cloud, можно использовать cloud-init для автоматической установки Python и Ansible при создании машин. Пример cloud-init конфигурации
#cloud-config
packages:
  - python3
  - python3-pip

runcmd:
  - pip3 install ansible
🟠Использование Fabric Это инструмент для выполнения команд на удалённых серверах по SSH, который можно использовать для автоматизации установки Python и Ansible. Установка Fabric
pip install fabric
Пример использования Fabric
from fabric import Connection

# Список хостов
hosts = ["host1", "host2", "host3"]

# Команды для выполнения
commands = [
    "sudo apt update",
    "sudo apt install -y python3 python3-pip",
    "pip3 install ansible"
]

# Выполнение команд на каждом хосте
for host in hosts:
    conn = Connection(host)
    for command in commands:
        conn.run(command)
Запустите скрипт:
python deploy.py
🟠Использование pdsh (Parallel Distributed Shell) Это утилита для параллельного выполнения команд на нескольких хостах. Установка pdsh
sudo apt install pdsh
Пример использования pdsh
# Список хостов
HOSTS="host1,host2,host3"

# Команды для выполнения
pdsh -w $HOSTS "sudo apt update && sudo apt install -y python3 python3-pip"
pdsh -w $HOSTS "pip3 install ansible"
Ставь 👍 и забирай 📚 Базу знаний

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

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

🤔 Через что запускаете плейбуки или роли? В Ansible плейбуки и роли могут быть запущены различными способами в зависимости от контекста и требований. Основные методы включают использование командной строки, автоматизацию через CI/CD системы и запуск через API. Вот описание основных способов запуска плейбуков и ролей: 🚩Запуск через командную строку Самый распространенный и прямолинейный способ запуска плейбуков и ролей — это использование командной строки с командой ansible-playbook. Запуск плейбука
ansible-playbook site.yml  
Запуск плейбука с указанием инвентарного файла
ansible-playbook -i inventory/hosts site.yml  
Запуск плейбука с переменными
ansible-playbook -i inventory/hosts site.yml -e "variable1=value1 variable2=value2"  
Запуск определенной роли в плейбуке Плейбук
# site.yml
- hosts: all
  roles:
    - role: my_role  
Команда
ansible-playbook -i inventory/hosts site.yml  
🚩Запуск через CI/CD системы Многие современные проекты используют CI/CD системы, такие как Jenkins, GitLab CI, GitHub Actions и другие для автоматизации процесса развертывания и тестирования. Ansible легко интегрируется с такими системами. Jenkins Pipeline
pipeline {
    agent any
    stages {
        stage('Deploy') {
            steps {
                sh 'ansible-playbook -i inventory/hosts site.yml'
            }
        }
    }
}
🟠Пример запуска через GitLab CI .gitlab-ci.yml
stages:
  - deploy

deploy:
  stage: deploy
  script:
    - ansible-playbook -i inventory/hosts site.yml
🟠Запуск через Ansible Tower или AWX Ansible Tower (коммерческий продукт) и AWX (open-source версия Ansible Tower) предоставляют веб-интерфейс и API для управления и автоматизации Ansible задач. 🚩Пример запуска через Ansible Tower/AWX 🟠Создание Job Template В веб-интерфейсе Ansible Tower или AWX создайте новый шаблон задания (Job Template), укажите плейбук и инвентарь. 🟠Запуск задания: Запустите задание через веб-интерфейс или API. Запуск через API
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"inventory": "1", "job_template": "1"}' \
http://tower.example.com/api/v2/job_templates/1/launch/
Пример плейбука site.yml
# site.yml
- hosts: all
  roles:
    - role: my_role
Запуск через командную строку
ansible-playbook -i inventory/hosts site.yml
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда используется UDP? UDP используется, когда важна скорость и допустима потеря данных, например, в стриминге, видеозвонках, DNS-запросах и онлайн-играх. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний