ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

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

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

Открыть в Telegram
5 570
Подписчики
-324 часа
-57 дней
+830 дней
Архив постов
🤔 Как определить опции запуска пайплайна при редактировании определенных ресурсов в гите? При работе с 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 по цене одного года. Надеваешь один раз и защищён всю жизн
🧿 Осталось 3 дня, чтобы забрать оберег! Пожизненный easyoffer PRO по цене одного года. Надеваешь один раз и защищён всю жизнь 🎃 От чего защищает оберег: 1. Вопросы и задачи с реальных собеседований в конкретных компаниях — от сюрпризов на собесе 2. Лучшие ответы и видео-примеры от middle/senior специалистов — от ответов уровня джуна 3. Записи реальных собеседований — от страха неизвестности 4. Обход фильтров ATS с топ-30 ключевых слов в резюме — от автоотказов, пришедших из темноты в 3 часа ночи 5. Автоотклики на hh — от бесконечных часов ручных откликов 6. Тренажёры и симуляторы — от дрожи в голосе перед интервьюером 👻 ⏳ Акция действует только до 31 октября 23:59 по МСК 👉 Забрать оберег со скидкой 70%: https://easyoffer.ru/pro

ИИ в работе: как продуктивность превратить в результат Хотите, чтобы ИИ реально работал на бизнес? Только 30 % компаний получ
ИИ в работе: как продуктивность превратить в результат Хотите, чтобы ИИ реально работал на бизнес? Только 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 навсегда. Покупаешь один раз и пользуешь
🎃 Хеллоуинская акция на easyoffer В честь Хеллоуина до 31 октября можно забрать PRO навсегда. Покупаешь один раз и пользуешься всю жизнь 🍬Что внутри мешка с угощениями: – База вопросов и задач из собеседований – Примеры видео-ответов на вопросы – Записи реальных собеседований – Тренажёры «Проработка вопросов» и «Реальное собеседование» – Аналитика требований из вакансий – Автоотклики на вакансии 👉 Забрать PRO со скидкой 70%: https://easyoffer.ru/pro

Solar JSOC - Флагманский SOC с гарантией Гарантии крупнейшего коммерческого SOCа России теперь доступны вам. Узнать больше #р
Solar JSOC - Флагманский SOC с гарантией Гарантии крупнейшего коммерческого SOCа России теперь доступны вам. Узнать больше #реклама 16+ rt-solar.ru О рекламодателе

🤔 Через что делается создание неймспейсов и запуск деплойментов? - Всё делается через kube-apiserver, к которому обращаются: - kubectl - другие компоненты - CI/CD пайплайны Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Монолит vs микросервисы: битва за ваши нервы 💻 Монолит или микросервисы? Кажется, что ответ очевиден, но почему-то одни прое
Монолит 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 в проде или всё сразу. В фановом тесте от ком
Голое железо и 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 — технологии для безупречного ухода ✨Оригинальные бритвы, триммеры и эпиляторы ✨ Точность, комфорт и стиль — вместе с B
Braun — технологии для безупречного ухода ✨Оригинальные бритвы, триммеры и эпиляторы ✨ Точность, комфорт и стиль — вместе с Braun Купить #реклама market.yandex.ru О рекламодателе