DevOps Portal | Linux
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3P8kFH
Show more📈 Analytical overview of Telegram channel DevOps Portal | Linux
Channel DevOps Portal | Linux (@loose_code) in the Russian language segment is an active participant. Currently, the community unites 13 744 subscribers, ranking 9 246 in the Technologies & Applications category and 47 183 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 13 744 subscribers.
According to the latest data from 31 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 653 over the last 30 days and by 8 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 18.75%. Within the first 24 hours after publication, content typically collects 10.49% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 576 views. Within the first day, a publication typically gains 1 441 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
- Thematic interests: Content is focused on key topics such as devops, kubernetes, docker, linux, ebpf.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps
Сотрудничество, реклама: @devmangx
Работаем с @Spiral_Yuri
РКН: https://clck.ru/3P8kFH”
Thanks to the high frequency of updates (latest data received on 01 November, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
Ошибки Pod/контейнера🔹CrashLoopBackOff — Причина: Контейнер продолжает падать из-за ошибок в приложении. — Первый шаг: Проверьте логи с помощью kubectl logs <pod> и отладьте приложение. 🔹ImagePullBackOff — Причина: Kubernetes не может загрузить образ контейнера из реестра. — Первый шаг: Проверьте название образа, учетные данные (если образ приватный) и убедитесь, что реестр доступен. 🔹ErrImagePull — Причина: Kubernetes не удалось загрузить образ контейнера. — Первый шаг: Убедитесь, что образ существует в реестре и его имя написано правильно. 🔹OOMKilled — Причина: Контейнер превысил лимит памяти. — Первый шаг: Увеличьте лимит памяти в спецификации pod или оптимизируйте приложение. 🔹ContainerCreating в течение длительного времени — Причина: Проблемы с монтированием томов, образами или kubelet. — Первый шаг: Проверьте привязки томов, статус образа и логи узла. 🔹Неудачная проверка Readiness/Liveness — Причина: Пробы неправильно настроены или приложение не отвечает. — Первый шаг: Проверьте настройки проб и убедитесь, что приложение готово.
Ошибки планирования Pod🔹0/1 узлов доступны: 1 Недостаточно CPU — Причина: Узлы кластера не имеют требуемых ресурсов CPU. — Первый шаг: Масштабируйте кластер или отрегулируйте запросы ресурсов для pod. 🔹0/1 узлов доступны: Нет совпадений для селектора узла — Причина: Селекторы узлов в спецификации pod не совпадают с метками узлов. — Первый шаг: Обновите метки узлов или измените селектор узла в pod. 🔹0/1 узлов доступны: Правила Pod Affinity/Anti-affinity — Причина: Правила размещения pod препятствуют планированию. — Первый шаг: Проверьте и отрегулируйте правила affinity/anti-affinity в спецификации pod.
Ошибки с постоянным хранилищем🔹VolumeMountConflict — Причина: Несколько pod пытаются смонтировать том в режиме ReadWriteOnce. — Первый шаг: Отрегулируйте режимы доступа к томам или конфигурацию хранилища. 🔹PersistentVolumeClaim в состоянии Pending — Причина: Нет подходящего PersistentVolume. —Первый шаг: Проверьте конфигурацию PV и убедитесь, что она соответствует требованиям PVC. 🔹Неудачное прикрепление тома — Причина: Ошибка прикрепления тома к узлу. — Первый шаг: Проверьте класс хранилища и логи облачного провайдера на наличие ошибок.
Ошибки RBAC и аутентификации🔹Forbidden: Пользователь <user> не может просматривать ресурс <resource> — Причина: У пользователя или сервисного аккаунта нет необходимых прав. — Первый шаг: Создайте или обновите RoleBinding/ClusterRoleBinding. 🔹Unauthorized — Причина: Неверный или просроченный kubeconfig. — Первый шаг: Обновите токены, убедитесь в наличии правильных сертификатов или повторно войдите в кластер. 🔹Secret не найден — Причина: Секрет, указанный в спецификации pod, не существует. — Первый шаг: Создайте секрет или обновите pod, чтобы использовать существующий секрет.
Ошибки в управляющей плоскости и узлах рабочих🔹etcdserver: запрос истек по времени — Причина: Кластер etcd не работает должным образом или перегружен. — Первый шаг: Проверьте логи и метрики etcd и убедитесь в правильном распределении ресурсов. 🔹Evicted — Причина: Давление на ресурсы узла (например, недостаточно диска, памяти или CPU). — Первый шаг: Освободите ресурсы или масштабируйте кластер. 🔹Узел испытывает давление на диск — Причина: Недостаточно места на диске узла. — Первый шаг: Очистите неиспользуемые образы или логи и мониторьте использование диска. 🔹Узел испытывает давление на память — Причина: Слишком высокое использование памяти. — Первый шаг: Определите процессы, потребляющие много памяти (top или htop), и оптимизируйте их или остановите. Рассмотрите возможность добавления памяти в узел. 🔹Узел испытывает давление по PID — Причина: Достигнут максимальный лимит процессов (PIDs). — Первый шаг: Увеличьте лимит PID в /etc/systemd/system.conf. Проверьте "блуждающие" процессы и оптимизируйте использование ресурсов.
docker build могут повторно использовать кэш менеджера пакетов.
🔹Кэшированные файлы не попадут в финальный образ.
🔹Кэш будет работать, даже если один из вышеуказанных слоев изменится.
И все, что для этого нужно, это использовать инструкцию RUN --mount=type=cache. Вот пример для сборки образа с Python 👆
👉 DevOps Portalwatch -d -n 1 sensors
Это отображает данные о температуре CPU, GPU, Wi-Fi, NVMe SSD и HDD в реальном времени.
Подробнее: https://cyberciti.biz/faq/howto-linux-get-sensors-information/
👉 DevOps Portalls — отличный инструмент командной строки для вывода списка файлов и каталогов в Linux.
Однако lsd — это еще более современная альтернатива ls. Она добавляет значки, цветной вывод и делает представление информации более удобным и наглядным.
$ lsd -lah
Если команда lsd не установлена в вашей системе по умолчанию, обратитесь к документации вашей системы для инструкций по установке.
👉 DevOps Portalkubelet (агент узла), могут общаться со всеми Pod'ами на своем узле.
— Сервисы: стабильный доступ к Pod'ам
🔹 API Service: Предоставляет стабильный IP/имя хоста для группы Pod'ов (например, backend-серверов).
Пример: Frontend веб-приложения может подключаться к backend-сервису, не беспокоясь об изменении IP-адресов отдельных Pod'ов.
🔹 EndpointSlices: Kubernetes автоматически обновляет их для отслеживания активных Pod'ов, обслуживающих сервис.
— Маршрутизация трафика и прокси
🔹 Service Proxy: Направляет трафик к нужным Pod'ам.
— По умолчанию: kube-proxy (встроенный прокси Kubernetes).
— Альтернативы: Некоторые сетевые плагины заменяют kube-proxy своими прокси (например, Cilium).
— Внешний доступ к сервисам
🔹 Gateway API/Ingress:
1. Ingress: Устаревший способ предоставления внешнего доступа к сервисам (например, через HTTP-маршруты).
2. Gateway API: Современный и гибкий метод управления внешним трафиком (поддерживает сложную маршрутизацию и многокомандные настройки).
🔹 Тип LoadBalancer: Самый простой способ предоставить внешний доступ к сервису (работает с облачными провайдерами, такими как AWS или GCP).
— Сетевая безопасность (NetworkPolicy)
🔹 Контроль трафика: Определяет правила, например: "Только Pod'ы frontend могут взаимодействовать с Pod'ом базы данных."
🔹 Не всегда поддерживается: Зависит от сетевого плагина (например, Calico поддерживает NetworkPolicy, а простые плагины могут не поддерживать).
— Без ручной настройки сети
🔹 Автоматическое подключение: В отличие от старых систем (например, Docker links), Kubernetes автоматически управляет сетями.
🔹 Pod'ы как виртуальные машины: Подходите к Pod'ам как к отдельным серверам — не нужно вручную сопоставлять порты или управлять подключениями.
— Как Kubernetes реализует сети
🔹 Kubernetes задает правила: Указывает, что должно быть сделано (например, Pod'ы должны общаться напрямую).
🔹 Внешние инструменты выполняют работу:
1. Container Runtime Interface (CRI): Настраивает сетевые пространства Pod'ов (общие для контейнеров внутри Pod'а).
2. CNI-плагины: Управляют реальной сетью Pod'ов (например, Calico, Flannel).
3. Сервисные прокси: Обрабатывают маршрутизацию трафика (например, kube-proxy или прокси плагинов).
— Ключевые моменты для понимания
🔹Сеть Pod'ов vs. Host-сеть:
1. Сеть Pod'ов: Режим по умолчанию (Pod'ы получают уникальные IP).
2. Host-сеть: Pod'ы используют IP узла (редко используется, например, для инструментов мониторинга сети).
🔹 Устаревшие vs. современные инструменты:
1. Ранее требовалась ручная привязка портов (например, docker run -p 80:80).
2. Kubernetes автоматизирует этот процесс — ручная работа не требуется.
🔹 Примеры Gateway API:
1. Облачные: AWS Gateway API Controller, Google Cloud Gateway.
2. Универсальные: Istio, NGINX Gateway.
👉 DevOps Portalmount -o remount,rw,nosuid,nodev,noexec,relatime,hidepid=2 /proc
Теперь снова запускаем от обычного пользователя htop и наблюдаем, что выборка процессов пропала, и осталось +- 2, bash и htop.
Естественно после ребута сервера, все это пропадет. Чтобы этого не произошло — монтируем /proc в fstab.
Вставляем в /etc/fstab
proc /proc proc defaults,nosuid, nodev, noexec,relatime,hidepid=2 0 0
Встречаются приложения которые могут отвалиться. Для этого нужно зафиксить маунт с опцией gid=VALUE.
Значением gid параметра может быть имя группы в системе, членам которой доступ к процессам будет разрешён. И затем маунтить /proc таким образом:
proc /proc proc defaults, hidepid=2, gid=devopsport 0 0
Добавляем пользователя от имени которого будет работать приложение/демон в эту группу и проверяем — если всё сделано верно, то приложение заработает как обычно.
👉 DevOps Portalsetfacl -m u::rwx,g::rx,o::x /usr/bin/chmod
🔹 Можно запустить утилиту chmod, передав её явно динамическому компоновщику. В контексте данной заметки считайте компоновщик интерпретатором для программы chmod. В разных дистрибутивах он может иметь разное название и расположение. Пример для Debian 11:
/usr/lib64/ld-linux-x86-64.so.2 /usr/bin/chmod +x /usr/bin/chmod**
🔹 Можно скопировать права с любого исполняемого файла и записать содержимое утилиты chmod в этот файл. Получается рабочая копия chmod. Создаём пустой файл с правами утилиты ls.
cp --attributes-only /usr/bin/ls ./new_chmod
Копируем содержимое утилиты chmod в созданный файл:
cat /usr/bin/chmod > ./new_chmod
Можно использовать:
/new_chmod +x /usr/bin/chmod🔹 Почти то же самое что и предыдущий вариант только проще:
install -m 755 /usr/bin/chmod ./new_chmod
или так:
rsync --chmod=ugo+x /usr/bin/chmod ./new_chmod
🔹 Если умеете программировать, то, пример с Python:
python -c "import os;os.chmod('/usr/bin/chmod', 0755)"
👉 DevOps Portal