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

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

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

📚Без даунтайма и головной боли: разбираем лучшие стратегии на вебинаре Обновления без прерывания работы — мечта DevOps-инжен
📚Без даунтайма и головной боли: разбираем лучшие стратегии на вебинаре Обновления без прерывания работы — мечта DevOps-инженера. Но как её реализовать в реальности? Если каждый деплой — это стресс, а сбои случаются слишком часто, пора разобраться в секретах нулевого даунтайма. На открытом вебинаре 19 марта в 20:00 мск разберем: - Blue/Green, Canary, Feature Toggles – какую стратегию выбрать? - Как Kubernetes и Ansible помогают минимизировать простои. - Как тестировать обновления прямо в продакшене и не бояться откатов. 💬 Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex. Урок пройдет в преддверии старта курса «DevOps-практики и инструменты». Все участники получат скидку на обучение. 👉Регистрируйтесь и выводите инфраструктуру на новый уровень: https://otus.pw/dZT2/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Как масштабировать команду? — Нанять аутсорс А как проще всего работать с аутсорсерами? — В Битрикс24 Коллабах. Это платформа
Как масштабировать команду? — Нанять аутсорс А как проще всего работать с аутсорсерами? — В Битрикс24 Коллабах. Это платформа для работы с внешними специалистами внутри вашего Битрикс24. Выглядит как чат, только удобнее. Встроены задачи, встречи, файлы. Для коротких и долгосрочных проектов. Особенно удобно для взаимодействия команд, где обсуждается несколько параллельных задач. Узнать больше #реклама 16+ collabs.bitrix24.ru О рекламодателе

🤔 Что такое ACL в Linux? Это механизм расширенного управления правами доступа к файлам и директориям. В отличие от стандартных POSIX-разрешений (rwx), ACL позволяет задавать индивидуальные права для каждого пользователя или группы. Используется для более гибкого контроля доступа. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Как айтишнику быстро получить оффер Бесплатный воркшоп 20 марта Почему одному кандидату предлагают оффер после первого интервью, а другому говорят: «Мы вам перезвоним»? Причина в подаче своего опыта. Записывайся, чтобы узнать: — Как подготовиться к собеседованию — Как презентовать свой опыт так, чтобы тебя запомнили — Как проверяют hard skills и как к этому подготовиться — Как произвести хорошее впечатление, запомнится рекрутеру и сделать так, чтобы захотели работать именно с тобой Приходи на бесплатный воркшоп и узнай, как прокачать навык самопрезентации и получить работу мечты Зарегистрироваться #реклама 16+ my.mts-link.ru О рекламодателе

🤔 В каких случаях удобно использовать kubernetes, а в каких docker-compose? Оба инструмента управляют контейнерами, но предназначены для разных сценариев. 🚩Когда использовать Docker Compose? Docker Compose удобен для локальной разработки и небольших проектов. Разворачиваете приложение на одном сервере. Нужно быстро поднять несколько сервисов (БД, кэш, бекенд, фронт). Разработка ведется в команде, и среда должна быть одинаковой. Нет необходимости в сложном оркестрационном механизме (авто-масштабирование, балансировка нагрузки). Файл docker-compose.yml для запуска бэкенда и базы данных локально:
version: '3'
services:
  app:
    image: my-backend:latest
    ports:
      - "5000:5000"
    depends_on:
      - db
  db:
    image: postgres:15
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
Команда запуска:
docker-compose up -d
🚩Когда использовать Kubernetes? Kubernetes удобен для продакшн-окружений, облаков и сложных приложений. Нужно масштабирование (автоматическое увеличение/уменьшение количества контейнеров). Требуется автоисправление (если контейнер падает, он перезапускается). Используется балансировка нагрузки (Kubernetes распределяет трафик между подами). Нужна развертка в кластере (несколько машин, облако). Требуется обновление без простоя (rolling updates).
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-backend:latest
        ports:
        - containerPort: 5000
Разворачиваем в Kubernetes:
kubectl apply -f my-app.yaml
Ставь 👍 и забирай 📚 Базу знаний

Импортозамещение в деле: Depo, Yadro, Гравитон и другие! Пора обновлять инфраструктуру? Тогда делайте это без привязки к зару
Импортозамещение в деле: Depo, Yadro, Гравитон и другие! Пора обновлять инфраструктуру? Тогда делайте это без привязки к зарубежным вендорам. Мы поставляем отечественные серверы, СХД и коммутаторы из реестра Минпромторга: Depo, Yadro, Гравитон, GAGARIN, UTINET, Аквариус, Рико, Норси-Транс, OpenYard, Нерпа и ДатаРу. Это производительная и отказоустойчивая альтернатива зарубежным аналогам, проверенная крупными компаниями и ЦОДами. Подходит для импортозамещения КИИ. Сервер Молл предлагает: ✅ Оборудование от ведущих российских производителей: в наличии на складах Готовые решения для ЦОДов любой сложности Гарантию до 5 лет и постпродажное обслуживание Бесплатную доставку в любую точку России. Не обещаем, а делаем! Если вам нужно российское оборудование для обновления инфраструктуры, пишите в чат или звоните — 8 800 755-25-51 📞 Перейти на сайт #реклама servermall.ru О рекламодателе

🤔 В чем основные пойнты Git Flow? Это стратегия управления ветками в Git, предназначенная для удобной командной разработки. Основные ветки: - master – стабильная версия кода, которая всегда готова к релизу. - develop – основная ветка для разработки, в которую вливаются новые фичи. - feature/* – ветки для отдельных функций, которые создаются от develop и сливаются обратно после завершения. - release/* – ветки для подготовки к релизу, после чего код попадает в master. - hotfix/* – срочные исправления для master, минуя develop. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Разработка ПО на заказ Компания Арсис разрабатывает приложения и информационные системы с 1993 года. Реализовано более 200 пр
+1
Разработка ПО на заказ Компания Арсис разрабатывает приложения и информационные системы с 1993 года. Реализовано более 200 проктов. Более 50 довольных клиентов из РФ, Германии, Австрии, Великобритании и США. Длительность ряда проектов превышает 25 лет. Мы сертифицированы на соответствие системе менеджмента качества ISO 9001:2015. Будем рады разработать для вас ПО на заказ. Свяжитесь с нами для получения бесплатной консультации! Получить консультацию #реклама arsis.ru О рекламодателе

🤔 Как поставить отличную версию питона от системного на астре? В Astra Linux (как и в Debian/Ubuntu) системный Python используется для работы ОС, и его обновление может привести к проблемам. Поэтому лучше устанавливать другую версию Python отдельно**, не заменяя системную. 🟠Установка Python через deadsnakes PPA (для Astra на основе Debian 9/10) Если Astra Linux основана на Debian 9/10 (например, Astra Smolensk или Orlov), можно использовать PPA
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install -y python3.10  # Устанавливаем нужную версию
После установки можно проверить
python3.10 --version
🟠Компиляция Python из исходников (универсальный способ) Если нужная версия недоступна в репозитории, компилируем Python вручную. Устанавливаем зависимости
sudo apt update
sudo apt install -y build-essential libssl-dev \
    libreadline-dev libsqlite3-dev \
    zlib1g-dev libbz2-dev libffi-dev
Скачиваем исходники Python
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
sudo tar xvf Python-3.11.6.tgz
Компилируем Python
cd Python-3.11.6
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall  # НЕ make install, чтобы не затереть системный Python
Проверяем
python3.11 --version
🟠Использование pyenv (изолированные версии Python) Если нужно переключаться между разными версиями Python, лучше использовать pyenv.
curl https://pyenv.run | bash
Добавляем в ~/.bashrc или ~/.profile
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
Активируем изменения
source ~/.bashrc
Устанавливаем новую версию Python
pyenv install 3.10.12
pyenv global 3.10.12  # Делаем версию по умолчанию
Проверяем:
python --version
Ставь 👍 и забирай 📚 Базу знаний

🔍 IT без багов не бывает, но с ними можно жить! Вы тестировщик, разработчик или просто любите IT? Тогда добро пожаловать в I
🔍 IT без багов не бывает, но с ними можно жить! Вы тестировщик, разработчик или просто любите IT? Тогда добро пожаловать в I’m QA, bitch! — канал, который понимает вашу боль. 💥 Что вас ждёт? ✅ Мемы про баги — потому что без смеха в этой профессии не выжить. ✅ Разборы эпичных фейлов — учимся на чужих (и своих) ошибках. ✅ Советы по тестированию — делаем софт стабильнее, а нервы крепче. ✅ Руководство по выживанию в IT — дедлайны, релизы, багрепорты без истерики. 👀 Почему стоит подписаться? 🔸 “Не воспроизводится” — худший ответ на багрепорт, и это здесь понимают. 🔸 Канал поможет стать тем QA, которому доверяют. 🔸 Любовь к IT — с мемами, лайфхаками и порцией иронии в каждом посте. 🔥 Подписывайтесь сейчас — и будьте тем, кто находит баги, а не тем, кто их делает! 👉 Подписаться P.S. Если не подпишитесь, следующая ошибка в продакшн будет на вашей совести. 😏

Защитите свою сеть с Efros Config Inspector. Вебинар Обеспечьте безопасность вашей корпоративной сети. Контролируйте конфигур
Защитите свою сеть с Efros Config Inspector. Вебинар Обеспечьте безопасность вашей корпоративной сети. Контролируйте конфигурации и состояния оборудования. За лучший вопрос на вебинаре — корпоративный мерч! Посетить событие будет полезно топ-менеджерам и IT-директорам, руководителям проектов и аналитикам, системным администраторам и специалистам по ИБ. Старт 11 марта, 12:00–13:30 мск. Участие бесплатное. Зарегистрироваться #реклама 16+ sec.ussc.ru О рекламодателе

🤔 Что такое TTL? Это ограничение времени жизни данных: - В кэше – указывает, сколько времени кэшированные данные остаются актуальными. - В DNS – время перед обновлением записи. - В пакетах сети – ограничивает время существования пакета, после чего он удаляется (ping -t). - В базах данных – регулирует автоматическое удаление данных (например, в Redis). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Онлайн-интенсив для ИТ-специалистов в Открытых школах Т1 Открытые школы — это возможность за месяц прокачать свои навыки и получить оффер в ИТ-холдинг Т1. С тебя — год опыта работы в ИТ, с нас — бесплатный онлайн-интенсив и топовые преподаватели. Что ты получишь? ✅ Уникальный рыночный опыт. Наши проекты ежегодно получают награды на ИТ-конкурсах: Global CIO, Национальной банковской премии и др. ✅ Быстрый рост в ИТ при экспертной поддержке. ✅ Материалы от HR, которые помогут прокачать резюме и подготовиться к интервью в Т1. ✅ Поддержка опытных преподавателей и уникальный карьерный фаст-трек до мидла в Т1 для выпускников интенсива. ✅ Реальный шанс получить оффер в Т1. Подавай заявку до 14 марта и приходи учиться! Старт ИТ-интенсива уже 17 марта. Подать заявку #реклама 16+ t1.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;"]
Ставь 👍 и забирай 📚 Базу знаний

Нужен человек, для сбора вопросов из собеседований на должность DevOps. Что надо делать: 1. Смотреть записи собеседований (список будет дан) 2. Выписывать вопросы, которые задают кандидату Ставка: 450 руб. / час Примерная ЗП: 54 000 руб. / месяц (4 часа в день) Если интересно и можешь уделять работе от 4 часов / день, то отправь сообщение https://t.me/niniafd и сразу напиши какие языки программирования знаешь и какие лучше всего?

Курс по мотивации сотрудников, которые ничего не хотят Сегодня в Школе Гендира открыт бесплатный трехдневный доступ к онлайн-
Курс по мотивации сотрудников, которые ничего не хотят Сегодня в Школе Гендира открыт бесплатный трехдневный доступ к онлайн-курсу Ежедневная мотивация. Основа курса – практика руководителей российских компаний. После обучения вы сможете: 👍 распознавать конфликты в коллективе на начальной стадии и вовремя принимать меры 👍 определить точки роста своего лидерского потенциала 👍 построить систему грейдов в компании 👍 внедрить метод OKR для мотивации ключевых сотрудников 👍 адаптировать для себя один из алгоритмов постановки задач Оставьте заявку на бесплатный доступ на странице курса. Подать заявку #реклама 16+ gd.ru О рекламодателе

🤔 На одном сервере top показывает LA=20, на другом LA=2. Где ситуация лучше? LA (Load Average) – среднее число процессов в очереди на выполнение. - LA=20 – значит, что 20 процессов ждут CPU, что указывает на перегрузку. - LA=2 – более нормальная нагрузка. - Оптимальный LA ≈ числу ядер CPU (nproc). Если LA существенно выше количества ядер, сервер перегружен. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

UserGate Open Conf 17 / 04 / 2025ИТ-конференция про защиту в открытую. Здесь мы создаем площадку для открытого диалога между заказчиками, партнерами, экспертами и специалистами в сфере продуктов, технологий и услуг информационной безопасности. Что мы готовим для вас: - аналитические данные исследования рынка информационной безопасности; - обзор новых видов и эволюции киберугроз с разбором кейсов по борьбе с ними; - планы внедрения новых фич и обновлений продуктов экосистемы UserGate; - 30+ продуктовых, партнерских и клиентских докладов; - нетворкинг, продуктовые демо, обмен опытом и консультации экспертов ИБ; - ответы на любые вопросы и сбор обратной связи о работе продуктов и устройств UserGate. Зарегистрироваться #реклама openconf.usergate.com О рекламодателе

🤔 Как осуществить версионирование кода инфраструктуры? Версионирование инфраструктурного кода (Infrastructure as Code, IaC) позволяет отслеживать изменения, управлять конфигурациями и обеспечивать повторяемость развертываний. Основные инструменты: Git, Terraform, Ansible, Pulumi и другие. 🚩Версионирование в Terraform Terraform — один из ключевых инструментов IaC, позволяет управлять инфраструктурой декларативно. В versions.tf указываем конкретную версию Terraform и провайдеров:
terraform {
  required_version = ">= 1.3.0"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.0"
    }
  }
}
Хранение состояния в S3 или Terraform Cloud Чтобы избежать конфликтов при одновременной работе, храните состояние в общем месте:
terraform {
  backend "s3" {
    bucket         = "my-terraform-state"
    key            = "prod/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = true
    dynamodb_table = "terraform-lock"
  }
}
🟠Версионирование с Ansible В requirements.yml фиксируем версии ролей:
roles:
  - name: geerlingguy.nginx
    version: "3.1.0"
Применяем роли
ansible-galaxy install -r requirements.yml
🟠Автоматизация версионирования через CI/CD Подключаем GitHub Actions, GitLab CI, Jenkins или Terraform Cloud.
name: Terraform CI
on:
  push:
    branches:
      - main
jobs:
  terraform:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v1
        with:
          terraform_version: 1.3.0

      - name: Terraform Init
        run: terraform init

      - name: Terraform Plan
        run: terraform plan
Ставь 👍 и забирай 📚 Базу знаний