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

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

Відкрити в Telegram
5 510
Підписники
-224 години
-47 днів
-330 день
Архів дописів
🤔 Как определить опции запуска пайплайна при редактировании определенных ресурсов в гите? При работе с 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'
            }
        }
    }
}
Ставь 👍 и забирай 📚 Базу знаний

Акриловые подоконники — финальный штрих ремонта Пластиковый подоконник портит весь вид? Пора на уровень выше. Акриловый камен
Акриловые подоконники — финальный штрих ремонта Пластиковый подоконник портит весь вид? Пора на уровень выше. Акриловый камень — материал, который выглядит дорого, служит десятилетиями и не боится влаги и не теряет первоначальный вид. ✅ 14 оттенков в наличии. ✅ Фиксированная цена — от 2700 ₽. ✅ Быстрая доставка. ✅ 15 лет гарантии. Выбирайте подоконник, который подчеркнёт стиль вашего дома. Перейти на сайт #реклама podokonniki-online.ru О рекламодателе

🤔 Что будет происходить после внесения изменений в image? - Сборка создаст новый слой поверх существующего; - Старый image сохраняется, пока не удалён; - Изменения можно сравнить, протестировать или запушить в репозиторий; - При развертывании — будет использоваться обновлённая версия образа. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие 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-защиты Высокая масштабируемость Ставь 👍 и забирай 📚 Базу знаний

🤔 С каким флагом использовать pg_dump, чтобы сжать бэкап? Чтобы получить сжатый архив, используй формат custom: - Флаг -Fc — это формат custom, который: - создаёт сжатый файл - можно частично восстанавливать - совместим с pg_restore Или можешь перенаправить в gzip, но -Fc предпочтительнее, если нужен сжатый дамп с гибкой структурой. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Купите квартиру на Юге. Отдыхайте на море и в горах! ЖК "Гарантия PRIME" в Краснодаре — это: 😊 Теплый климат и природа за ок
Купите квартиру на Юге. Отдыхайте на море и в горах! ЖК "Гарантия PRIME" в Краснодаре — это: 😊 Теплый климат и природа за окном Просыпайтесь в окружении парков, леса и набережной. Дышите чистым воздухом, гуляйте вечерами в авторском саду с фонтанами. 🚗 Море и горы — на расстоянии выезда на выходные Всего 2 часа до пляжей Черного моря и 4 часа до склонов Красной Поляны. Ваш активный отдых доступен каждые выходные! 🏠 Всё для жизни «здесь и сейчас» Свой гастрономический кластер, арт-пространство и деловой хаб прямо во дворе. Живите в ритме южного курорта, не выезжая из города. 🎓 Среда для роста: от детского сада до университета. Ваши дети учатся в престижных школах прямо во дворе, а Университет КубГУ в 10 мин езды. Система образования по международным стандартам для Ваших детей. Ваша личная резиденция на Юге! Узнать больше Проектная декларация на сайте https://наш.дом.рф/. #реклама gk-garantiaprime.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 для ограничения доступа контейнеров к системным ресурсам. Ставь 👍 и забирай 📚 Базу знаний

Спокойствие длится до первого напоминания о налогах Вы едете в отпуск, думаете о море и тёплом солнце, и вдруг всплывает мысль: декларация так и не сдана. Теперь вместо отдыха в голове только сроки и возможные штрафы. Это и есть реальность предпринимателя без поддержки: бизнес стоит, отдых не отдых. ✨ С «Моим делом» отчётность уходит вовремя, напоминания приходят заранее, и никакой сюрприз не застанет вас в дороге. Вы отдыхаете, а мы берём на себя всё остальное. Узнать больше #реклама autsorsing.moedelo.org О рекламодателе

🤔 Какие уровни модели TCP/IP? 1. Прикладной (Application) — HTTP, FTP, DNS, SMTP и др. 2. Транспортный (Transport) — TCP, UDP. 3. Сетевой (Internet) — IP, ICMP, ARP. 4. Канальный (Link/Network Access) — Ethernet, Wi-Fi, драйверы устройств. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Видим что места нет находим большой файл 5 Гб например удаляем его а пишет что места всё равно нет в чём причина? В Linux удаленный файл может оставаться в памяти, если он все еще используется запущенным процессом. Это происходит, потому что файл не удаляется физически, пока его дескриптор (file descriptor) открыт. Файл все еще используется процессом Файл удален, но все еще открыт (deleted в /proc) Файл удален, но был записан в смонтированный том 🚩Проверить, какие процессы держат удаленный файл (`lsof`) Команда
lsof | grep deleted
Вывод
nginx     1234  www-data   4w   REG  8,1  5G   /var/log/nginx/access.log (deleted)
Решение: Перезапустить процесс:
systemctl restart nginx
или
kill -HUP 1234  # Закрыть процесс (PID = 1234)
🚩Освободить место вручную (`/proc`) Если процесс нельзя перезапустить, можно освободить занятую память без перезапуска.
ls -l /proc/*/fd/ | grep deleted
Вывод
lrwx------ 1 root root 64 Feb 21 14:23 /proc/5678/fd/4 -> /var/log/nginx/access.log (deleted)
Очистить файл, не перезапуская процесс
> /proc/5678/fd/4
🚩Проверить монтирование (Docker, NFS, tmpfs) Если файл хранился в смонтированном томе, он может не удалиться сразу. Проверить монтированные диски:
df -h
mount | grep /var/log
Если файл был в Docker-контейнере, проверить объемы:
docker system df
Ставь 👍 и забирай 📚 Базу знаний

Бесплатный курс по дизайну: веб, графический и UX/UI Научись создавать дизайн сайтов и приложений, инфографику для карточек н
Бесплатный курс по дизайну: веб, графический и UX/UI Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma! Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Этот курс для тебя, если ты: ✅ мечтаешь о новой профессии в digital, но не знаешь, с чего начать; ✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества; ✅ полный новичок и хочешь систему, а не хаос; ✅ хочешь начать зарабатывать удалённо. Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

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

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

🤔 В каких случаях используется multi stage? Multi-stage (многоэтапная сборка) — это метод создания Docker-образов, позволяющий уменьшить их размер и повысить безопасность. 🚩Когда используется? 🟠Оптимизация размера образа удаляем ненужные зависимости из финального образа. 🟠Безопасность не включаем инструменты сборки в рабочий контейнер. 🟠Скорость деплоя меньший образ быстрее скачивается и запускается. 🟠Кросс-компиляция собираем приложение в одном окружении, а запускаем в другом. 🚩Пример использования Multi-stage в Docker Допустим, у нас есть приложение на Go. Мы сначала компилируем его в одном контейнере, а затем создаем минимальный образ для запуска.
# Этап 1: сборка
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Этап 2: минимальный образ для запуска
FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/myapp .
CMD ["./myapp"]
🚩Использование в React / Angular / Vue При сборке фронтенда мы можем сначала установить зависимости и собрать проект, а затем развернуть его на nginx.
# Этап 1: сборка приложения
FROM node:18 AS builder
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build

# Этап 2: деплой на nginx
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Ставь 👍 и забирай 📚 Базу знаний

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

🤔 Чем проводить процедуру траблшутинга? Процедура траблшутинга проводится с помощью логов (journalctl, kubectl logs), мониторинга (Prometheus, Grafana), сетевых утилит (netstat, tcpdump, nmap), профилировщиков (htop, top, iotop) и инструментов трассировки (strace, lsof). Также полезны APM-системы и средства централизованного логирования (ELK, Loki). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Квартиры Prime-класса в Краснодаре. 2 часа до моря ЖК "Гарантия PRIME" в Краснодаре — тёплый климат и чистый воздух, лес и на
Квартиры Prime-класса в Краснодаре. 2 часа до моря ЖК "Гарантия PRIME" в Краснодаре — тёплый климат и чистый воздух, лес и набережная в двух шагах. Всего 2 часа до пляжей Чёрного моря и 4 часа до склонов Красной Поляны. Авторский двор-сад с фонтанами, лаунж-зонами, японским двориком и многообразием растений. ✅ Река и заповедная зелёная зона у дома; ✅ Панорамные и витражные окна; ✅ Гастрономический кластер и Арт-пространство; ✅ Образовательный кластер; ✅ Деловой хаб и офисы резидентов. Во дворе детский сад, международная школа, бизнес-школа с бакалавриатом, филиал школы-лицея. КубГУ — всего в 2,5 км от дома. Все условия для развития вас и ваших детей по международным стандартам. Деловой хаб. Вы можете работать в Зелёном коворкинге и проводить встречи на Винной террасе. Ваша личная резиденция на Юге! Узнать больше Проектная декларация на сайте https://наш.дом.рф/. #реклама gk-garantiaprime.ru О рекламодателе

🤔 Как дебажить поды в Kubernetes? Когда под (Pod) не работает или ведёт себя странно, нужно уметь его дебажить. 🟠Проверить статус пода Сначала смотрим, работает ли под вообще
kubectl get pods
🟠Посмотреть логи контейнера Если под запустился, но работает странно, смотрим логи:
kubectl logs pod-name
Если в поде несколько контейнеров:
kubectl logs pod-name -c container-name
Если под перезапускается, а нам нужны старые логи:
kubectl logs pod-name --previous
🟠Проверить события (`describe`) Смотрим подробную информацию о поде:
kubectl describe pod pod-name
🟠Зайти внутрь контейнера (`exec`) Если под запущен, можно подключиться внутрь и посмотреть файлы, процессы:
kubectl exec -it pod-name -- /bin/sh
Если в контейнере есть только bash:
kubectl exec -it pod-name -- /bin/bash
Полезные команды внутри контейнера:
ps aux           # Смотрим запущенные процессы  
netstat -tulnp   # Проверяем открытые порты  
env              # Проверяем переменные окружения  
cat /etc/resolv.conf  # Проверяем DNS  
🟠Проверить манифест пода (`get pod -o yaml`) Если под ведёт себя странно, можно посмотреть его полное описание:
kubectl get pod pod-name -o yaml
🟠Проверить ресурсы (describe node) Иногда под не запускается из-за нехватки CPU или памяти. Проверяем узел (node):
kubectl describe node node-name
Если проблема с ресурсами, будет что-то вроде:
Warning  FailedScheduling  insufficient memory
🟠Проверить сеть (`nslookup`, `ping`, `curl`) Если под не может достучаться до сервиса, тестируем сеть:
kubectl exec -it pod-name -- nslookup service-name
kubectl exec -it pod-name -- ping 8.8.8.8
kubectl exec -it pod-name -- curl http://service-name:8080
🟠Дебажить с помощью `kubectl debug` (Kubernetes 1.23+) Если под не стартует, можно запустить дебажный контейнер
kubectl debug pod-name -it --image=busybox
Ставь 👍 и забирай 📚 Базу знаний

Стажировки и вакансии для DevOps - Вакансии которых нет на джоб-агрегаторах - Только прямые контакты HR в Telegram 👉 @jobs_d
Стажировки и вакансии для DevOps - Вакансии которых нет на джоб-агрегаторах - Только прямые контакты HR в Telegram 👉 @jobs_devops Пока другие листают джоб-сайты — ты уже пишешь HR в Telegram.

Новый выгодный тариф "Первый мобильный" от Ростелекома. В него включено только самое нужное: 100 ГБ, 1000 минут и 1000 SMS всего за 300 рублей в месяц. Стоимость фиксируется до конца 2027 года, а номер останется с вами навсегда. Подключайтесь онлайн с бесплатной доставкой SIM-карты. Подать заявку #реклама rt.ru О рекламодателе

DevOps | Вопросы собесов - Статистика та аналітика Telegram каналу @easy_devops