DevOps | Вопросы собесов
5.21K subscribers
39 photos
825 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Тесты t.me/+2P7cpjeyfDVlZjcy
Вакансии t.me/+i5KFWEWJ21hhYWEy
Download Telegram
🤔 Какой командой можно показать все работающие процессы на Linux?

Для отображения всех работающих процессов в Linux можно использовать несколько команд. Самые популярные из них: ps, top, htop и pgrep. Каждая из них имеет свои особенности.

🚩Команда `ps`

ps выводит снимок (snapshot) текущих процессов в момент выполнения команды.
🟠`ps aux`
Показывает все процессы, запущенные в системе, включая пользователей и системные демоны.
ps aux


🟠`ps -ef`
Альтернативный стиль вывода всех процессов с более детальной информацией.
ps -ef


🚩Команда `top`

top — интерактивная утилита для отображения всех запущенных процессов в реальном времени. Вывод обновляется автоматически.

Запуск
top


🚩Команда `htop`

htop — более современная и удобная версия top. Требуется предварительная установка:
sudo apt install htop  # Для Ubuntu/Debian
sudo yum install htop # Для CentOS/RHEL


Запуск
htop


🚩Команда `pgrep`

pgrep используется для поиска процессов по имени, но с дополнительными опциями можно вывести все процессы.

Пример
pgrep -a ""


🚩Команда `systemctl` (для сервисов)

Если вы хотите посмотреть системные службы
systemctl list-units --type=service


🚩Какую команду выбрать?

🟠Для быстрого снимка
ps aux.
🟠Для мониторинга в реальном времени
top или htop.
🟠Для поиска конкретного процесса
pgrep <имя процесса>.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как управлять в GitLab CI чувствительными данными и как их передаёте?

Для передачи чувствительных данных, таких как токены или ключи доступа, используются переменные окружения, которые можно задать в настройках проекта в GitLab. Эти данные защищены и не отображаются в логах выполнения pipeline.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Какая компонента запускает под на ноде, какая отвечает за сеть?

В Kubernetes разные компоненты отвечают за запуск подов и сетевые настройки.

🚩Какая компонента запускает под на ноде? (`kubelet`)

Получает команды от kube-scheduler (назначение подов)
Запускает контейнеры через Container Runtime (Docker, containerd, CRI-O)
Следит за состоянием подов и перезапускает их при сбоях
systemctl status kubelet


Посмотреть логи kubelet
journalctl -u kubelet -f


🚩Какая компонента отвечает за сеть? (CNI)

Назначает IP-адреса подам
Организует маршрутизацию трафика между подами и нодами
Настраивает Network Policies (безопасность сети)
Проверить работающие сетевые плагины
kubectl get pods -n kube-system


Вывод (если CNI работает нормально)
NAME               READY   STATUS    RESTARTS   AGE
calico-node-xyz 1/1 Running 2 3d


Если CNI не работает, поды могут застрять в ContainerCreating
kubectl get pods

NAME          READY   STATUS              RESTARTS   AGE
web-server 0/1 ContainerCreating 0 10m


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Что такое replica count?

В Kafka replica count (replication factor) — это количество копий партиции, хранящихся на разных брокерах.
- Повышает отказоустойчивость.
- Один из брокеров — лидер, остальные — фолловеры.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Как работает DRCP?

DRCP (Database Resident Connection Pooling) — это механизм в Oracle Database, который уменьшает нагрузку на базу данных за счет повторного использования соединений между клиентами и сервером. DRCP полезен для сред с большим количеством краткоживущих соединений, например, веб-приложений.

🚩Почему нужен DRCP?

Экономит ресурсы – вместо создания новых соединений база использует пул уже существующих.
Снижает нагрузку на сервер – меньше процессов, меньше потребления памяти и CPU.
Ускоряет работу – повторное использование соединений сокращает время на установку нового подключения.
Идеально для многопоточных сред – например, PHP-приложений, где соединения краткосрочные.

🚩Как DRCP работает?

🟠Клиент делает запрос на подключение
Клиент (например, веб-приложение) отправляет запрос на подключение к базе. Вместо создания нового процесса сервер ищет свободное соединение в пуле DRCP.

🟠DRCP предоставляет соединение
Если в пуле есть свободное соединение, оно передается клиенту. Если нет – создается новое (если не превышен лимит).

🟠Клиент выполняет SQL-запрос
После завершения работы клиент "освобождает" соединение. Вместо закрытия соединение возвращается в пул, чтобы быть использованным другим клиентом.

🟠Диспетчер соединений управляет пулом
Connection Broker (диспетчер соединений) следит за балансировкой нагрузки и распределяет соединения между клиентами.

🚩Как включить DRCP?

Включаем DRCP на сервере
EXEC DBMS_CONNECTION_POOL.START_POOL();


Проверяем статус пула
SELECT * FROM V$CPOOL_STATS;


Подключаем клиента с использованием DRCP
CONNECT user/password@database:pooled


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как сделать доступ из дома к серверу в Private Subnet в Data Center?

- Использовать VPN (OpenVPN, WireGuard);
- Настроить Bastion Host;
- Применить SSH-туннелирование;
- Использовать прокси или zero-trust платформы (например, Tailscale).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне?

Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами.

🚩Локальный почтовый сервер (SMTP)

1⃣Установка
sudo apt update
sudo apt install postfix


2⃣Настройка
Отредактируйте /etc/postfix/main.cf
myhostname = local.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination


3⃣Перезапуск Postfix
sudo systemctl restart postfix   


4⃣Проверка
echo "Test email" | mail -s "Test Subject" user@example.com


🚩Локальный мессенджер (Mattermost)

1⃣Установка Mattermost
Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html).

2⃣Настройка
Создайте каналы и пользователей.

3⃣Интеграция с мониторингом
Используйте веб-хуки Mattermost для уведомлений.

🚩Системы управления инцидентами (Zabbix)

1⃣Установка Zabbix
Следуйте [документации](https://www.zabbix.com/download).

2⃣Настройка
Настройте хосты, триггеры и действия.

3⃣Настройка уведомлений
Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления.

🚩Локальный стек мониторинга (Prometheus, Alertmanager)

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.yml


2⃣Установка Alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
./alertmanager --config.file=alertmanager.yml


3⃣Настройка алертинга в Prometheus
groups:
- name: example-alerts
rules:
- alert: HighCPUUsage
expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
for: 2m
labels:
severity: critical
annotations:
summary: "High CPU usage detected"
description: "CPU usage is above 80% for more than 2 minutes"


4⃣Настройка Alertmanager
global:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@local.example.com'
route:
receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
email_configs:
- to: 'admin@local.example.com'
send_resolved: true


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Где хранятся данные о пользователях системы?

Пользователи описаны в системном файле, содержащем имя, ID, домашний каталог и shell. Это основной источник данных о локальных пользователях.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM