Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
1400 - Telegram Web
Telegram Web
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux

При просмотре файла через less можно вывести краткий статус, нажав клавишу =.

Внизу появится небольшой статус-бар: он показывает номера текущих строк в видимой области, общее количество строк, процент уже прокрученного файла и т. п.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥83
Практика с Docker: обновление контейнеризованного приложения без потери данных

По умолчанию у контейнеров есть относительно постоянная файловая система - изменения, внесённые приложением, переживают перезапуски контейнера, вызванные падениями приложения, перезагрузками хоста и т. п.

Однако иногда может потребоваться использовать тома, чтобы сделать некоторые части файловой системы контейнера более долговечными, чем остальные. С томами, даже если вы полностью удалите контейнер (а не просто перезапустите его), вы сможете продолжить использовать данные приложения в контейнере-преемнике (например, то же приложение, но на более новом образе).

Попрактикуйтесь в использовании томов Docker в этом практическом задании здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115
CloudNativePG — это оператор Kubernetes, который охватывает весь жизненный цикл высокодоступного кластера PostgreSQL с архитектурой primary/standby, использующей нативную стриминговую репликацию.

GitHub: CloudNativePG

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4👀1
Как легко мигрировать ingress на Gateway API в Kubernetes

Статья рассказывает, как мигрировать с Ingress на Gateway API в Kubernetes, связав контроллер GatewayAPI и существующий Ingress-контроллер за одним LoadBalancer, чтобы минимизировать простой и сделать переход поэтапным

Читать здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6🔥3
Grafana + Kubernetes

Репозиторий для любителей Grafana - огромное количество действительно стоящих дашбордов для Kubernetes.

GitHub: grafana-dashboards-kubernetes

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6💊1
Эта статья предлагает способ интеграции Terraform с Argo CD путём коммита выходных значений инфраструктуры напрямую в Git.

Это гарантирует, что Git остаётся единственным источником истины, и позволяет использовать Helm/Kustomize без ограничений, накладываемых прежними паттернами

🔹Читать

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4
dockprom — это решение для мониторинга Docker-хостов и контейнеров с Prometheus, Grafana, cAdvisor, NodeExporter и алертингом через AlertManager

GitHub: dockprom

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
This media is not supported in your browser
VIEW IN TELEGRAM
Зависимости сетевых протоколов

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍243
This media is not supported in your browser
VIEW IN TELEGRAM
Дерево процессов в Windows, запускаемых при старте системы

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍9
Терминальная утилита, которая получает метрики нод и подов Kubernetes в реальном времени через эндпоинт Kubelet /stats/summary, с TUI-функциями: поиск, сортировка, фильтрация по меткам, просмотр подов и использование диска

GitHub: KubeNodeUsage

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
Docker 101: Автоматический рестарт контейнера при сбое

Некоторые контейнеризованные приложения более устойчивы, чем другие. Попрактикуйтесь в настройке политики перезапуска контейнера, чтобы он продолжал работать даже после краша приложения

Тренируемся здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
This media is not supported in your browser
VIEW IN TELEGRAM
14 Linux-команд, чтобы познакомиться со своей ОС… меньше чем за 60 секунд 👍

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥76🤔2🌚1
В начале моей карьеры в DevOps я удалил 5-гигабайтный лог-файл на продакшн-сервере, где заканчивалось место

Я запустил df -h, ожидая увидеть, что использование диска уменьшилось. Не снизилось. Всё ещё показывало 100% заполнения.

Ни ошибок, ни варнингов. Просто та же картинка, как будто я ничего не удалял.

Тогда я и понял, что удаление файла не всегда сразу освобождает место.

В Linux то, что мы считаем «файлом», на самом деле состоит из двух сущностей: имени файла (это всего лишь указатель) и inode (в нём хранятся данные и метаданные). Когда вы удаляете имя файла, вы всего лишь убираете указатель. Inode и его данные остаются на диске до тех пор, пока какой-то процесс держит файл открытым.

В моём случае веб-сервер всё ещё писал в этот лог. Хотя я уже снёс имя файла, процесс сервера продолжал держать файловый дескриптор. Inode оставался «живым», невидимым в обычных списках файлов, но продолжал занимать место.

Диск освободился только после того, как я перезапустил веб-сервер, и он закрыл все свои файловые дескрипторы.

Вот почему нужны разные команды, чтобы видеть реальную картину:
# Проверить использование ФС
df -h

# Проверить реальные размеры директорий
du -sh /var/log/*

# Найти удалённые файлы, которые всё ещё держат процессы
lsof +L1


du показывает, что реально занимает место в директориях, а df - использование на уровне файловой системы.

Если цифры не сходятся, скорее всего, у тебя есть удалённые файлы, которые всё ещё держат процессы.

По этой же причине корректная ротация логов не просто удаляет файлы. Инструменты вроде logrotate переименовывают файлы и шлют сигнал процессам, чтобы те закрыли и заново открыли дескрипторы.

Три ключевых вывода:
1. Имена файлов — это всего лишь указатели на inode
2. Удаление действительно происходит, только когда ни один процесс не ссылается на inode
3. При разборе проблем с местом на диске всегда смотрите и df, и du

Мелочь, но понимание этого может спасти от очень запутанных инцидентов в продакшене.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
42👍28🔥4
Как работает контроль доступа в Linux

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥157
Полный курс по GitHub Actions от новичка до профи (на английском)

Изучите всё: от основ платформы до построения полноценной DevOps-системы с воркфлоу для тестирования, сборки и деплоя микросервисных приложений

https://youtu.be/Xwpi0ITkL3U?si=7JwUaKlRQ7mfxwLQ

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
Эта статья объясняет Kubernetes Services: их типы и конфигурацию с практическими примерами для работы с кластерной сетью.

В ней рассматриваются такие типы сервисов, как ClusterIP, NodePort, LoadBalancer, ExternalName и Headless Service.

Читать здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6
Плагин для kubectl, который позволяет выполнять запросы к ресурсам Kubernetes с использованием SQL-подобного синтаксиса. Вы можете фильтровать, проецировать и сортировать Pod’ы, PVC и т. д., без написания «сырого» jq или JSONPath

GitHub: kubectl-df-pv

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🤔1
Одним из ключевых элементов продакшен-готовности кластеров Kubernetes является обеспечение высокой доступности (HA).

Однако достижение HA само по себе недостаточно; нужно быть готовыми реагировать на отказы.

Проводите эксперименты по отказам в контролируемой среде, чтобы эффективно устранять реальные инциденты:
https://labs.iximiuz.com/playgrounds/kubernetes-ha-d02b8d83

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
Инструмент, который автоматически выполняет чекпойнтинг контейнеров на диск через определённое время после последнего TCP-соединения, что позволяет быстро и бесшовно масштабироваться до нуля

GitHub: zeropod

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
6
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет для Linux

Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:

$ lastb


Эта команда просто считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🤔1
2025/10/09 09:41:35
Back to Top
HTML Embed Code: