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

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

رفتن به کانال در Telegram
5 510
مشترکین
+324 ساعت
-57 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
🤔 Как работает injector sidecar в Vault? Injector добавляет в под дополнительный контейнер, который извлекает секреты из Vault и передаёт их основному приложению через файл, переменную окружения или том. Это позволяет безопасно использовать секреты без ручной интеграции. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Из чего состоит control plane? В Kubernetes Control Plane — это набор компонентов, которые управляют всей кластерной системой. Он отвечает за контроль над состоянием кластера, управлением узлами (nodes) и развертыванием приложений. 🟠kube-apiserver Что делает: Это центральный компонент, предоставляющий API для управления кластером. Почему нужен: Все взаимодействия, включая добавление/удаление узлов, создание подов и настройку сетей, проходят через API-сервер. Как работает: Принимает запросы от пользователей, kubectl, и других компонентов. Проверяет подлинность запросов и валидирует данные. Передает команды другим компонентам через REST API. 🟠etcd Что делает: Это распределённое key-value хранилище, которое сохраняет все данные о состоянии кластера. Почему нужен: Все данные о конфигурации, статусе и метаданных кластера сохраняются в etcd. Если etcd выходит из строя, кластер теряет свою управляемость. Как работает: Хранит информацию о подах, конфигурации сетей и статусе всех компонентов. Поддерживает консенсус между узлами, обеспечивая надёжность данных. 🟠kube-scheduler Что делает: Назначает поды на доступные узлы. Почему нужен: Без планировщика поды не смогут быть развернуты на узлах. Как работает: Считывает незапланированные поды из API-сервера. Анализирует доступные узлы на основе их ресурсов (CPU, память и т.д.). Назначает узел для каждого пода на основе алгоритмов (например, минимальная загрузка). 🟠kube-controller-manager Что делает: Управляет контроллерами, которые следят за состоянием ресурсов в кластере. Почему нужен: Контроллеры — это "надсмотрщики", которые автоматически исправляют отклонения от желаемого состояния. Как работает: Включает несколько встроенных контроллеров: Node Controller: Следит за доступностью узлов. Replication Controller: Поддерживает нужное количество реплик подов. Endpoint Controller: Обновляет Endpoints-объекты. Service Account Controller: Создает учетные записи для сервисов. 🟠cloud-controller-manager Что делает: Управляет интеграцией с облачными провайдерами (например, AWS, GCP). Почему нужен: Позволяет использовать облачные функции, такие как балансировка нагрузки, управление дисками и маршрутизацией. Как работает: Отвечает за создание LoadBalancer. Управляет постоянными томами (Persistent Volumes), связанными с облачными хранилищами. Ставь 👍 и забирай 📚 Базу знаний

Нужны 7 желающих для работы с искусственным интеллектом. Требования: 18-45 лет Работа из дома. График свободный. Пришло задан
Нужны 7 желающих для работы с искусственным интеллектом. Требования: 18-45 лет Работа из дома. График свободный. Пришло задание — изучили — выполнили — получили свои деньги. Деньги вы получаете в зависимости от сложности задания. Например: За задание могут платить 500-10.000 рублей. 500 рублей — это около 5-30 минут. 10 000 руб. это 5-6 часов. Работа может быть разной: Оживить фото, создать видео, реставрировать старое фото и т.д. 💰 В среднем новичок получает до 150.000 руб в месяц. А опытный может и 300-500т. Мы обучим вас сами: — 3 дня уроков по 30 минут — Домашки с проверкой и оплатой бонусами — Платим 10 тыс за каждую выполненную домашку ⚡ Набор заканчивается завтра. Для регистрации жмите кнопку "Зарегистрироваться": Зарегистрироваться #реклама 16+ ganstaagency.com О рекламодателе

🤔 Что показывает load average? Load average показывает среднее количество процессов, ожидающих выполнения на ядре процессора за последние 1, 5 и 15 минут. Он включает в себя процессы, которые активны и находятся в очереди на выполнение, или ожидают ресурсов, таких как диск или сеть. Load average помогает оценить нагрузку на систему: значение, превышающее количество ядер, может указывать на перегрузку системы. Высокий load average без соответствующей активности процессора может свидетельствовать о блокировке ресурсов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое data source в графане? Это источник данных, с которым Grafana может взаимодействовать для построения графиков, панелей мониторинга (dashboards) и выполнения запросов. Data Source определяет, как Grafana подключается к внешним системам мониторинга, базам данных или API для получения метрик, логов или другой информации. 🚩Основные аспекты 🟠Типы Data Source Grafana поддерживает множество типов источников данных, включая: Системы мониторинга: Prometheus Zabbix InfluxDB Graphite Лог-агрегаторы: Loki Elasticsearch Splunk Облачные сервисы: AWS CloudWatch Google Cloud Monitoring Azure Monitor Реляционные базы данных: MySQL PostgreSQL API или внешние плагины: JSON API OpenTelemetry 🟠Функции Data Source Подключение: Определяет параметры для соединения с внешним хранилищем данных, такие как URL, токены аутентификации, логин/пароль. Выполнение запросов: Обеспечивает интерфейс для написания запросов к данным через встроенный редактор запросов Grafana. Форматирование данных: Конвертирует данные из формата, предоставляемого источником, в формат, понятный Grafana. 🟠Добавление Data Source Добавление источника данных выполняется через веб-интерфейс Grafana: Зайдите в Settings → Data Sources. Нажмите кнопку Add data source. Выберите нужный тип источника (например, Prometheus). Настройте параметры подключения (например, URL, токен, порт). Нажмите Save & Test, чтобы проверить соединение. 🟠Примеры запросов Для Prometheus:
rate(http_requests_total[5m])
Для MySQL
SELECT time, value FROM metrics WHERE time > NOW() - INTERVAL 1 HOUR;
🚩Особенности Data Source 🟠Кастомизация Вы можете устанавливать плагины для подключения к нестандартным источникам данных. Grafana Marketplace предлагает плагины для расширения функциональности. 🟠Мульти-сорсинг Один дашборд может использовать несколько источников данных, что позволяет объединять данные из разных систем. 🟠Глобальные переменные Источники данных могут использовать глобальные параметры, такие как время ($__timeFilter), для унификации запросов. 🟠Безопасность Поддержка различных методов аутентификации: токены, ключи API, OAuth. Ставь 👍 и забирай 📚 Базу знаний

Целевые кибератаки 2025: аналитика и кейсы Ландшафт киберугроз в России меняется. Злоумышленники используют более продвинутые инструменты, а разработка ВПО стала гораздо доступнее благодаря AI. К чему готовиться бизнесу? 11 марта в 12:00 команда Solar 4RAYS проведет вебинар по итогам расследований целевых атак 2025 года и прогнозам на 2026-й. В программе: ✅Актуальные методы защиты на 2026 год. ✅Акцент на отраслях, которые злоумышленники атакуют чаще всего. ✅Интересные техники киберпреступников из реальных расследований. Регистрируйтесь на вебинар, чтобы строить надежную эшелонированную защиту с помощью актуальных данных. Узнать больше #реклама 16+ rt-solar.ru О рекламодателе

🤔 Если удалить terraform.tfstate, а потом сделать terraform init — что будет? - terraform init не восстановит state. - Terraform не будет знать, что уже развернуто, и при следующем apply может создать ресурсы заново. - Лучше использовать terraform state pull/push или хранить state в remote backend (S3, GitLab, etc). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как разделять элементы CI и CD в jenkins? В Jenkins CI (Continuous Integration) и CD (Continuous Delivery/Deployment) можно разделять на разные стадии (stages) или отдельные пайплайны. Это повышает гибкость, упрощает отладку и делает процесс масштабируемым. 🚩Разделение CI и CD внутри одного `Jenkinsfile` Можно использовать разные стадии (stages) в Jenkinsfile: Пример:
pipeline {
    agent any

    stages {
        stage('CI: Build & Test') {
            steps {
                echo "📦 Сборка и тестирование кода"
                sh 'mvn clean package'  // Сборка
                sh 'mvn test'           // Юнит-тесты
            }
        }

        stage('CI: Code Analysis') {
            steps {
                echo "🧐 Анализ кода (SonarQube)"
                sh 'sonar-scanner'
            }
        }

        stage('CD: Staging Deployment') {
            steps {
                echo "🚀 Деплой на стейджинг"
                sh 'kubectl apply -f k8s/staging.yaml'
            }
        }

        stage('CD: Production Deployment') {
            when {
                branch 'main'  // Только для main-ветки
            }
            steps {
                echo "🔥 Деплой в прод"
                sh 'kubectl apply -f k8s/production.yaml'
            }
        }
    }
}
🚩Отдельные пайплайны для CI и CD Можно разделить CI и CD на разные пайплайны, используя Jenkins Multibranch Pipeline. CI-пайплайн (Jenkinsfile.ci)
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }
    post {
        success {
            archiveArtifacts artifacts: '**/target/*.jar'
            build job: 'CD-Pipeline', wait: false  // Запуск CD после успешного CI
        }
    }
}
CD-пайплайн (Jenkinsfile.cd)
pipeline {
    agent any
    stages {
        stage('Deploy to Staging') {
            steps {
                sh 'kubectl apply -f k8s/staging.yaml'
            }
        }
        stage('Manual Approval') {
            steps {
                input message: "Deploy to Production?"
            }
        }
        stage('Deploy to Production') {
            steps {
                sh 'kubectl apply -f k8s/production.yaml'
            }
        }
    }
}
🚩Использование `Jenkins Shared Library` для разделения логики Если много пайплайнов, лучше вынести CI/CD-логику в общую библиотеку (vars/ci.groovy, vars/cd.groovy). Пример CI (vars/ci.groovy)
def call() {
    pipeline {
        agent any
        stages {
            stage('Build & Test') {
                steps {
                    sh 'mvn clean package && mvn test'
                }
            }
        }
    }
}
Пример CD (vars/cd.groovy)
def call() {
    pipeline {
        agent any
        stages {
            stage('Deploy') {
                steps {
                    sh 'kubectl apply -f k8s/production.yaml'
                }
            }
        }
    }
}
Jenkinsfile с использованием библиотек
@Library('my-shared-library') _

ci()  // Запуск CI
cd()  // Запуск CD
Ставь 👍 и забирай 📚 Базу знаний

Как противодействовать кибератакам в 2026-м 11 марта в 12:00 команда Solar 4RAYS подведет итоги целевых атак 2025 года и поделится прогнозами на 2026. Разберем: ⚡Какие отрасли бизнеса подвергались атакам чаще всего и с какой целью. ⚡Какие интересные техники использовали злоумышленники: рассмотрим кейсы расследований. ⚡Какие методы защиты будут работать в 2026 году. Присоединяйтесь. Перейти на сайт #реклама 16+ rt-solar.ru О рекламодателе

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

Аукцион выделенных серверов! Серверы дешевеют у вас на глазах! Новые лоты каждый день, скидки до -35% на весь срок аренды. Успейте арендовать, пока лот не ушел другому! Получить предложение #реклама 16+ selectel.ru О рекламодателе

🤔 Почему плохо запускать контейнер от рута? Запуск контейнеров от имени пользователя root (рута) в Docker является обычной практикой, но это может привести к серьезным проблемам безопасности. Вот основные причины, почему это считается плохой практикой: 🟠Повышение рисков безопасности: Эксплуатация уязвимостей: Если злоумышленник получает доступ к контейнеру, запущенному от имени root, он может легко использовать уязвимости контейнера для атаки на хост-систему. Злоумышленники: Контейнеры могут содержать уязвимые или злонамеренные коды, которые при запуске с привилегиями root могут получить доступ к чувствительной информации или вызвать сбои. 🟠Отсутствие изоляции: Гостевая изоляция: Контейнеры должны быть изолированы от хост-системы. Запуск контейнера от имени root нарушает эту изоляцию, так как root внутри контейнера — это также root на хосте. Повышенные привилегии: Контейнеры, запущенные от имени root, могут иметь доступ к системным ресурсам, что увеличивает риск нарушения безопасности. 🟠Нарушение принципа наименьших привилегий: Принцип наименьших привилегий: Этот принцип гласит, что процесс должен иметь только те привилегии, которые необходимы для выполнения его задач. Запуск контейнера от имени root нарушает этот принцип, предоставляя ему избыточные права. 🚩Примеры проблем 🟠Повышение привилегий: Если в контейнере, запущенном от имени root, найдена уязвимость, злоумышленник может использовать ее для выполнения команд с привилегиями root на хосте, что может привести к серьезным нарушениям безопасности. 🟠Доступ к файловой системе хоста: Контейнер, запущенный от имени root, может получить доступ к критически важным файлам хостовой системы, изменять их или удалять, что может привести к нарушению работы всей системы. 🚩Как избежать запуска контейнеров от рута Использование непривилегированных пользователей: В Dockerfile можно создать пользователя с ограниченными привилегиями и переключиться на него.
FROM ubuntu:20.04
RUN useradd -m myuser
USER myuser
CMD ["myapp"]     
Использование флага --user: При запуске контейнера можно использовать флаг --user, чтобы указать непривилегированного пользователя.
docker run --user 1000:1000 myapp
Использование механизмов безопасности Docker: Использование профилей seccomp для ограничения системных вызовов. Использование AppArmor или SELinux для ограничения доступа контейнеров к системным ресурсам. Ставь 👍 и забирай 📚 Базу знаний

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

🤔 Какие Enterprise Firewall есть? - Palo Alto Networks; - Cisco ASA/Firepower; - Fortinet FortiGate; - Check Point; - Sophos XG. Они обеспечивают фильтрацию трафика, VPN, инспекцию приложений и IDS/IPS-функции. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какой инструмент нам может помочь в снятии метрик с продукта? Если вам нужно собирать метрики (нагрузка, ошибки, задержки, бизнес-показатели) с вашего продукта, то вот лучшие инструменты 🟠Prometheus + Grafana Prometheus – база данных временных рядов (time-series DB) для хранения метрик. Grafana – мощная визуализация метрик. Метрики собираются экспортерами (node_exporter, blackbox_exporter и т. д.). Данные хранятся в Prometheus. Grafana показывает красивые графики.
rate(http_requests_total[5m])  # Запросы в секунду за 5 минут
🟠Zabbix Устанавливается агент на сервер (zabbix-agent). Сервер собирает метрики и генерирует алерты. Ставь 👍 и забирай 📚 Базу знаний

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

🤔 Где хранить приватный PGP ключ? Приватный PGP-ключ – это чувствительные данные, которые нельзя хранить в незащищенных местах. Потеря или компрометация ключа может привести к утечке зашифрованных данных. 🚩Лучшие способы хранения приватного PGP-ключа 🟠На аппаратном токене (YubiKey, Nitrokey, SmartCard) - Ключ никогда не покидает устройство. - Физическая защита от копирования. - Можно использовать для SSH, GPG, подписи кода. 🟠В защищенном хранилище (Bitwarden, 1Password, KeePassXC) - Хранилище зашифровано и требует пароль или биометрию. - Можно синхронизировать между устройствами без потери безопасности. - Экспортировать ключ в зашифрованный файл:
  gpg --export-secret-keys --armor > private-key.asc
🟠В зашифрованном виде на диске (LUKS, VeraCrypt, EncFS) - Физическая защита – даже если диск украдут, без пароля его не открыть. - Работает на Linux, Windows, MacOS. 1⃣Создать зашифрованный контейнер с LUKS (Linux):
   cryptsetup luksFormat /dev/sdX
   cryptsetup luksOpen /dev/sdX secure_disk
   mkfs.ext4 /dev/mapper/secure_disk
2⃣Хранить ключ внутри /mnt/secure_disk/private-key.asc. 🟠4. В HSM или облачном KMS (AWS KMS, HashiCorp Vault, Azure Key Vault) - Подходит для энтерпрайз-решений. - Аппаратное шифрование (HSM) делает взлом практически невозможным. - AWS KMS или Vault можно использовать для PGP.
vault kv put secret/pgp_key key="$(cat private-key.asc)"
Ставь 👍 и забирай 📚 Базу знаний

Бесплатная конференция по PostgreSQL Регистрируйся на бесплатную конференцию по PostgreSQL — 19.03.2026.📅 Эксперты расскажут о разработке, администрировании и новинках мира Postgres. ✅ Бесплатное участие ✅ Опытные спикеры ✅ 25+ тематических докладов ✅ Рабочие кейсы Каждый участник получает именной Сертификат участника мероприятия. Одни из немногих спикеров конференции: — Андрей Бородин PostgreSQL Major contributor, руководитель подразделения разработки РСУБД с открытым исходным кодом Yandex Cloud — Родион Хабибов DevOps-инженер «СберСервис» — Андрей Овчаренко Руководитель отдела Java-разработки Московской биржи ... и многие другие. Регистрируйся, будет интересно! И бесплатно! Зарегистрироваться #реклама 16+ pgbootcamp.ru О рекламодателе

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

🤔 Какие Enterprise Firewall знаешь? В мире корпоративных (Enterprise) межсетевых экранов (firewall) существует множество решений от разных вендоров. Основные из них: 🟠Palo Alto Networks (Next-Generation Firewall, NGFW) Palo Alto — один из лидеров в сфере NGFW. Он использует глубокий анализ трафика и машинное обучение для выявления угроз. Контроль трафика на уровне приложений (App-ID) Инспекция SSL/TLS Встроенная защита от вредоносных программ (WildFire) Интеграция с SIEM/SOAR 🟠Cisco Firepower (ранее ASA с FirePOWER Services) Cisco Firepower объединяет традиционные возможности Cisco ASA с функциями, полученными после покупки Sourcefire. IPS/IDS (интеграция с Snort) Защита от атак нулевого дня Автоматизация защиты на базе машинного обучения Полная интеграция с экосистемой Cisco 🟠3. Fortinet FortiGate Fortinet — это NGFW, ориентированный на производительность и безопасность. Встроенный SD-WAN Антивирусный сканер и веб-фильтрация DLP (Data Loss Prevention) Поддержка IoT и OT-безопасности 🟠Check Point Next Generation Firewall Check Point — один из старейших игроков в сфере межсетевых экранов, известный своими решениями безопасности. Инспекция шифрованного трафика Защита от APT (Advanced Persistent Threats) Встроенный Threat Intelligence (ThreatCloud) - Многослойная защита от DoS/DDoS 🟠Juniper Networks SRX Juniper предлагает мощные межсетевые экраны, которые часто используются в телекоммуникациях. Высокая производительность Поддержка виртуализации (vSRX) Гибкая маршрутизация и VPN Интеграция с AI для автоматического обнаружения угроз 🟠Huawei USG (Unified Security Gateway) Huawei предлагает сетевые экраны для корпоративного и государственного сектора. Интеграция с 5G-сетями Встроенные функции DDoS-защиты Высокая масштабируемость Ставь 👍 и забирай 📚 Базу знаний