Для отображения всех работающих процессов в Linux можно использовать несколько команд. Самые популярные из них:
ps
, top
, htop
и pgrep
. Каждая из них имеет свои особенности.ps
выводит снимок (snapshot) текущих процессов в момент выполнения команды.Показывает все процессы, запущенные в системе, включая пользователей и системные демоны.
ps aux
Альтернативный стиль вывода всех процессов с более детальной информацией.
ps -ef
top
— интерактивная утилита для отображения всех запущенных процессов в реальном времени. Вывод обновляется автоматически.Запуск
top
htop
— более современная и удобная версия top
. Требуется предварительная установка:sudo apt install htop # Для Ubuntu/Debian
sudo yum install htop # Для CentOS/RHEL
Запуск
htop
pgrep
используется для поиска процессов по имени, но с дополнительными опциями можно вывести все процессы.Пример
pgrep -a ""
Если вы хотите посмотреть системные службы
systemctl list-units --type=service
ps aux
. top
или htop
. pgrep <имя процесса>
.Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В Kubernetes разные компоненты отвечают за запуск подов и сетевые настройки.
Получает команды от
kube-scheduler
(назначение подов) Запускает контейнеры через Container Runtime (Docker, containerd, CRI-O)
Следит за состоянием подов и перезапускает их при сбоях
systemctl status kubelet
Посмотреть логи
kubelet
journalctl -u kubelet -f
Назначает 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
В Kafka replica count (replication factor) — это количество копий партиции, хранящихся на разных брокерах.
- Повышает отказоустойчивость.
- Один из брокеров — лидер, остальные — фолловеры.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
DRCP (Database Resident Connection Pooling) — это механизм в Oracle Database, который уменьшает нагрузку на базу данных за счет повторного использования соединений между клиентами и сервером. DRCP полезен для сред с большим количеством краткоживущих соединений, например, веб-приложений.
Экономит ресурсы – вместо создания новых соединений база использует пул уже существующих.
Снижает нагрузку на сервер – меньше процессов, меньше потребления памяти и CPU.
Ускоряет работу – повторное использование соединений сокращает время на установку нового подключения.
Идеально для многопоточных сред – например, PHP-приложений, где соединения краткосрочные.
Клиент (например, веб-приложение) отправляет запрос на подключение к базе. Вместо создания нового процесса сервер ищет свободное соединение в пуле DRCP.
Если в пуле есть свободное соединение, оно передается клиенту. Если нет – создается новое (если не превышен лимит).
После завершения работы клиент "освобождает" соединение. Вместо закрытия соединение возвращается в пул, чтобы быть использованным другим клиентом.
Connection Broker (диспетчер соединений) следит за балансировкой нагрузки и распределяет соединения между клиентами.
Включаем 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
- Использовать VPN (OpenVPN, WireGuard);
- Настроить Bastion Host;
- Применить SSH-туннелирование;
- Использовать прокси или zero-trust платформы (например, Tailscale).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами.
sudo apt update
sudo apt install postfix
Отредактируйте
/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
sudo systemctl restart postfix
echo "Test email" | mail -s "Test Subject" [email protected]
Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html).
Создайте каналы и пользователей.
Используйте веб-хуки Mattermost для уведомлений.
Следуйте [документации](https://www.zabbix.com/download).
Настройте хосты, триггеры и действия.
Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления.
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
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
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"
global:
smtp_smarthost: 'localhost:25'
smtp_from: '[email protected]'
route:
receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
email_configs:
- to: '[email protected]'
send_resolved: true
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Пользователи описаны в системном файле, содержащем имя, ID, домашний каталог и shell. Это основной источник данных о локальных пользователях.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6👍1🔥1
При запуске Ansible-плейбука через консоль командой
ansible-playbook playbook.yml
Первая строка, которая появится в консоли
PLAY [имя_плейбука] *****************************************************
Пример запуска
ansible-playbook site.yml
Вывод в консоли:
PLAY [Install and configure web server] *********************************
Если
name:
не указан в плейбуке, будет:PLAY [Unnamed Play] ****************************************************
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💊4👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6
Если запустить микросервис просто в контейнере (например, через
docker run
), он будет работать как отдельный процесс, без встроенной системы управления и оркестрации. Но если запустить его в Kubernetes, он будет работать в поде (Pod).
Если нужен просто контейнер →
docker run my-app
. Если нужен отказоустойчивый микросервис → Kubernetes Pod.
Если несколько контейнеров должны работать вместе (например, приложение + sidecar) → Pod.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊9👍1
- RBAC (Role-Based Access Control) — основной встроенный механизм.
- OPA (Open Policy Agent) и Gatekeeper — для политик доступа на уровне объектов.
- kube-apiserver + Authentication + Authorization + Admission controllers.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
DNS Records – это записи, которые управляют маршрутизацией домена в интернете. Они определяют, куда направлять запросы, какие IP-адреса использовать и какие сервисы подключены к домену.
A-запись (IP-адрес домена)
example.com. IN A 192.168.1.1
CNAME-запись (псевдоним)
www.example.com. IN CNAME example.com.
MX-запись (почтовый сервер)
example.com. IN MX 10 mail.example.com.
TXT-запись (SPF, верификация)
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Необходимо настроить планировщик Kubernetes так, чтобы он размещал часть подов на конкретных физических узлах. Для этого используются механизмы node affinity, taints/tolerations или nodeSelector.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Выполнить rebase на main в Git означает "перенести" ваши изменения поверх актуального состояния основной ветки (
main
). Допустим, вы работаете в ветке
feature-branch
: git checkout feature-branch
Сначала убедимся, что
main
обновлена: git checkout main
git pull origin main
Теперь выполняем сам rebase:
git checkout feature-branch
git rebase main
Если у вас есть конфликты, Git остановит процесс и попросит их решить.
Откройте файлы с конфликтами, исправьте их.
Добавьте исправленные файлы:
git add <файл>
Продолжите rebase:
git rebase --continue
Если rebase прошёл успешно, вам нужно форсированно обновить удалённую ветку (так как история изменилась):
git push origin feature-branch --force
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Сервер может устанавливать сетевые соединения с другими устройствами. Чтобы это отследить, применяются утилиты, которые показывают IP-адреса, порты и процессы, участвующие в сетевой коммуникации. Это помогает выявить входящие и исходящие подключения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊12👍1
Pod в
Pending
означает, что он не может быть запущен, потому что Kubernetes не может его назначить (schedule
) на ноду. Нет свободных ресурсов на нодах (CPU, RAM)
Неподходящие
nodeSelector
, affinity
или taints
Нет доступных узлов (все
NotReady
) Проблемы с
PersistentVolume
(PVC не привязан) Ошибки в CNI (сеть Kubernetes)
Команда
kubectl get pods -A
Команда:
kubectl describe pod my-app-1
Если под настроен только на определенные ноды, он может не найти подходящую.
kubectl describe pod my-app-1
Вывод:
0/3 nodes are available: 3 node(s) didn't match pod affinity/selector.
Проверяем статус нод
kubectl get nodes
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Ресурс — это основная строительная единица, которая описывает один объект инфраструктуры: например, виртуальная машина, сеть, база данных.
Ресурсы объявляются в *.tf файлах и управляются через провайдеры (aws_instance, google_storage_bucket и т.д.).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Максимальное количество адресов оперативной памяти (ОП), с которыми может взаимодействовать процессор, зависит от ширины адресной шины процессора. Адресная шина определяет, сколько уникальных адресов памяти процессор может адресовать.
Количество адресуемых ячеек памяти определяется по формуле:
\text{Максимальное количество адресов} = 2^{\text{ширина адресной шины (в битах)}}
Максимально возможное количество адресов:
2^{32} = 4,294,967,296 \, (\approx 4 \, \text{Гбайт})
Теоретический максимум
2^{64} = 18,446,744,073,709,551,616 \, (\approx 16 \, \text{эксабайт})
Однако современные процессоры обычно поддерживают меньше, например
Архитектура x86-64 (например, Intel и AMD): ограничена 48–57 битами для адресов памяти, что позволяет адресовать от 256 Тбайт до 128 Пбайт.
Производители процессоров могут использовать меньшее количество адресных линий, чтобы снизить сложность и стоимость. Например, современные 64-битные процессоры адресуют только часть 64-битного пространства (например, 48 бит).
Даже если процессор поддерживает большое количество адресов, максимальная память ограничивается количеством слотов памяти и их емкостью на материнской плате.
Некоторые адреса зарезервированы для системных нужд (например, для ввода/вывода или BIOS).
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
1. Он автоматически запускает новые поды при сбоях существующих или при увеличении нагрузки.
2. Гарантирует поддержание заданного количества экземпляров приложения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Понимание этих двух терминов поможет нам различить их предназначение и использование в контексте Kubernetes и программного обеспечения.
Это объект в Kubernetes, который позволяет пользователям запрашивать выделение постоянного хранилища для подов. PVC абстрагирует детали физического хранилища, позволяя разработчикам и администраторам фокусироваться на объеме и типе хранилища, необходимого для приложения, без необходимости управлять деталями самого хранилища.
PVC определяет запрос на объем хранилища и его характеристики, такие как размер и класс хранилища (Storage Class).
PVC абстрагирует конкретные детали физического хранилища, предоставляя единый интерфейс для запросов хранилища.
PVC может использовать как динамическое связывание (где Kubernetes автоматически создает PV на основе PVC), так и статическое связывание (где администраторы заранее создают PV).
PVC могут быть подключены к подам, обеспечивая постоянное хранилище для приложений.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
Это термин, используемый для описания разработчиков или инженеров, которые обладают навыками и знаниями для работы со всеми уровнями разработки программного обеспечения, от фронтенда до бэкенда, включая базы данных, серверы и даже DevOps практики.
Создание пользовательских интерфейсов с использованием HTML, CSS, JavaScript и фреймворков, таких как React, Angular или Vue.js.
Разработка серверной логики и API с использованием языков программирования, таких как Python, Node.js, Ruby, Java или PHP.
Работа с реляционными (например, MySQL, PostgreSQL) и нереляционными (например, MongoDB, Redis) базами данных.
Управление развертыванием, настройкой серверов, CI/CD пайплайнами, мониторингом и масштабированием приложений.
Понимание протоколов, таких как HTTP/HTTPS, REST, WebSockets, и работа с серверными технологиями, такими как Nginx или Apache.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊28🤔6