es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

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

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

Ir al canal en Telegram

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

Mostrar más
5 567
Suscriptores
-124 horas
-67 días
+230 días
Archivo de publicaciones
🤔 Как экспортёры отдают метрики? Экспортёры собирают метрики из сервисов или ОС и предоставляют их по HTTP в формате, который Prometheus может опрашивать. Они работают по модели pull, где Prometheus забирает данные сам. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

📺 База 1000+ реальных собеседований На программиста, тестировщика, аналитика, проджекта и другие IT профы. Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д. 🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!

🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне? Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами. 🚩Локальный почтовый сервер (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
Ставь 👍 и забирай 📚 Базу знаний

Надежные VDS-сервера в NetAngels от 73₽/месяц Подберем мощные VDS-сервер для любых задач. Техподдержка 24/7. Защита от DDoS-а
Надежные VDS-сервера в NetAngels от 73₽/месяц Подберем мощные VDS-сервер для любых задач. Техподдержка 24/7. Защита от DDoS-атак. Гибкая конфигурация. Бесплатный перенос VDS с сохранением всех данных. Выбери тариф под свои задачи: Старт (Для низкой нагрузки: хранение файлов, раздача статики и простые веб-проекты) Оптима (NVMe-диски для высокой скорости и баланс цены и производительности) Турбо (Элитный VDS на базе топового оборудования с высокочастотными процессорами) Про (Мощный VDS с гарантированными ресурсами для масштабных проектов) ТурбоПро (VDS уровня enterprise с гарантированными ядрами и высокочастотными процессорами) Ультра (Высокопроизводительный VDS для ресурсоемких проектов и корпоративных систем. В тариф включена поддержка GPU) Попробуйте VDS-сервер от NetAngels! Перейти на сайт #реклама 16+ netangels.ru О рекламодателе

🤔 Из чего состоит worker node? Worker-нода содержит: - kubelet — агент, управляющий подами. - kube-proxy — сетевое взаимодействие и балансировка. - container runtime — Docker, containerd, CRI-O. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое debezium? Она позволяет отслеживать изменения в базах данных (INSERT, UPDATE, DELETE) в реальном времени и передавать их в Kafka, Elasticsearch, MongoDB и другие системы. 🚩Как работает Debezium? Подключается к базе данных (PostgreSQL, MySQL, MongoDB, Oracle и др.). Слушает лог изменений (binlog, WAL, oplog и т. д.) Формирует события в формате JSON Передаёт их в Kafka или другую шину данных. 🚩Где используется? Синхронизация данных между базами Репликация данных в реальном времени Отправка изменений в аналитические системы (Elasticsearch, ClickHouse) Аудит и логирование изменений 🟠Пример работы с Kafka Запускаем Debezium Connector для PostgreSQL*
{
  "name": "inventory-connector",
  "config": {
    "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
    "database.hostname": "localhost",
    "database.port": "5432",
    "database.user": "debezium",
    "database.password": "dbz",
    "database.dbname": "inventory",
    "database.server.name": "dbserver1"
  }
}
При изменении данных в таблице, Kafka получит событие:
{
  "schema": { ... },
  "payload": {
    "before": { "id": 1, "name": "Old Name" },
    "after": { "id": 1, "name": "New Name" },
    "op": "u"  // Update
  }
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда выполняются факты в Ansible? Факты (facts) — это информация о целевой машине (ОС, IP, пакеты и т.д.). Они собираются в начале каждого play, если включено gather_facts: true (по умолчанию включено). Также можно собирать их вручную через модуль setup. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как AWS работает с DevOps? AWS предоставляет облачные сервисы для автоматизации CI/CD, управления инфраструктурой, мониторинга и безопасности. 🚩CI/CD (Непрерывная интеграция и развертывание) AWS предлагает инструменты для автоматической сборки, тестирования и деплоя. AWS CodePipeline – автоматизация CI/CD-процессов AWS CodeBuild – сборка и тестирование кода AWS CodeDeploy – автоматический деплой в EC2, ECS, Lambda AWS CodeCommit – репозиторий Git в AWS Пример CI/CD-пайплайна в AWS CodePipeline 1. CodeCommit получает новый коммит 2. CodeBuild собирает и тестирует код 3. CodeDeploy разворачивает приложение на EC2 🚩Управление инфраструктурой (IaC) В DevOps важно автоматически создавать и управлять ресурсами AWS. Terraform – создает инфраструктуру по коду AWS CloudFormation – аналог Terraform от AWS AWS CDK (Cloud Development Kit) – IaC на Python/TypeScript
hcl  
resource "aws_instance" "web" {  
  ami           = "ami-123456"  
  instance_type = "t2.micro"  
}  
🚩Контейнеризация и оркестрация AWS поддерживает управление контейнерами и Kubernetes. Amazon ECS (Elastic Container Service) – контейнеры без Kubernetes Amazon EKS (Elastic Kubernetes Service) – управляемый Kubernetes AWS Fargate – запуск контейнеров без управления серверами Пример развертывания контейнера в AWS ECS: 1. Собираем Docker-образ 2. Загружаем его в Amazon ECR (Elastic Container Registry) 3. ECS автоматически масштабирует и управляет контейнерами 🚩Мониторинг и логирование Amazon CloudWatch – сбор метрик и логов AWS X-Ray – трассировка запросов в микросервисах AWS CloudTrail – аудит действий в AWS Пример мониторинга EC2 1. CloudWatch собирает метрики CPU, RAM 2. Настраиваем авто-масштабирование на основе этих метрик 3. CloudTrail записывает все изменения инфраструктуры 🚩Безопасность и управление доступом AWS IAM (Identity and Access Management) – контроль прав AWS Secrets Manager – управление паролями и API-ключами AWS KMS (Key Management Service) – шифрование данных
hcl  
resource "aws_iam_role" "s3_read" {  
  name = "s3-read-only"  
  assume_role_policy = jsonencode({  
    Statement = [{  
      Effect = "Allow"  
      Action = "s3:GetObject"  
      Resource = "arn:aws:s3:::my-bucket/*"  
    }]  
  })  
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как ограничить ресурсы приложения в кубах? Ограничения задаются в манифесте контейнера с помощью resources.limits и resources.requests. requests — минимальные ресурсы, которые контейнеру гарантированы. limits — максимум, который контейнер может использовать. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как бы построить выделение ресурсов, балансировку, нагрузку и всю масштабированность? Чтобы система работала стабильно и эффективно, нужно правильно распределять ресурсы, балансировать нагрузку и масштабировать сервисы. 🚩Основные компоненты Выделение ресурсов - CPU, RAM, диски, сеть Балансировка нагрузки равномерное распределение трафика Горизонтальное и вертикальное масштабирование Авто-масштабировани – динамическое добавление/удаление мощностей 🟠Выделение ресурсов (CPU, RAM, Диск, Сеть) В виртуализированных средах (Kubernetes, Docker, AWS, KVM, ESXi) выделение ресурсов настраивается через лимиты и квоты.
yaml  
apiVersion: v1  
kind: Pod  
metadata:  
  name: my-app  
spec:  
  containers:  
  - name: app  
    image: my-app:latest  
    resources:  
      requests:  
        cpu: "500m"   # Минимально 0.5 CPU  
        memory: "256Mi" # Минимально 256MB RAM  
      limits:  
        cpu: "1000m"  # Максимально 1 CPU  
        memory: "512Mi" # Максимально 512MB RAM  
🟠Балансировка нагрузки Балансировка уменьшает нагрузку на один сервер и равномерно распределяет запросы.
nginx  
upstream backend {  
  server app1:5000;  
  server app2:5000;  
}  
server {  
  listen 80;  
  location / {  
    proxy_pass http://backend;  
  }  
}  
Пример терраформа для AWS ALB
hcl  
resource "aws_lb" "example" {  
  name               = "my-load-balancer"  
  internal           = false  
  load_balancer_type = "application"  
  security_groups    = [aws_security_group.lb_sg.id]  
}  
🟠Масштабирование (Горизонтальное и Вертикальное) Горизонтальное масштабирование (добавление новых инстансов) Kubernetes Horizontal Pod Autoscaler (HPA)
yaml  
apiVersion: autoscaling/v2beta2  
kind: HorizontalPodAutoscaler  
metadata:  
  name: my-app-hpa  
spec:  
  scaleTargetRef:  
    apiVersion: apps/v1  
    kind: Deployment  
    name: my-app  
  minReplicas: 2  
  maxReplicas: 10  
  metrics:  
  - type: Resource  
    resource:  
      name: cpu  
      target:  
        type: Utilization  
        averageUtilization: 70  
🟠Авто-масштабирование (AWS/GCP/Kubernetes) AWS Auto Scaling Group
hcl  
resource "aws_autoscaling_group" "example" {  
  min_size             = 2  
  max_size             = 10  
  desired_capacity     = 2  
  launch_configuration = aws_launch_configuration.example.name  
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое pod? Pod — это основная единица развертывания в Kubernetes, которая представляет собой один или несколько контейнеров, работающих вместе и разделяющих общие ресурсы, такие как сеть и хранилище. Каждый pod получает уникальный IP-адрес в кластере и может включать контейнеры, которые взаимодействуют друг с другом. Pod является недолговечным и может быть перезапущен или пересоздан при сбое, поэтому Kubernetes автоматически управляет их состоянием. Pod помогает упрощать управление контейнерами в кластере. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как можно визуализировать логи? Визуализация логов — это процесс представления лог-файлов в удобном графическом виде для более легкого анализа, поиска аномалий и устранения проблем. Для этого используются различные инструменты, которые собирают, агрегируют и отображают логи в виде графиков, дашбордов и диаграмм. 🚩Почему нужна визуализация логов? 🟠Упрощает анализ вместо просмотра тысяч строк логов можно быстро увидеть тенденции и аномалии. 🟠Помогает в мониторинге можно отслеживать изменения в режиме реального времени. 🟠Ускоряет диагностику проблем легче выявить причину ошибки, если видеть всплески или изменения в логах. 🟠Облегчает работу с большими объемами данных миллионы строк логов можно представить в виде сводных диаграмм. 🚩Какие инструменты используются? 🟠ELK Stack (Elasticsearch + Logstash + Kibana) Logstash – собирает и обрабатывает логи. Elasticsearch – хранит и индексирует логи для быстрого поиска. Kibana – визуализирует данные, строит графики и дашборды. Пример: Можно создать график с количеством ошибок 500 за последние 24 часа. 🟠Grafana + Loki (альтернатива ELK) Loki – хранит и обрабатывает логи. Grafana – строит красивые дашборды с логами и метриками. Пример: Можно создать панель с последними логами приложений, используя tail-подобное обновление. 🟠Graylog Обрабатывает логи, хранит их в Elasticsearch, строит графики и отправляет алерты. Пример: Можно отфильтровать логи по уровню ERROR и вывести их в виде диаграммы. 🟠Datadog, Splunk, New Relic Коммерческие решения с мощными инструментами аналитики логов. Пример: Автоматическая корреляция логов с метриками системы. 🚩Простой пример работы с ELK Logstash конфиг (сбор логов из файла)
   input {
     file {
       path => "/var/log/app.log"
       start_position => "beginning"
     }
   }
   output {
     elasticsearch {
       hosts => ["http://localhost:9200"]
     }
   }
Ставь 👍 и забирай 📚 Базу знаний

Сбой DHCP или перегрузка канала — и сеть перестаёт дышать. Один некорректный пакет, десяток повторов — и критическая инфрастр
Сбой DHCP или перегрузка канала — и сеть перестаёт дышать. Один некорректный пакет, десяток повторов — и критическая инфраструктура уходит в оффлайн. На открытом уроке разберём самые практические атаки на доступность: DHCP starvation через DHCPig/Yersinia и перегрузку канала с помощью hping3. Покажем на живой демонстрации, какие последствия вызывают истощение пула адресов и агрессивная утилизация трафика. Если вы работаете с сетями, безопасностью или инфраструктурой — понимание этих атак критично. Это те кейсы, которые происходят в реальных компаниях, и именно их должен уметь распознавать и предотвращать каждый специалист. Встречаемся 10 декабря в 20:00 МСК в преддверие старта курса «Пентест. Инструменты и методы проникновения в действии». Регистрируйтесь — и разберите атаки до уровня пакетов: https://otus.pw/QUxIu/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🤔 Как по access-логам Nginx понять, из какого location отдан контент? По умолчанию в access.log не указывается location напрямую, но: - Обычно можно различить по пути URL — если location /static/, location /cache/, location /backend/ — это отражается в строке запроса. - Чтобы точно видеть, откуда был ответ, можно: - Добавить пользовательский формат логов, где записывать $uri или специальные переменные ($request_uri, $upstream_addr и пр.). - Логировать переменные, которые задаются внутри каждого location (например, set $source static → логируешь $source). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что слышали про rancher kubernetes? Это платформа для управления Kubernetes-кластерами. Она позволяет развертывать, настраивать, мониторить и управлять несколькими кластерами Kubernetes из единой панели управления. Rancher упрощает работу с Kubernetes, предоставляя удобный UI, API и инструменты автоматизации. 🚩Зачем нужен Rancher? 🟠Управление несколькими кластерами Rancher позволяет управлять кластерами Kubernetes, развернутыми в различных облаках (AWS, GCP, Azure) и на локальной инфраструктуре. 🟠Упрощенная установка и настройка С помощью Rancher можно быстро развернуть Kubernetes-кластеры с минимальными усилиями. 🟠Безопасность и контроль доступа Поддерживает аутентификацию через LDAP, Active Directory, GitHub и другие методы. 🟠Мониторинг и логирование Встроенная поддержка Prometheus, Grafana и Fluentd для мониторинга и логов. 🟠Развертывание приложений Поддерживает Helm-чарты и стандартные манифесты Kubernetes. 🚩Как работает Rancher? 🟠Rancher Server центральный компонент, управляющий кластерами и предоставляющий UI/API. 🟠Kubernetes-кластеры могут быть развернуты с помощью Rancher (RKE, RKE2) или добавлены вручную (например, EKS, AKS, GKE). 🟠Rancher Agents агенты, установленные в кластерах для обеспечения связи с сервером Rancher. 🚩Пример развертывания Rancher Для развертывания Rancher можно использовать Docker
docker run -d --name=rancher --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  rancher/rancher:latest
Ставь 👍 и забирай 📚 Базу знаний

Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🤔 Как автоматически деплоить Helm Chart? Для автоматического деплоя Helm-чартов можно использовать: - CI/CD инструменты (GitLab CI, GitHub Actions, Jenkins) с шагами helm install или helm upgrade; - GitOps-подход через ArgoCD или Flux, где Helm-чарты подтягиваются и применяются при изменении Git-репозитория; - Использование Helm-плагинов для управления релизами и версионированием. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какая разница между deployment и stateful set? Это контроллеры, используемые для управления подами, но они предназначены для различных типов приложений и имеют разные функции. Разница между ними связана с тем, как они управляют жизненным циклом подов, сетевой идентичностью, постоянством данных и порядком развертывания. 🚩Что такое Deployment? Используется для управления статическими или бесстаточными приложениями, где порядок запуска подов, их идентичность и состояние не имеют значения. 🟠Бесстаточные приложения Примеры: веб-серверы, микросервисы, обработка очередей. Каждый под одинаков, и потеря одного из них не нарушает работу приложения. 🟠Порядок развертывания Поды запускаются и удаляются в любом порядке. Если под удаляется, создается новый с другой идентичностью. 🟠Сетевой доступ Поды доступны через Service, но они не сохраняют фиксированные сетевые имена. 🟠Обновления Поддерживает обновления без простоя (rolling updates). Умеет откатываться на предыдущую версию.
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.21.6
🚩Что такое StatefulSet? Используется для управления состоянием и обеспечивает упорядоченность и идентичность подов. Это важно для приложений, где требуется сохранение данных, стабильные идентификаторы или порядок операций. 🟠Состояние приложения Примеры: базы данных (MySQL, PostgreSQL), системы очередей (Kafka), распределенные системы (Cassandra, Elasticsearch). Каждый под имеет уникальный идентификатор и связан с определенным хранилищем данных. 🟠Порядок развертывания Поды запускаются, обновляются и удаляются строго в определенном порядке (0, 1, 2...). Это важно для приложений, где один узел должен быть доступен перед запуском другого. 🟠Сетевой доступ Каждый под имеет фиксированное имя (например, pod-0, pod-1), что упрощает взаимодействие между подами. 🟠Обновления Выполняются поэтапно, с учетом порядка. 🟠Постоянство данных Поды используют PersistentVolumeClaim (PVC) для сохранения данных. Даже если под удален, данные остаются на диске и доступны после повторного запуска.
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql
spec:
  serviceName: "mysql-service"
  replicas: 3
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: mysql:5.7
        volumeMounts:
        - name: mysql-data
          mountPath: /var/lib/mysql
  volumeClaimTemplates:
  - metadata:
      name: mysql-data
    spec:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 10Gi
🚩Когда использовать что? 🟠Используйте `Deployment` Бесстаточное. Требует быстрой масштабируемости. Не зависит от порядка запуска подов. 🟠Используйте `StatefulSet` Требует сохранения данных между перезапусками. Зависит от фиксированной идентичности подов. Требует упорядоченного запуска или удаления. Ставь 👍 и забирай 📚 Базу знаний

🤔 Сколько дефолтно историй есть? По умолчанию Kubernetes хранит 10 ревизий (revisionHistoryLimit = 10) для ресурсов типа Deployment. Это значит, ты можешь откатиться на одну из 10 предыдущих версий. Это значение можно изменить в манифесте деплоймента. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний