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

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

Kanalga Telegram’da o‘tish
5 502
Obunachilar
-324 soatlar
-107 kunlar
-530 kunlar
Postlar arxiv
🤔 Что такое service monitor в Kubernetes? ServiceMonitor — это объект в Kubernetes, используемый в связке с Prometheus для мониторинга сервисов. Он определяет, какие эндпоинты и метрики должны собираться Prometheus. Это часть системы мониторинга, которая позволяет автоматизировать сбор данных о состоянии сервисов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Миграция в облако? Это легко! Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресур
Миграция в облако? Это легко! Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресурсы! Эксперты Yandex Cloud помогут перейти в облако быстро, легко и безопасно. ✅ Мы полностью сопровождаем процесс. ✅ От вас — только инженер с доступом к инфраструктуре. ✅ Архитектура под ваши задачи, миграция и поддержка на каждом шагу — всё включено. ⚡Переходите в Yandex Cloud и забудьте о старом железе. А если успеете подать заявку до 31 декабря, мы покроем расходы на инженеров и тестовую инфраструктуру. Подать заявку #реклама 16+ yandex.cloud О рекламодателе Реклама на Яндексе

🤔 Какой прикручиваете мониторинг к своим приложениям чем мониторите? Это важная часть управления инфраструктурой и обеспечения стабильной работы сервисов. Различные инструменты позволяют отслеживать состояние приложений, ресурсов системы и выявлять проблемы до того, как они повлияют на пользователей. 🚩Prometheus Это мощный инструмент для мониторинга и алертинга, который собирает метрики с приложений и систем. Prometheus использует язык запросов PromQL для анализа и генерации алертов. 🚩Установка и настройка Prometheus 1⃣Установка Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
tar xvf prometheus-2.26.0.linux-amd64.tar.gz
cd prometheus-2.26.0.linux-amd64
./prometheus --config.file=prometheus.ym   
2⃣Конфигурация prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
   - job_name: 'my_application'
    static_configs:
      - targets: ['localhost:9090']   
3⃣Экспортеры для сбора метрик Node Exporter для системных метрик Приложения могут использовать библиотеки клиента для передачи метрик (например, prometheus_client для Python) 🚩Grafana Это инструмент для визуализации данных, который отлично интегрируется с Prometheus. Он позволяет создавать красивые и информативные дашборды. 🚩Установка и настройка Grafana 1⃣Установка Grafana
wget https://dl.grafana.com/oss/release/grafana-7.4.3.linux-amd64.tar.gz
tar -zxvf grafana-7.4.3.linux-amd64.tar.gz
cd grafana-7.4.3/bin
./grafana-server   
2⃣Добавление источника данных В веб-интерфейсе Grafana добавьте Prometheus как источник данных. Создайте дашборды и панели для визуализации метрик. 3⃣Alertmanager Alertmanager управляет алертами, отправляемыми Prometheus, и позволяет настраивать правила алертинга и маршрутизации. 🚩Конфигурация Alertmanager 1⃣Конфигурация alertmanager.yml
global:
  smtp_smarthost: 'smtp.example.com:587'
  smtp_from: 'alertmanager@example.com'

route:
  receiver: 'email-alert'

receivers:
- name: 'email-alert'
  email_configs:
  - to: 'team@example.com'
ELK Stack используется для сбора, анализа и визуализации логов. 🚩Основные компоненты 🟠Elasticsearch Хранение и поиск логов. 🟠Logstash Сбор, обработка и преобразование логов. 🚩Установка и настройка ELK Stack 1⃣Установка Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.11.2-linux-x86_64.tar.gz
cd elasticsearch-7.11.2
./bin/elasticsearch   
2⃣Установка Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.11.2-linux-x86_64.tar.gz
tar -xzf logstash-7.11.2-linux-x86_64.tar.gz
cd logstash-7.11.2
./bin/logstash -f logstash.conf   
3⃣Установка Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.11.2-linux-x86_64.tar.gz
tar -xzf kibana-7.11.2-linux-x86_64.tar.gz
cd kibana-7.11.2
./bin/kibana   
Ставь 👍 и забирай 📚 Базу знаний

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человек
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам. ✔️ Как научиться отвлекаться от работы и отдыхать? ✔️ Как совместить кучу рабочих задач и время с семьей? ✔️ Как справиться с прокрастинацией? ✔️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит? Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни! 👨🏻‍💻 Псс. Заходите в закреп канала - там много полезного: https://t.me/+5NBjd_Euafg1YTYy

🤔 На каких технологиях базируется контейнеризация, Docker в том числе? Контейнеризация базируется на технологиях виртуализации на уровне ОС, таких как cgroups и namespaces, предоставляемых ядром Linux. cgroups управляют ресурсами (CPU, память), а namespaces изолируют процессы. Docker также использует OverlayFS для управления файловыми системами контейнеров. Вместе эти технологии обеспечивают лёгкую изоляцию и портативность. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Если у вас много машин и нет ansible и питона как будете устанавливать? Если у вас много машин и нет Ansible и Python, можно использовать несколько подходов для автоматической установки этих инструментов. 🚩Методы 🟠Использование SSH и скриптов Вы можете написать скрипт, который будет подключаться к каждой машине по SSH и устанавливать необходимые пакеты. Шаги: 1⃣Создайте скрипт для установки Python и Ansible
#!/bin/bash

# Установка Python
sudo apt update
sudo apt install -y python3 python3-pip

# Установка Ansible
pip3 install ansible
2⃣Создайте скрипт для выполнения установки на удалённых машинах
#!/bin/bash

# Список IP-адресов или хостнеймов машин
HOSTS=("host1" "host2" "host3")

# Путь к скрипту установки
INSTALL_SCRIPT="install_ansible.sh"

# Копирование скрипта и выполнение на удалённых машинах
for HOST in "${HOSTS[@]}"; do
    scp $INSTALL_SCRIPT $HOST:/tmp/
    ssh $HOST "bash /tmp/$INSTALL_SCRIPT"
done
🟠Использование `cloud-init` (для облачных машин) Если вы используете облачные машины, такие как AWS, Azure или Google Cloud, можно использовать cloud-init для автоматической установки Python и Ansible при создании машин. Пример cloud-init конфигурации
#cloud-config
packages:
  - python3
  - python3-pip

runcmd:
  - pip3 install ansible
🟠Использование Fabric Это инструмент для выполнения команд на удалённых серверах по SSH, который можно использовать для автоматизации установки Python и Ansible. Установка Fabric
pip install fabric
Пример использования Fabric
from fabric import Connection

# Список хостов
hosts = ["host1", "host2", "host3"]

# Команды для выполнения
commands = [
    "sudo apt update",
    "sudo apt install -y python3 python3-pip",
    "pip3 install ansible"
]

# Выполнение команд на каждом хосте
for host in hosts:
    conn = Connection(host)
    for command in commands:
        conn.run(command)
Запустите скрипт:
python deploy.py
🟠Использование pdsh (Parallel Distributed Shell) Это утилита для параллельного выполнения команд на нескольких хостах. Установка pdsh
sudo apt install pdsh
Пример использования pdsh
# Список хостов
HOSTS="host1,host2,host3"

# Команды для выполнения
pdsh -w $HOSTS "sudo apt update && sudo apt install -y python3 python3-pip"
pdsh -w $HOSTS "pip3 install ansible"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как уменьшить размер Docker image? Чтобы уменьшить размер Docker image, используйте минимальные базовые образы (например, alpine), удаляйте временные файлы после сборки, объединяйте команды в Dockerfile и избегайте ненужных зависимостей. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

🤔 Через что запускаете плейбуки или роли? В Ansible плейбуки и роли могут быть запущены различными способами в зависимости от контекста и требований. Основные методы включают использование командной строки, автоматизацию через CI/CD системы и запуск через API. Вот описание основных способов запуска плейбуков и ролей: 🚩Запуск через командную строку Самый распространенный и прямолинейный способ запуска плейбуков и ролей — это использование командной строки с командой ansible-playbook. Запуск плейбука
ansible-playbook site.yml  
Запуск плейбука с указанием инвентарного файла
ansible-playbook -i inventory/hosts site.yml  
Запуск плейбука с переменными
ansible-playbook -i inventory/hosts site.yml -e "variable1=value1 variable2=value2"  
Запуск определенной роли в плейбуке Плейбук
# site.yml
- hosts: all
  roles:
    - role: my_role  
Команда
ansible-playbook -i inventory/hosts site.yml  
🚩Запуск через CI/CD системы Многие современные проекты используют CI/CD системы, такие как Jenkins, GitLab CI, GitHub Actions и другие для автоматизации процесса развертывания и тестирования. Ansible легко интегрируется с такими системами. Jenkins Pipeline
pipeline {
    agent any
    stages {
        stage('Deploy') {
            steps {
                sh 'ansible-playbook -i inventory/hosts site.yml'
            }
        }
    }
}
🟠Пример запуска через GitLab CI .gitlab-ci.yml
stages:
  - deploy

deploy:
  stage: deploy
  script:
    - ansible-playbook -i inventory/hosts site.yml
🟠Запуск через Ansible Tower или AWX Ansible Tower (коммерческий продукт) и AWX (open-source версия Ansible Tower) предоставляют веб-интерфейс и API для управления и автоматизации Ansible задач. 🚩Пример запуска через Ansible Tower/AWX 🟠Создание Job Template В веб-интерфейсе Ansible Tower или AWX создайте новый шаблон задания (Job Template), укажите плейбук и инвентарь. 🟠Запуск задания: Запустите задание через веб-интерфейс или API. Запуск через API
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"inventory": "1", "job_template": "1"}' \
http://tower.example.com/api/v2/job_templates/1/launch/
Пример плейбука site.yml
# site.yml
- hosts: all
  roles:
    - role: my_role
Запуск через командную строку
ansible-playbook -i inventory/hosts site.yml
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда используется UDP? UDP используется, когда важна скорость и допустима потеря данных, например, в стриминге, видеозвонках, DNS-запросах и онлайн-играх. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Что такое реальный ворк-лайф баланс для разработчика? На целую неделю ребята из канала Merk/daily передают бразды правления и
Что такое реальный ворк-лайф баланс для разработчика? На целую неделю ребята из канала Merk/daily передают бразды правления их каналом Flutter-разработчику Александру, чтобы вместе выяснить как разработчикам не выгорать на сложных проектах. Никакой воды и скучных нравоучениях о том, как «правильно» жить 👌 Александр расскажет, как выглядит его ворк-лайф баланс на самом деле, и как создать свой собственный, идеально подходящий именно вам. А еще: - Реальные истории из жизни IT-специалистов в международной компании. - Как Саша пришел в IT и выбрал свой стек - Кринжовые истории с собеседований - История о том, как мы сначала отказали Саше, а потом передумали ⚡ Подписывайтесь на канал, чтобы не пропустить! Подписаться #реклама О рекламодателе

🤔 Какой опыт использования хендлеров и шаблонов для ролей? В Ansible хэндлеры и шаблоны являются важными инструментами для управления конфигурацией и автоматизации задач. Они позволяют эффективно управлять изменениями конфигурации и генерировать файлы конфигураций динамически. Вот описание моего опыта использования хэндлеров и шаблонов в ролях Ansible. 🚩Хэндлеры Это задачи, которые выполняются только при вызове. Они используются для выполнения действий после изменения состояния системы, например, перезагрузки службы после обновления конфигурационного файла. Определение хэндлеров в роли
# roles/my_role/handlers/main.yml
- name: restart nginx
  service:
    name: nginx
    state: restarted
Вызов хэндлера в задаче
# roles/my_role/tasks/main.yml
- name: Copy nginx configuration file
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
  notify:
    - restart nginx
🚩Шаблоны в Ansible Используют движок Jinja2 для динамического создания файлов на основе переменных. Это позволяет генерировать конфигурационные файлы, которые могут адаптироваться к различным средам и параметрам. Определение шаблона
# roles/my_role/templates/nginx.conf.j2
server {
    listen 80;
    server_name {{ server_name }};
    location / {
        proxy_pass http://{{ proxy_pass }};
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Использование шаблона в задаче
# roles/my_role/tasks/main.yml
- name: Generate nginx configuration from template
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
  vars:
    server_name: "example.com"
    proxy_pass: "127.0.0.1:8080"
  notify:
    - restart nginx
🚩Опыт использования 1⃣Автоматизация развертывания веб-серверов В проектах автоматизации развертывания веб-серверов я использовал хэндлеры для перезапуска служб после обновления конфигурационных файлов. Шаблоны позволяли гибко настраивать конфигурации для различных окружений (development, staging, production). 2⃣Управление конфигурацией баз данных Для управления конфигурацией баз данных я использовал шаблоны для генерации файлов конфигураций на основе переменных, которые определяют параметры подключения и настройки базы данных. 3⃣Обновление систем и пакетов Использование хэндлеров для перезагрузки служб после установки или обновления пакетов. Например, перезапуск Apache после установки новых модулей или обновления конфигурации. Ставь 👍 и забирай 📚 Базу знаний

🤔 При попытке создания файла на диске на Linux ошибка, что места нет, проверяете, место есть — с чем это может быть связано? Ошибка может быть связана с исчерпанием inodes, ограничением прав доступа, превышением лимита пользователя или монтированием диска только для чтения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Канал для начинающих системных аналитиков! Здесь вы получите ответы на: - Какое развитие у системного аналитика и сколько он
Канал для начинающих системных аналитиков! Здесь вы получите ответы на: - Какое развитие у системного аналитика и сколько он может получать? - Как подготовиться к собеседованию? - Как преодолеть страхи при переходе в IT? - Как правильно вести коммуникацию с заказчиком? - Какие ошибки бывают при проектировании? А так же много практической пользы, которая поможет новичкам начать путь в IT! Подписаться #реклама О рекламодателе

🤔 Как сделать так чтобы докер при сборке образа получил динамический атрибут от CI не env а например id проекта? 🟠Podman Без демона: Не требует отдельного демона, контейнеры работают как процессы. Совместимость с Docker: Поддерживает Docker CLI. rootless режим: Запуск без привилегий суперпользователя.
podman run -d --name my-container nginx
🟠CRI-O Интеграция с Kubernetes: Оптимизирован для Kubernetes. Легковесность: Минимальные зависимости. Поддержка OCI: Соответствует стандартам Open Container Initiative.
criSocket: /var/run/crio/crio.sock
🟠containerd Высокая производительность: Эффективное управление контейнерами. Интеграция с Kubernetes: Используется напрямую через CRI. Поддержка OCI: Полная совместимость с OCI.
ctr run -d --name my-container docker.io/library/nginx:latest
🟠LXC/LXD Полная виртуализация ОС: Изоляция процессов, сети и файловой системы. Управление контейнерами: Удобные инструменты для управления. Гибкость: Поддержка различных дистрибутивов Linux.
lxc launch ubuntu:20.04 my-container
🟠Rkt Без демона: Запуск контейнеров без постоянного демона. Безопасность: Изолированные окружения и аутентификация. Интеграция с Kubernetes: Альтернатива Docker в Kubernetes.
rkt run --insecure-options=image docker://nginx
🟠OpenVZ Виртуализация на уровне ОС: Запуск изолированных виртуальных окружений. Производительность: Минимальная изоляция для высокой производительности. Управление ресурсами: Контроль ресурсов для каждого окружения.
vzctl create 101 --ostemplate centos-7
🟠Singularity Фокус на HPC: Оптимизирован для научных вычислений. rootless контейнеры: Запуск без прав суперпользователя. Совместимость: Поддержка Docker контейнеров и OCI форматов.
singularity pull docker://nginx
Ставь 👍 и забирай 📚 Базу знаний

📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной матери
📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление: 👩‍💻 Frontend 👩‍💻 PHP ⚙️ Backend 👩‍💻 Моб. Dev 📱 GitHub 👩‍💻 GameDev 🤓 Всё айти 👩‍💻 DevOps 👩‍💻 Python 🖥 Data Science 👩‍💻 Java 🐞 Тестирование 👩‍💻 C# 🤔 Хакинг & ИБ 👩‍💻 С/С++ 📱 Маркетинг 🖥 SQL 🖥 Дизайн 👩‍💻 Golang 👣 Rust Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке

🤔 Как посмотреть размер папки на диске? Команда du -sh <путь к папке> показывает размер папки в человеко-читаемом формате. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Цены на все Серверы онлайн! Удобный конфигуратор! Серверы STSS Flagman✅ Огромный выбор решений 👍 Консультации лучших эксперт
Цены на все Серверы онлайн! Удобный конфигуратор! Серверы STSS Flagman✅ Огромный выбор решений 👍 Консультации лучших экспертов 👌 Непревзойденный сервис ❤️ Получить предложение #реклама stss.ru О рекламодателе

🤔 Какие ещё есть системы контейнеризации помимо докера? 🟠Podman Без демона: Не требует отдельного демона, контейнеры работают как процессы. Совместимость с Docker: Поддерживает Docker CLI. rootless режим: Запуск без привилегий суперпользователя.
podman run -d --name my-container nginx
🟠CRI-O Интеграция с Kubernetes: Оптимизирован для Kubernetes. Легковесность: Минимальные зависимости. Поддержка OCI: Соответствует стандартам Open Container Initiative.
criSocket: /var/run/crio/crio.sock
🟠containerd Высокая производительность: Эффективное управление контейнерами. Интеграция с Kubernetes: Используется напрямую через CRI. Поддержка OCI: Полная совместимость с OCI.
ctr run -d --name my-container docker.io/library/nginx:latest
🟠LXC/LXD Полная виртуализация ОС: Изоляция процессов, сети и файловой системы. Управление контейнерами: Удобные инструменты для управления. Гибкость: Поддержка различных дистрибутивов Linux.
lxc launch ubuntu:20.04 my-container
🟠Rkt Без демона: Запуск контейнеров без постоянного демона. Безопасность: Изолированные окружения и аутентификация. Интеграция с Kubernetes: Альтернатива Docker в Kubernetes.
rkt run --insecure-options=image docker://nginx
🟠OpenVZ Виртуализация на уровне ОС: Запуск изолированных виртуальных окружений. Производительность: Минимальная изоляция для высокой производительности. Управление ресурсами: Контроль ресурсов для каждого окружения.
vzctl create 101 --ostemplate centos-7
🟠Singularity Фокус на HPC: Оптимизирован для научных вычислений. rootless контейнеры: Запуск без прав суперпользователя. Совместимость: Поддержка Docker контейнеров и OCI форматов.
singularity pull docker://nginx
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие протоколы знаешь? Протоколы: TCP (надежная передача данных), UDP (быстрая и ненадёжная), HTTP/HTTPS (веб-протоколы), FTP (передача файлов), SMTP/IMAP/POP3 (почтовые протоколы), WebSocket (двусторонняя связь) и DNS (разрешение имён). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний