Праздник — отличный повод немного отвлечься от задач и сменить атмосферу. А вы сегодня кого-нибудь напугали? Даже простой костюм может добавить настроения.
💬 Оставляйте свои впечатления и фото в комментариях 👇
#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
Kubernetes не требует указывать requests и limits для CPU и памяти. Поды запускаются и без них. Но когда кластер растёт, начинаются проблемы.
Scheduler не знает, сколько ресурсов нужно поду. Он пихает на одну ноду 20 подов, которые съедают всю память. Результат — OOM killer убивает случайные поды. Или наоборот: один под жрёт все ресурсы, остальные задыхаются.
Как исправить:
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "200m"
Начните с минимальных значений. Запустите под, посмотрите
kubectl top pods. Увидите реальное потребление — скорректируете цифры. Если нагрузка скачет, добавьте HorizontalPodAutoscaler.#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
Gitea — это бесплатная платформа для хостинга и управления Git-репозиториями.
Что нового:
• Добавлен предварительный просмотр 3D-файлов и CAD-файлов.
• Поддерживаются email-уведомления о результатах CI/CD.
• Улучшена SSH-подпись коммитов и интеграция с OpenID Connect.
• Админ-панель оптимизирована: архивы исключены из бэкапов, улучшена настройка эмодзи.
• Удалены устаревшие источники аутентификации.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Когда вы запускаете автоматические тесты или задачи, иногда возникают ошибки, связанные с инфраструктурой — с сетью, временными сбоями серверов или сбоями среды выполнения. Они проявляются как короткие перебои или ошибки 5xx.
В таких случаях есть эффективный подход: сделать автоматическую повторную попытку один раз.
Почему это работает? Обычно проблема — не в вашем коде, а в инфраструктуре. Если перезапуск помогает и задача проходит успешно, значит ошибка — временная и связана с сетью или сервером, а не с самим программным продуктом.
Пример:
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
steps:
- uses: actions/checkout@v4
- name: Run tests with one retry on infra errors
run: |
set -e
for i in 1 2; do
npm test && break || {
if grep -qE "ENETUNREACH|ECONNRESET|502 Bad Gateway" test.log; then
echo "Retrying due to infra indicators..."
sleep 10
else
exit 1
fi
}
done
Такой подход помогает разграничить плохие ошибки, вызванные внешней инфраструктурой, от серьезных багов в коде.
#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
Выдохнули — самая насыщенная неделя завершена. Теперь время для перезагрузки: встречи с друзьями, хобби, любимые сериалы — всё, что поможет восстановить силы.
💬 Как вы справились с этой неделей? Что первым делом сделаете в выходные? Рассказывайте в комментариях 👇
#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
📰 Шесть непростых дней
Вспоминаем что было за прошедшую рабочую неделю.
— Критический баг в Ubuntu 25.10
— NGINX Unit больше не разрабатывается
— Bottles 51.25
— Fedora Linux 43
— 14 вопросов, после которых вам не перезвонят
🐸 Библиотека devops'a
#дайджест_недели
Вспоминаем что было за прошедшую рабочую неделю.
— Критический баг в Ubuntu 25.10
— NGINX Unit больше не разрабатывается
— Bottles 51.25
— Fedora Linux 43
— 14 вопросов, после которых вам не перезвонят
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Poll
16%
Новости
33%
Мемы
55%
Пост про requests и limits
29%
Статья про 14 вопросов ред-флагов
47%
Про секреты в Terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👾1
HashiCorp анонсировал релиз Consul 1.22 и новый MCP-сервер, который меняет способ взаимодействия с платформой service mesh.
Теперь можно управлять сервисами, health checks и конфигурацией через обычный разговор с AI-ассистентом.
Сам Consul 1.22 получил поддержку IPv6 (требование для федеральных агентств США), улучшенную SSO-аутентификацию через private key JWT вместо client_secret, и расширенную телеметрию для IPv6-трафика.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Kubernetes считает контейнер живым, пока процесс не завершился. Приложение может зависнуть, тупить, инициализироваться 5 минут — Kubernetes всё равно отправит трафик.
Что происходит
Liveness probe проверяет, жив ли контейнер. Если нет — перезапускает. Readiness probe проверяет, готов ли контейнер принимать трафик. Если нет — убирает из Service.
Без readiness probe пользователи попадут на ещё не прогретое приложение. Получат таймауты, 500-е, странные ошибки. Вы будете часами искать баг, которого нет.
Как исправить:
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
Добавьте в приложение два эндпоинта.
/healthz отвечает 200, если приложение работает. /ready отвечает 200, если приложение загрузилось и готово обрабатывать запросы.#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🍷 Wine: 32 бита на 64-битной системе
Вышла версия Wine 10.18. Основной фокус — доработка WoW64 режима, который позволяет запускать 32-битные Windows-приложения на 64-битной Linux-системе, имитируя нативный Windows WoW64 подсистему.
OpenGL теперь использует Vulkan для отображения в памяти в WoW64 режиме, добавлена поддержка SCSI pass-through, реализована API синхронизационных барьеров (нужна для некоторых игр, например The Obsessive Shadow), поддержка WinRT исключений. Плюс 30 багфиксов для приложений и игр.
➡️ Анонс
🐸 Библиотека devops'a
#пульс_индустрии
Вышла версия Wine 10.18. Основной фокус — доработка WoW64 режима, который позволяет запускать 32-битные Windows-приложения на 64-битной Linux-системе, имитируя нативный Windows WoW64 подсистему.
OpenGL теперь использует Vulkan для отображения в памяти в WoW64 режиме, добавлена поддержка SCSI pass-through, реализована API синхронизационных барьеров (нужна для некоторых игр, например The Obsessive Shadow), поддержка WinRT исключений. Плюс 30 багфиксов для приложений и игр.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда Вы копируете большую папку командой cp -r, Вы не видите, что происходит. Процесс может занять часы, а Вы сидите в неведении — копируется ли вообще? Сколько осталось? Если что-то пойдёт не так, часто нужно начинать заново.
rsync — это утилита для копирования и синхронизации файлов. Главное преимущество: показывает прогресс, сохраняет все атрибуты файлов и умеет возобновлять прерванные копирования.
Базовая команда:
rsync -av --progress /path/to/src/ /path/to/dest/
-a — архивный режим. Cохраняет права, временные метки, символические ссылки.-v — подробный вывод--progress — показывает прогресс для каждого файлаЕсли Вы копируете по сети на удалённый сервер, добавьте флаг -z для сжатия:
rsync -avz --progress /local/path/ user@server:/remote/path/
Если копирование прервалось, просто запустите ту же команду ещё раз — rsync пропустит уже скопированные файлы и продолжит с того же места.
#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
kubectl logs показывает логи только из работающих или недавно упавших контейнеров. Логи лежат на диске ноды. Контейнер удалился, нода перезагрузилась, логи ротировались — всё пропало.
Что происходит
Под упал ночью. Утром вы приходите разбираться — логов нет. Или под был в namespace с агрессивной политикой очистки. Или кто-то удалил Deployment.
В production это значит, что вы не узнаете, почему сервис лёг в 3 часа ночи.
Как исправить
Поднимите централизованное логирование. Fluentd или Fluent Bit собирают логи со всех подов и отправляют в хранилище — Elasticsearch, Loki, S3.
Пример sidecar с Fluent Bit:
containers:
- name: app
image: your-app:1.0
- name: fluent-bit
image: fluent/fluent-bit:latest
volumeMounts:
- name: varlog
mountPath: /var/log
Если нужна корреляция логов с метриками — добавьте OpenTelemetry. Если нужны трейсы — Jaeger. Но начните с простого: соберите логи в одном месте.
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4