DevOps | Вопросы собесов
Ir al canal en Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Mostrar más5 570
Suscriptores
-324 horas
-57 días
+830 días
Archivo de publicaciones
🤔 Как определить опции запуска пайплайна при редактировании определенных ресурсов в гите?
При работе с CI/CD (GitHub Actions, GitLab CI, Jenkins) часто нужно запускать пайплайн только при изменении определенных файлов. Это помогает оптимизировать сборку, экономить ресурсы и время.
🚩В GitHub Actions (on: push, paths)
В GitHub Actions можно указать файлы, изменения в которых запустят пайплайн.
name: Infra Pipeline
on:
push:
paths:
- 'infra/**'
- 'k8s/**'
pull_request:
paths:
- 'infra/**'
- 'k8s/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Deploy Infrastructure
run: ./deploy.sh
🚩В GitLab CI/CD (only: changes)
В GitLab можно настроить запуск пайплайна по изменению файлов с помощью only: changes.
stages:
- deploy
terraform:
stage: deploy
script:
- terraform apply -auto-approve
only:
changes:
- terraform/**
🚩В Jenkins (when { changes })
В Jenkins Declarative Pipeline можно использовать when { changes } для проверки измененных файлов.
pipeline {
agent any
stages {
stage('Deploy Ansible') {
when { changes path: 'ansible/**' }
steps {
sh './deploy_ansible.sh'
}
}
stage('Deploy Helm') {
when { changes path: 'helm/**' }
steps {
sh './deploy_helm.sh'
}
}
}
}
Ставь 👍 и забирай 📚 Базу знаний🧿 Осталось 3 дня, чтобы забрать оберег!
Пожизненный easyoffer PRO по цене одного года. Надеваешь один раз и защищён всю жизнь 🎃
От чего защищает оберег:
1. Вопросы и задачи с реальных собеседований в конкретных компаниях — от сюрпризов на собесе
2. Лучшие ответы и видео-примеры от middle/senior специалистов — от ответов уровня джуна
3. Записи реальных собеседований — от страха неизвестности
4. Обход фильтров ATS с топ-30 ключевых слов в резюме — от автоотказов, пришедших из темноты в 3 часа ночи
5. Автоотклики на hh — от бесконечных часов ручных откликов
6. Тренажёры и симуляторы — от дрожи в голосе перед интервьюером 👻
⏳ Акция действует только до 31 октября 23:59 по МСК
👉 Забрать оберег со скидкой 70%: https://easyoffer.ru/pro
ИИ в работе: как продуктивность превратить в результат
Хотите, чтобы ИИ реально работал на бизнес? Только 30 % компаний получают от него ощутимый эффект. Узнайте, почему внедрение часто буксует — и как этого избежать.
На бесплатной видеолекции от Яндекс Практикума и Яндекс 360 разберём дорожную карту внедрения ИИ под разные роли. Поговорим, как технологии меняют рабочие задачи, почему экономия времени не всегда даёт прибыль, и как применять ИИ в HR, финансах, закупках, продажах и управлении. Плюс — подскажем, какие навыки развивать сотрудникам и как встраивать их в реальные процессы.
Эксперт: Александр Пасякин (Яндекс 360).
✨ Получите запись бесплатно.
Узнать больше
#реклама 16+
practicum.yandex.ru
О рекламодателе
🤔 Что такое Node API в Kubernetes?
Node API — это часть Kubernetes API, которая:
- Предоставляет информацию о Node-объектах.
- Позволяет отслеживать ресурсы, состояние нод, метки, таинтинги.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какие есть метрики для измерения качества системы?
Для измерения качества системы (особенно в DevOps, SRE и разработке) используют различные метрики производительности, надежности и доступности.
🚩Основные метрики качества системы
🟠Метрики "Четырёх ключевых показателей" (DORA)
Эти метрики помогают оценить эффективность процессов DevOps:
Lead Time for Changes (Время доставки изменений) — время от написания кода до его выхода в прод.
Deployment Frequency (Частота развертываний) — как часто изменения попадают в прод.
Mean Time to Restore (MTTR) (Среднее время восстановления) — как быстро исправляются инциденты.
Change Failure Rate (Процент неудачных изменений) — доля развертываний, вызывающих сбои.
🟠Метрики надежности и доступности (SRE)
Эти метрики помогают измерять надежность системы:
SLA (Service Level Agreement) — договорное время доступности (например, 99.9%).
SLO (Service Level Objective) — целевое значение доступности (например, 99.95%).
SLI (Service Level Indicator) — фактические измеренные показатели (например, 99.93%).
Error Rate — процент ошибок в системе (HTTP 500, таймауты и т. д.).
Latency (Задержка) — время ответа системы на запросы.
🟠Метрики производительности
Они показывают, насколько быстро работает система:
CPU Utilization — загрузка процессора.
Memory Usage — использование оперативной памяти.
Disk I/O — скорость чтения/записи на диск.
Network Throughput — пропускная способность сети.
Response Time — время отклика системы.
🟠Метрики пользовательского опыта
Оценивают удобство работы пользователей с системой:
Apdex (Application Performance Index) — индекс удовлетворенности пользователей (0–1).
TTFB (Time to First Byte) — время до получения первого байта ответа от сервера.
Page Load Time — время полной загрузки страницы.
Bounce Rate — процент пользователей, покинувших сайт без взаимодействия.
Ставь 👍 и забирай 📚 Базу знаний
Капсульная коллекция в Т-Шопе
Повод порадовать себя и разнообразить гардероб. Смотри, какие вещи созданы для плавного перехода из будней в выходные.
Посмотреть каталог
#реклама
tbank-online.com
О рекламодателе
🤔 Как посмотреть историю изменения деплоймента?
Для этого используют:
- kubectl rollout history deployment <имя> — показывает историю версий (ревизий).
- Можно увидеть, какие изменения конфигурации были внесены и когда.
Это полезно для отслеживания конфигурационных изменений и откатов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Зачем нужны теги в Ansible?
Теги в Ansible позволяют запускать только определенные задачи или роли, а не весь плейбук. Это ускоряет выполнение и упрощает управление конфигурацией.
🚩Когда использовать теги?
🟠Запуск только нужных задач
если плейбук содержит много шагов, можно выполнить только нужные.
🟠Разделение задач по категориям
например, отдельно установка, обновление, настройка сервиса.
🟠Оптимизация CI/CD
ускорение развертывания, выполняя только измененные задачи.
🚩Как использовать теги?
🟠Теги в задачах (`tasks`)
Простой пример – установка и перезапуск Nginx
yaml
- name: Установить Nginx
apt:
name: nginx
state: present
tags: install
- name: Перезапустить Nginx
service:
name: nginx
state: restarted
tags: restart
Запуск только установки (install)
sh
ansible-playbook playbook.yml --tags install
Запуск только перезапуска (restart)
sh
ansible-playbook playbook.yml --tags restart
🟠Теги в ролях (`roles`)
Если у вас несколько ролей, можно запускать только нужную:
yaml
- hosts: all
roles:
- { role: nginx, tags: web }
- { role: database, tags: db }
Запуск только роли database
sh
ansible-playbook playbook.yml --tags db
🟠Исключение тегов (`--skip-tags`)
Можно пропустить выполнение определенных задач
sh
ansible-playbook playbook.yml --skip-tags restart
Ставь 👍 и забирай 📚 Базу знаний🎃 Хеллоуинская акция на easyoffer
В честь Хеллоуина до 31 октября можно забрать PRO навсегда. Покупаешь один раз и пользуешься всю жизнь
🍬Что внутри мешка с угощениями:
– База вопросов и задач из собеседований
– Примеры видео-ответов на вопросы
– Записи реальных собеседований
– Тренажёры «Проработка вопросов» и «Реальное собеседование»
– Аналитика требований из вакансий
– Автоотклики на вакансии
👉 Забрать PRO со скидкой 70%: https://easyoffer.ru/pro
Solar JSOC - Флагманский SOC с гарантией
Гарантии крупнейшего коммерческого SOCа России теперь доступны вам.
Узнать больше
#реклама 16+
rt-solar.ru
О рекламодателе
🤔 Через что делается создание неймспейсов и запуск деплойментов?
- Всё делается через kube-apiserver, к которому обращаются:
- kubectl
- другие компоненты
- CI/CD пайплайны
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Монолит vs микросервисы: битва за ваши нервы
💻 Монолит или микросервисы? Кажется, что ответ очевиден, но почему-то одни проекты летают, а другие тонут в хаосе?
Присоединяйтесь к открытому уроку Сергея Прощаева и получите пошаговое руководство по выбору архитектуры.
📅 9 ноября в 20:00. Разберём:
- Как не попасть в ловушку «модных» микросервисов.
- Признаки, что пора выходить из монолита.
- Архитектурные паттерны перехода: Strangler Fig, BFF, Self-contained systems.
- Организационные и технические риски — что пойдёт не так.
- Роль DevOps, CI/CD и мониторинга.
Вы научитесь оценивать реальные риски и стоимость микросервисов, внедрять изменения без сбоев и хаоса и принимать взвешенные решения, сохраняя технический контроль и производительность команды.
✅ Запишитесь сейчас!
Узнать больше
#реклама 16+
otus.ru
О рекламодателе
🤔 Как определить ресурс, который необходим одной node?
Чтобы определить нагрузку на Node и правильно выделить ресурсы, нужно:
Проверить текущее потребление ресурсов (CPU, RAM, диски)*
Оценить нагрузку от подов (
requests и limits)
Использовать мониторинг (Prometheus, Grafana, kubectl top)
🚩Проверить нагрузку на Node (`kubectl top node`)
Команда
sh
kubectl top nodes
Вывод
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% node-1 500m 25% 2Gi 50% node-2 1000m 50% 4Gi 80%🚩Проверить потребление ресурсов подами (`kubectl top pods`) Команда
sh
kubectl top pods --all-namespaces
Вывод
NAMESPACE POD CPU(cores) MEMORY(bytes) default web-app-1 250m 256Mi default web-app-2 300m 512Mi monitoring prometheus-1 600m 1Gi🚩Анализ `requests` и `limits` подов Команда
sh
kubectl describe node node-1
Вывод (пример секции Allocatable)
Allocatable: cpu: 4 memory: 8Gi pods: 110Проверить
requests и limits у подов
sh
kubectl describe pod my-pod
Вывод
Requests: cpu: 500m memory: 1Gi Limits: cpu: 1 memory: 2Gi🚩Использование Prometheus и Grafana для анализа нагрузки Prometheus-запросы для анализа Node Средняя загрузка CPU за 5 минут
promql avg(rate(node_cpu_seconds_total[5m])) * 100Среднее использование памяти
promql avg(node_memory_Active_bytes) / avg(node_memory_MemTotal_bytes) * 100Ставь 👍 и забирай 📚 Базу знаний
Голое железо и root-доступ, ВМ со снапшотами по расписанию, Kubernetes с GitOps в проде или всё сразу. В фановом тесте от команды Deckhouse из таких ответов складывается один из 10 типов инфраструктуры.
Укротитель давно научился жить с ВМ и Kubernetes рядом, но устал от двух центров управления. Соковыжималка запускает базы и ML прямо на железе, чтобы гипервизор не съедал производительность. Антиквар не трогает систему, которая работает с нулевых. А Повелителю облаков уютно до первого кругленького счёта.
Грузчик и Коллекционер выпадают реже всех. Если достался один из них, ссылкой на результат точно стоит поделиться с командой.
→ Пройти тест и узнать свой тип
Я.Практикум: ИИ-тренинг с выездом экспертов в ваш офис
✨ Чтобы закрывать больше задач с меньшими ресурсами, нужна «суперсила». Обучайте сотрудников ИИ, чтобы автоматизировать операционные задачи и ускорить ключевые процессы.
Выберите формат, который подходит именно вашей команде:
✅ Базовый ИИ. Закладываем фундамент
✅ ИИ под роль. Навыки для конкретных функций и специалистов: руководители, продукт и аналитика, маркетинг и продажи, HR и L&D, операционные команды.
✅ ИИ-трансформация. Для компаний, которые хотят внедрять нейросети системно.
✅ ИИ-агенты. Для команд, которые хотят собирать собственных ИИ-агентов: от основ генеративного ИИ до рабочего прототипа без программирования.
Библиотека ИИ-навыков для команды — бесплатно при покупке любой программы ИИ-тренингов до конца сентября
Узнать больше
#реклама 16+
practicum.yandex.ru
О рекламодателе
🤔 Может ли приложение из одного неймспейса увидеть приложение из другого внутри кластера?
Да, если указать полное имя сервиса, включая неймспейс: service.namespace.svc.cluster.local. Однако по умолчанию межнеймспейсовая изоляция логическая, но не сетевая.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Можно ли на лету изменить настройки dns контейнре через cli?
Нет, нельзя изменить DNS у уже запущенного контейнера напрямую через CLI. Но есть обходные способы!
🚩Остановка и перезапуск контейнера с новыми DNS
Самый надежный способ — перезапустить контейнер с нужными DNS-серверами
docker run --dns 8.8.8.8 --dns 8.8.4.4 -d my_container
Или задать DNS через docker network
docker network create mynet --dns=1.1.1.1
docker run --net=mynet -d my_container
🚩Изменение `/etc/resolv.conf` внутри контейнера (может сработать)
Можно изменить DNS вручную внутри работающего контейнера
docker exec -it my_container sh
echo "nameserver 1.1.1.1" > /etc/resolv.conf
🚩Использование `network connect` (только для user-defined сетей)
Можно подключить контейнер к другой сети с нужными DNS:
docker network create mynewnet --dns=8.8.8.8
docker network connect mynewnet my_container
🚩Изменение настроек `systemd-resolved` (для контейнеров с `host`-сетью)
Если контейнер использует сеть хоста (--network host), можно поменять DNS на хосте:
resolvectl dns eth0 8.8.8.8
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое зомби процессы?
Зомби-процессы — это процессы, которые завершились, но их запись в таблице процессов остаётся, так как родительский процесс не обработал их код завершения. Они занимают минимальные системные ресурсы, но их наличие может указывать на проблемы в управлении процессами родительским процессом. Зомби-процессы можно устранить только завершением родительского процесса или с помощью сигналов. Наличие большого количества зомби-процессов может привести к исчерпанию доступных PID в системе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как найти запущенный процесс?
В операционных системах на базе 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 в интерактивном режиме.
Ставь 👍 и забирай 📚 Базу знанийBraun — технологии для безупречного ухода
✨Оригинальные бритвы, триммеры и эпиляторы
✨ Точность, комфорт и стиль — вместе с Braun
Купить
#реклама
market.yandex.ru
О рекламодателе
