DevOps | Вопросы собесов
رفتن به کانال در Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
نمایش بیشتر5 561
مشترکین
-424 ساعت
-157 روز
-830 روز
آرشیو پست ها
🤔 Куда идет деплой из релизных веток?
Касается подходов к управлению релизами в системах контроля версий, таких как Git, и их интеграции с процессами CI/CD. Ответ зависит от структуры разработки и процесса релиза в конкретной команде или компании. Однако, в общем, деплой из релизных веток обычно идет на тестовые, стейджинговые или продакшн-окружения. Давайте разберем этот процесс подробнее.
🚩Что такое релизные ветки?
Это ветки, которые создаются на этапе, когда функционал и исправления, готовые к выпуску, отделяются от основной ветки разработки (например,
main или develop). Они позволяют:
Заморозить текущий набор изменений для подготовки к релизу.
Отделить доработки и исправления релиза от активной разработки.
Упростить процесс тестирования и последующего деплоя.
🚩Куда обычно идет деплой из релизных веток?
🟠Тестовое окружение (QA environment)
На тестовое окружение деплой из релизной ветки осуществляется для прохождения проверок качества: Автоматизированное и ручное тестирование.
Проверка производительности, безопасности и других аспектов.
stages:
- test
deploy:
stage: test
script:
- echo "Deploying release branch to QA"
- ./deploy.sh qa
only:
- release/*
🟠Стейджинговое окружение (Staging)
После успешного прохождения тестов релизную ветку деплоят в стейджинг. Это окружение максимально похоже на продакшн и используется для финального тестирования: Проверка совместимости с продакшн-системами.
Демонстрация функционала заказчикам или заинтересованным сторонам.
stages:
- staging
deploy:
stage: staging
script:
- echo "Deploying release branch to Staging"
- ./deploy.sh staging
only:
- release/*
🟠Продакшн (Production)
После прохождения всех этапов тестирования изменения из релизной ветки деплоятся в продакшн: Обычно это делается автоматически после финального подтверждения.
В некоторых командах финальный мерж релизной ветки в main инициирует деплой.
stages:
- production
deploy:
stage: production
script:
- echo "Deploying release branch to Production"
- ./deploy.sh production
only:
- release/*
🚩Зачем это нужно?
🟠Изоляция релиза
Релизные ветки позволяют избежать включения новых, неподготовленных изменений в текущий релиз.
🟠Гибкость
Если в процессе тестирования или релиза найдены баги, их можно исправить прямо в релизной ветке без влияния на разработку.
🟠Управление рисками
Релизные ветки упрощают управление разными стадиями разработки и релиза.
🚩Пример использования
1⃣Разработчик создает ветку release/1.0.0 от develop.
2⃣Выполняются тесты на QA окружении.
3⃣Исправляются баги в release/1.0.0, и изменения деплоятся на стейджинг.
4⃣После успешного тестирования ветка мержится в main, и начинается деплой в продакшн.
Ставь 👍 и забирай 📚 Базу знаний🤔 Есть приложение, мы его запускаем, и оно завершается с кодом, не равным 0. Как его подебажить?
1. Посмотреть exit code — может указать тип ошибки.
2. Проверить логи приложения.
3. Добавить логирование и вывод ошибок в консоль.
4. Запустить через strace или gdb.
5. Проверить зависимости, переменные окружения, права на доступ.
Ненулевой код означает ошибку исполнения — важно найти её источник.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что касается безопасности где хранить переменные секреты?
Хранение секретных переменных, таких как пароли, ключи API, токены доступа и прочие конфиденциальные данные, требует особого подхода для обеспечения безопасности. Ниже описаны рекомендуемые методы и инструменты для безопасного хранения секретных переменных в различных средах разработки и производства.
🟠Использование специализированных хранилищ секретов
HashiCorp Vault:
Это инструмент для управления секретами и защиты данных. Он позволяет централизованно хранить, доступ к которым строго контролируется, и динамически создавать секреты.
Преимущества: Поддержка динамических секретов, интеграция с большинством сред и технологий, высокий уровень безопасности.
AWS Secrets Manager и Azure Key Vault:
Эти облачные сервисы предоставляют управляемые решения для безопасного хранения и управления доступом к секретным данным, включая автоматическое обновление секретов.
Преимущества: Интеграция с облачными сервисами, упрощение ротации секретов, мониторинг и логирование доступа.
🟠Инкапсуляция секретов в среде выполнения
Docker Secrets и Kubernetes Secrets:
Предлагают встроенные механизмы для безопасного хранения секретов, которые используются контейнерами во время выполнения.
Преимущества: Локальная интеграция с системами оркестрации контейнеров, базовое шифрование на диске и управление доступом.
🟠Секреты в контролируемом CI/CD
Платформы CI/CD, такие как GitLab и GitHub, предоставляют возможности для безопасного хранения переменных среды и секретов, которые могут быть использованы в процессах автоматизации без разглашения.
Преимущества: Простота использования, интеграция с процессами разработки, защита от внешнего доступа.
🟠Шифрование секретов
Инструменты шифрования: Использование инструментов, таких как GnuPG (GPG), для шифрования секретов перед их сохранением в системах контроля версий или конфигурационных файлах.
Преимущества: Высокий уровень безопасности, контроль доступа к секретам на уровне пользователя.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Как TCP устанавливает соединение?
С помощью трёхстороннего рукопожатия (3-way handshake):
1. Клиент → сервер: SYN.
2. Сервер → клиент: SYN-ACK.
3. Клиент → сервер: ACK.
После этого соединение считается установленным. Это обеспечивает надёжный канал связи.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое PaaS?
Это облачная модель, предоставляющая готовую среду для разработки, тестирования и развертывания приложений без необходимости управлять инфраструктурой (серверы, сети, ОС).
🚩Примеры PaaS-платформ
Heroku → Легкий деплой веб-приложений.
Google App Engine → Запуск приложений в облаке Google.
AWS Elastic Beanstalk → Автоматическое управление инфраструктурой.
Microsoft Azure App Services → Запуск приложений в Azure без управления серверами.
🚩Когда использовать PaaS?
Если хотите быстро развернуть приложение без настройки серверов.
Когда важна автоматическая масштабируемость.*
Если не хотите заниматься управлением ОС и базами данных.
🚩Пример работы с PaaS (Heroku)
1⃣Устанавливаем Heroku CLI
curl https://cli-assets.heroku.com/install.sh | sh
2⃣Авторизуемся
heroku login
3⃣Разворачиваем приложение
git push heroku main
Ставь 👍 и забирай 📚 Базу знаний❔ Kubernetes под прицелом атак — готовы ли вы защитить свой кластер?
Kubernetes стал стандартом для управления контейнерными приложениями, но вместе с этим вырос и интерес атакующих. Ошибки конфигурации, слабая аутентификация, уязвимости в сервисах — всё это может обернуться серьёзными инцидентами.
На открытом уроке разберём:
- модель безопасности Kubernetes;
- основные векторы атак;
- механизмы защиты и аудит;
- как построить стратегию безопасности.
⌨️Урок будет полезен DevOps-инженерам, системным администраторам, архитекторам и специалистам по безопасности, которые хотят систематизировать знания и применить их в реальных проектах.
Открытый урок пройдёт 7 октября в 20:00 МСК в преддверие старта курса «Безопасность в Kubernetes»
➡️ Записывайтесь прямо сейчас: https://otus.pw/D9Gv/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля
Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰
Научись ей бесплатно!
- Бесплатный доступ
- Разбор ДЗ от наставника
- Мощные кейсы в портфолио
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
🤔 Какие плюсы у ArgoCD деплоймента?
- GitOps-подход — всё из Git, полная история.
- Автоматический синхрон и rollback.
- Поддержка хранения состояний, health check, diff, prune.
- Отличный UI и CLI.
- Прозрачность и безопасность — можно задать permissions, audit.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
REKONFA Live
6 ноября приглашаем всех, кто имеет отношение к маркетингу и рекламным технологиям, обсудить рынок, тренды, вызовы и их решения.
С докладами на актуальные темы выступят лидеры индустрии и медийные спикеры.
Принять участие можно офлайн и онлайн. Мероприятие бесплатное, нужно только зарегистрироваться.
Зарегистрироваться
#реклама 18+
ya.rekonfa.ru
О рекламодателе
🤔 Где находится swap какое устройство использует?
Это область на диске, которую операционная система использует как виртуальную память, если основной оперативной памяти (RAM) не хватает. Swap может быть представлен в виде:
🚩Где находится swap?
🟠Swap-раздел
Swap может быть выделен как отдельный раздел диска. Он создается во время установки системы или вручную и не имеет файловой системы (тип раздела —
swap).
🟠Swap-файл
Swap может быть представлен как обычный файл в файловой системе (например, /swapfile).
🚩Как узнать, где находится swap?
Используйте команды для проверки текущей конфигурации:
Проверка swap через swapon
swapon --show
Пример вывода
NAME TYPE SIZE USED PRIO /dev/sda2 partition 4G 1G -2 /swapfile file 2G 0B -3- NAME: Устройство или файл, используемый для swap. - TYPE: Указывает, является ли swap разделом или файлом. - SIZE: Размер swap. - USED: Сколько swap в данный момент используется. - PRIO: Приоритет использования (меньшее значение — меньший приоритет). Проверка через
free
free -h
🚩Проверка через `fstab`
Если swap является разделом, он обычно прописан в /etc/fstab
cat /etc/fstab | grep swap
Пример
/dev/sda2 none swap sw 0 0🚩Какое устройство использует swap? Если swap — это раздел, то он отображается как устройство, например,
/dev/sda2. Если swap — это файл, его путь будет, например, /swapfile.
Ставь 👍 и забирай 📚 Базу знанийАльфа-Босс — сервис для руководителей
Управляйте финансами группы компаний: контролируйте ставки и лимиты онлайн.
Альфа-Банк — лучший банк для масштабного бизнеса.
Скачать
Финансовые услуги оказывает: АО "Альфа-Банк".
#реклама 16+
alfabank.ru
О рекламодателе
🤔 Из чего состоит worker node?
Worker-нода содержит:
- kubelet — агент, управляющий подами.
- kube-proxy — сетевое взаимодействие и балансировка.
- container runtime — Docker, containerd, CRI-O.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
🤔 Есть 1000 разработчиков, каждый создал по 1-2 уникальному приложению, как это все масштабировать?
Если у вас 1000 разработчиков и 2000 сервисов, то без автоматизации не обойтись.
🟠 Kubernetes для контейнеров
Организация:
Каждое приложение → отдельный Pod.
Namespaces → для команд и сред (dev, stage, prod).
Helm → для удобного управления.
Манифест деплоя
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-registry.com/my-app:v1
🟠CI/CD для автоматического деплоя
Инструменты: GitLab CI/CD, ArgoCD
stages:
- build
- deploy
build:
script:
- docker build -t my-registry.com/my-app:$CI_COMMIT_SHA .
- docker push my-registry.com/my-app:$CI_COMMIT_SHA
deploy:
script:
- kubectl set image deployment/my-app my-app=my-registry.com/my-app:$CI_COMMIT_SHA
🟠Мониторинг и логирование
Prometheus + Grafana → метрики, алерты
Loki / ELK (Elasticsearch + Kibana) → логи
Запрос ошибок API:
rate(http_requests_total{status="500"}[5m])
🟠Автоматическое масштабирование
Горизонтальный автоскейлинг (HPA)
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
minReplicas: 3
maxReplicas: 10
targetCPUUtilizationPercentage: 70
🟠Service Mesh (Istio) для управления трафиком
Разделение нагрузки между версиями:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
spec:
hosts:
- my-app.example.com
http:
- route:
- destination:
host: my-app
subset: v1
weight: 80
- destination:
host: my-app
subset: v2
weight: 20
🟠Безопасность (RBAC, Network Policies)
Ограничение доступа разработчиков:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: dev-access
subjects:
- kind: User
name: dev-user
roleRef:
kind: Role
name: read-only
apiGroup: rbac.authorization.k8s.io
Ставь 👍 и забирай 📚 Базу знанийОбучение плиточников с нуля за 30 дней с сертификатом!
Школа плиточников Keramaster — это обучение, которое сочетает теорию и практику, создавая высококлассных специалистов. Мы обучаем как новичков, так и опытных мастеров, помогая освоить новые техники укладки плитки и повысить квалификацию.
Курс разделён на 3 модуля и включает 120+ часов практики, более 80 уроков и 20+ часов видеоуроков. В конце обучения вы получаете сертификат и можете быть уверены в своих силах. Наши преподаватели — реальные мастера, востребованные на рынке.
Помощь в трудоустройство после курса поможем вам начать карьеру плиточника или расширить сферу деятельности.
Акции:
✅Скидка 10% при оплате курса целиком
✅Скидка 50% на доступ к закрытому чату мастеров
✅Рассрочка на оплату курса
Подать заявку
#реклама 16+
keramaster.pro
О рекламодателе
🤔 Какие могут быть лимиты у Nginx и со стороны чего?
1. worker_connections: количество соединений на один процесс-воркер.
2. worker_rlimit_nofile: количество открытых файлов.
3. Лимиты ОС: ulimit, параметры ядра (net.core.somaxconn, fs.file-max).
4. Аппаратные ограничения: ресурсы процессора и памяти.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое SLA, SLO, SLI?
Эти три термина относятся к управлению надежностью и качеством IT-сервисов. Они помогают определить, измерить и гарантировать уровень обслуживания пользователей.
🚩SLI (Service Level Indicator) – Показатель уровня сервиса
SLI – это метрика, которая показывает, насколько хорошо работает сервис.
- Доступность (например, uptime 99.9%)
- Время ответа API (например, менее 200 мс)
- Ошибки запросов (например, не более 1% 5xx ошибок)
🚩SLO (Service Level Objective) – Целевой уровень сервиса
SLO – это цель, которую компания ставит для SLI.
Доступность 99.9% сервиса в месяц.
Среднее время ответа API ≤ 200 мс.
🚩SLA (Service Level Agreement) – Соглашение об уровне сервиса
SLA – это официальное соглашение между клиентом и провайдером сервиса, которое описывает обязательства и штрафы за их невыполнение.
- Если доступность меньше 99.9%, клиент получает возврат денег.
- Если среднее время ответа API больше 500 мс, клиент получает скидку.
🚩Как они связаны?
SLI (метрика) → измеряет, насколько хорош сервис.
SLO (цель) → устанавливает, каким должен быть сервис.
SLA (договор) → фиксирует обязательства и штрафы.
Ставь 👍 и забирай 📚 Базу знаний
⚡️ Айтишник из «VISION» скупил топовые айти-курсы и выложил гигабайты материалов к себе
Каждый найдет что-то по душе:
903 ГБ — Python
812 ГБ — Frontend
978 ГБ — C, C++
804 ГБ — Java
432 ГБ — C#, GameDev
411 ГБ — SQL & БД
309 ГБ — DevOps
998 ГБ — ИБ & Хакинг
773 ГБ — Kotlin, Swift
189 ГБ — PHP
201 ГБ — GoLang
170 ГБ — Rust
167 ГБ — QA-Тестирование
310 ГБ — 1C + Лицензии
495 ГБ — Машинное обучение
704 ГБ — Аналитика Данных
991 ГБ — Дизайн
Материалы в закрепе, постоянно пополняются👆🏻
Подключите высокоскоростной интернет в офис от МегаФона
Доступ в интернет для компаний с выделенным каналом на высоких скоростях — до 10 Гбит/с
— Собственные дата-центры и оборудование ведущих мировых производителей обеспечивают бесперебойную связь
— Высокая скорость передачи данных благодаря собственной магистральной IP/MPLS-сети МегаФона. Общая пропускная способность — более 1000 Гбит/с
— Архив 180 дней (хранение записи в облаке до 180 дней)
— Постоянный безлимитный интернет в любой точке России
Перейти на сайт
#реклама
megafon.ru
О рекламодателе
🤔 Есть плейбук Ansible для одного пользователя. Как завести десятки?
- Заменить одного пользователя на список (массив).
- Пройтись по нему с помощью with_items или loop.
- Данные можно хранить в переменной или в отдельном файле YAML с массивом пользователей.
Таким образом, минимальные изменения: обобщение задачи и использование цикла.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
