ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

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

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

الذهاب إلى القناة على Telegram
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 под прицелом атак — готовы ли вы защитить свой кластер? Kubernetes стал стандартом для управления контейнерными приложениями, но вместе с этим вырос и интерес атакующих. Ошибки конфигурации, слабая аутентификация, уязвимости в сервисах — всё это может обернуться серьёзными инцидентами. На открытом уроке разберём: - модель безопасности Kubernetes; - основные векторы атак; - механизмы защиты и аудит; - как построить стратегию безопасности. ⌨️Урок будет полезен DevOps-инженерам, системным администраторам, архитекторам и специалистам по безопасности, которые хотят систематизировать знания и применить их в реальных проектах. Открытый урок пройдёт 7 октября в 20:00 МСК в преддверие старта курса «Безопасность в Kubernetes» ➡️ Записывайтесь прямо сейчас: https://otus.pw/D9Gv/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

🤔 Какие плюсы у ArgoCD деплоймента? - GitOps-подход — всё из Git, полная история. - Автоматический синхрон и rollback. - Поддержка хранения состояний, health check, diff, prune. - Отличный UI и CLI. - Прозрачность и безопасность — можно задать permissions, audit. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

REKONFA Live 6 ноября приглашаем всех, кто имеет отношение к маркетингу и рекламным технологиям, обсудить рынок, тренды, вызо
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 — это обучение, которое сочетает теорию и
Обучение плиточников с нуля за 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 (договор) → фиксирует обязательства и штрафы. Ставь 👍 и забирай 📚 Базу знаний

Подключите высокоскоростной интернет в офис от МегаФона Доступ в интернет для компаний с выделенным каналом на высоких скорос
Подключите высокоскоростной интернет в офис от МегаФона Доступ в интернет для компаний с выделенным каналом на высоких скоростях — до 10 Гбит/с — Собственные дата-центры и оборудование ведущих мировых производителей обеспечивают бесперебойную связь — Высокая скорость передачи данных благодаря собственной магистральной IP/MPLS-сети МегаФона. Общая пропускная способность — более 1000 Гбит/с — Архив 180 дней (хранение записи в облаке до 180 дней) — Постоянный безлимитный интернет в любой точке России Перейти на сайт #реклама megafon.ru О рекламодателе

🤔 Есть плейбук Ansible для одного пользователя. Как завести десятки? - Заменить одного пользователя на список (массив). - Пройтись по нему с помощью with_items или loop. - Данные можно хранить в переменной или в отдельном файле YAML с массивом пользователей. Таким образом, минимальные изменения: обобщение задачи и использование цикла. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний