DevOps Portal | Linux
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3P8kFH
Ko'proq ko'rsatish📈 Telegram kanali DevOps Portal | Linux analitikasi
DevOps Portal | Linux (@loose_code) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 13 744 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 246-o'rinni va Rossiya mintaqasida 47 183-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 13 744 obunachiga ega bo‘ldi.
31 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 653 ga, so‘nggi 24 soatda esa 8 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 18.75% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 10.49% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 576 marta ko‘riladi; birinchi sutkada odatda 1 441 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 8 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent devops, kubernetes, docker, linux, ebpf kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps
Сотрудничество, реклама: @devmangx
Работаем с @Spiral_Yuri
РКН: https://clck.ru/3P8kFH”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 01 Noyabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Ошибки 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