DevOps | Вопросы собесов
前往频道在 Telegram
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
显示更多5 502
订阅者
-324 小时
-107 天
-530 天
帖子存档
🤔 Что такое 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 и избегайте ненужных зависимостей.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+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 передают бразды правления их каналом 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 декабря для граждан РФ открыт доступ к платным материалам по программированию
Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление:
👩💻 Frontend 👩💻 PHP
⚙️ Backend 👩💻 Моб. Dev
📱 GitHub 👩💻 GameDev
🤓 Всё айти 👩💻 DevOps
👩💻 Python 🖥 Data Science
👩💻 Java 🐞 Тестирование
👩💻 C# 🤔 Хакинг & ИБ
👩💻 С/С++ 📱 Маркетинг
🖥 SQL 🖥 Дизайн
👩💻 Golang 👣 Rust
Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке
🤔 Как посмотреть размер папки на диске?
Команда du -sh <путь к папке> показывает размер папки в человеко-читаемом формате.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Цены на все Серверы онлайн! Удобный конфигуратор!
Серверы 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 (разрешение имён).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
