Раньше для перезапуска приложения часто использовали kubectl delete pod или модифицировали под через kubectl rollout restart для Deployment. Это приводило к полному пересозданию пода: смене IP, повторному прохождению стадий планирования и инициализации, что не всегда эффективно.
In-Place Restart даёт точечный контроль: вы можете принудительно перезапустить контейнеры внутри пода, сохранив его идентичность (имя, IP-адрес, привязку к ноде).
— Обновление конфигурации приложения без пересоздания пода
Например, если ConfigMap или Secret, подключенные как volume, были обновлены, новый In-Place Restart позволит применить изменения к уже работающему поду.
— Перезапуск "зависшего" приложения
Если контейнеры в поде работают, но приложение внутри них перестало отвечать (например, из-за утечки памяти или deadlock), можно инициировать их перезапуск без прерывания сетевого соединения к поду.
— Горячее обновление зависимостей внутри контейнера
Для некоторых сценариев (например, перезагрузка внутренних процессов или динамических библиотек) теперь не нужно уничтожать весь под.
Механизм реализован через новое поле restartAllContainers в PodSpec. При его установке в true kubelet на ноде перезапускает все контейнеры в поде (кроме тех, что имеют политику перезапуска Never).
— Перезапуск не влияет на volumes: данные сохраняются.
— IP-адрес пода и его привязка к ноде остаются неизменными.
— Под должен быть в состоянии Running для успешного перезапуска.
— Если перезапуск не удаётся (например, новый образ недоступен), под может перейти в состояние Error.
In-Place Pod Restart в Kubernetes 1.35 даёт более тонкий и эффективный инструмент управления жизненным циклом контейнеров. Это особенно полезно для stateful-приложений, чувствительных к смене IP, и для оперативного реагирования на проблемы без полного пересоздания инфраструктуры пода.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4❤1👏1
— Kubernetes-контроллер, который автоматически запускает rolling upgrade подов при изменении связанных с ними ConfigMap или Secrets.
— Автоматический мониторинг изменений в Secrets, ConfigMaps и CSI-монтируемых секретах.
— Инициирование rolling update для Deployment, StatefulSet, DaemonSet, ArgoRollout и других workload.
— Гибкое управление через аннотации: можно настроить перезапуск для всех или конкретных конфигураций.
— Поддержка оповещений (webhook) о перезапусках.
— Простая интеграция: Достаточно добавить аннотацию
reloader.stakater.com/auto: "true" к вашему Deployment.— Гибкие стратегии: Поддерживает как глобальный автоперезапуск, так и точечный — только для указанных ресурсов.
— Расширенная поддержка: Работает с секретами из внешних хранилищ через Secrets Store CSI Driver (например, HashiCorp Vault, AWS Secrets Manager).
Reloader решает классическую проблему Kubernetes, когда обновлённые конфиги и секреты не применяются к уже работающим подам. Это критически важно для безопасности (чтобы сразу применить новые ключи) и для CI/CD-процессов, где конфигурация меняется часто.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4👏3
Разработан компанией Canonical и впервые появился в Ubuntu 17.10. Призван заменить устаревшие скрипты в
/etc/network/interfaces и конфиги NetworkManager, обеспечивая единый, предсказуемый и статический способ настройки.— Унификация: Единый формат конфигов для настройки сети через systemd-networkd или NetworkManager в фоновом режиме.
— Простота: Читаемый YAML вместо Bash-скриптов.
— Предсказуемость: Конфигурация применяется атомарно, что снижает риск "полурабочего" состояния сети.
— Облачные образы: Начиная с Debian 12 "Bookworm", Netplan является инструментом по умолчанию для облачных образов Debian (официальная документация). Также он стандартен в Ubuntu Server и облачных средах.
# Генерация конфигурации для выбранного бэкенда (networkd или NetworkManager)
sudo netplan generate
# Применение новой конфигурации (без перезагрузки)
sudo netplan apply
# Отладка: вывод текущей конфигурации в виде YAML
sudo netplan get all
/etc/netplan/01-netcfg.yaml)
network:
version: 2
renderer: NetworkManager
ethernets:
enp3s0:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 77.88.8.8
- 77.88.8.1
Где:
—
version: 2 — актуальная версия схемы Netplan.—
renderer — выбирает движок (networkd или NetworkManager).—
ethernets — раздел для проводных интерфейсов.—
addresses — статический IP с маской.—
routes — маршрут по умолчанию (default).—
nameservers — DNS-серверы.Netplan — это современный, декларативный подход к настройке сети, который становится стандартом в Linux-дистрибутивах, особенно в серверных и облачных сценариях. Его стабильность подтверждается выходом версии 1.0
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8❤2👎2
— установка и настройка Ubuntu Desktop и Ubuntu Server (включая типовые сценарии развёртывания);
— базовые навыки «power user»: терминал/оболочка, файловая система, права, процессы, простые shell-скрипты;
— администрирование системы: учётные записи, диски и файловые системы, LVM, базовые админ-инструменты;
— серверная часть: SSH и удалённый доступ, сеть, systemd, печать (CUPS), веб-сервер (Apache), FTP (vsftpd), Samba, NFS;
— диагностика и устранение проблем (boot/сеть/пакеты/режим восстановления);
— безопасность: базовые практики, AppArmor, криптография, PAM, сетевые сервисы и firewall-аудит;
— облака и контейнеры: виртуализация, контейнеры, cloud-init/LXD, развёртывания в облаке, Ansible, Kubernetes (включая EKS);
— практический акцент: задания и вопросы в конце глав;
— отдельные примеры «прикладных» задач, включая работу с популярными IoT-устройствами.
Полезно тем, кто осваивает Ubuntu с нуля, переходит с Windows на Linux, а также инженерам и администраторам, которым нужен один источник по пользовательской части, серверным ролям и базовой безопасности Ubuntu.
Авторы:
Дэвид Клинтон, Кристофер Негус
Издательство:
Уайли, 2025 г
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4👏2
Изменения затрагивают не отдельные решения, а правила управления ИТ — как выбирают технологии, как разделяют контуры, как защищают данные и как организуют выпуск изменений в действующие системы, особенно в компаниях с КИИ и ПДн.
Компании всё чаще стандартизируют стек целиком: ОС, виртуализация, БД, инструменты разработки, мониторинг, средства резервного копирования (СРК), средства защиты. На значимых объектах КИИ и у госзаказчиков действует запрет на иностранное ПО, поэтому выбор решений становится жёстче.
Как влияет: больше архитектурных решений и пилотов; обязательное тестирование совместимости; плановые миграции; усиление управления поставщиками и поддержкой.
Требования закреплены в регулировании: учёт активов, меры защиты, контроль изменений, готовность к инцидентам и проверкам; в 2025–2026 регуляторы уточняют и обновляют нормы и инициативы по КИИ.
Как влияет: появляются отдельные контуры и регламенты для значимых систем; растёт объём обязательной документации; регулярные учения и проверки; усложняется согласование и внедрение изменений.
Многие продолжают приводить потоки данных в соответствие обновлённой норме о локализации (первичная запись и хранение в РФ), а также выстраивают юридически корректную трансграничную передачу там, где она нужна.
Как влияет: пересборка архитектуры хранения и интеграций; замена части внешних сервисов; усиление контроля доступов и журналирования; больше согласований с юристами и ИБ.
Проверки и требования по ИБ начинают работать как часть процесса разработки и релизов, чтобы находить риски до выхода в промышленную среду.
Как влияет: добавляются security-gates в CI/CD; растёт роль управления уязвимостями и зависимостями; меняется определение готовности задачи и релиза.
В закупках для госсектора и организаций под 44-ФЗ/223-ФЗ усиливается влияние национального режима и критериев отечественных решений, включая привязку к реестрам.
Как влияет: меняются критерии выбора продуктов; увеличивается срок закупочного цикла; требуется больше обоснований и сравнения аналогов; растёт нагрузка на ИТ и закупки.
Для ряда организаций действует запрет на использование иностранных мессенджеров при взаимодействии с гражданами и клиентами.
Как влияет: переход на разрешённые каналы; пересмотр клиентских сценариев поддержки; обновление политик и обучение сотрудников; контроль того, какие данные уходят в коммуникации.
Логика нацпроекта “Экономика данных” усиливает практику управления данными как ресурсом: качество, доступность, безопасность, измеримые показатели.
Как влияет: появляются владельцы данных и правила доступа; развиваются каталоги данных и витрины; больше требований к интеграциям и качеству.
Инструменты на основе генеративного ИИ всё больше входят в офисные и инженерные процессы, параллельно обсуждаются подходы к регулированию и требованиям к применению ИИ.
Как влияет: нужны правила, где ИИ можно использовать и с какими данными; требования к контролю качества результатов; пересмотр политики по данным и коммерческой тайне; новые роли и навыки в командах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5👏4👎2
Многие компании продолжают использовать зарубежные системы: российские альтернативы не всегда сопоставимы по функциональности, а стоимость отечественного ПО остаётся высокой.
Часть дел уже в судах со штрафами, остальные — на рассмотрении; при повторных нарушениях штрафы выше.
Чаще всего атаковали телеком (34%), финсектор (21%) и ритейл (16%); всплески нередко приходились на распродажи и праздничные дни.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Где лежат данные кластера, как API Server отслеживает изменения и почему etcd запускают кластером.
— читает/пишет объекты Kubernetes в хранилище etcd; ставит watch на нужные префиксы; получает уведомления об изменениях.
— распределённое key-value хранилище, где сохраняется состояние кластера.
— данные разложены по типам ресурсов: pods, services, namespaces, secrets, configmaps, events, serviceaccounts и др.; API Server может следить за изменениями по разделам.
— несколько узлов синхронизируются по RAFT, чтобы сохранять консистентность и переживать отказы.
— кворум: (n/2)+1 узлов должны быть доступны;
— допустимые потери: (n-1)/2;
— минимум 3 узла etcd, чтобы выдержать падение одного.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4👏2
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍3
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3👏2
GitLab CI Components —переиспользуемые, параметризуемые блоки конфигурации CI/CD, которые позволяют применять принцип DRY (Don't Repeat Yourself) в пайплайнах GitLab.
📎 Компоненты были представлены в GitLab 16.0 как экспериментальная функция, а в версии 17.0 стали общедоступными. Механика похожа на модули в Terraform или пакеты в языках программирования.
✅ Зачем это нужно?
— Избежать дублирования кода: Устранить копирование одинаковых jobs и steps в разные
— Стандартизировать процессы: Создать единые, проверенные шаблоны для часто выполняемых задач (сборка, тестирование, деплой).
— Упростить поддержку: Обновить логику в одном месте (компоненте), и изменения применятся во всех проектах, которые его используют.
— Создавать библиотеки шагов: Делиться готовыми решениями внутри команды или сообщества.
✅ Ключевые принципы:
🔵 Компонент — это файл
🔵 Include — Подключение компонента в
🔵 Параметры — Компоненты принимают входные параметры (inputs), что делает их гибкими и адаптируемыми.
✅ Практический пример:
Простой компонент для линтера (
Использование компонента в проекте:
GitLab CI Components — это эволюция подхода к CI/CD как к коду. Они позволяют заменить рутинное копирование десятков строк конфигурации в каждом проекте на подключение готового компонента. В результате CI/CD-конфигурация превращается из монолитного скрипта в набор декларативных, версионируемых и легко тестируемых модулей.
➡️ Подробнее в документации Gitlab
#заметкиИнженера
— Избежать дублирования кода: Устранить копирование одинаковых jobs и steps в разные
.gitlab-ci.yml файлы.— Стандартизировать процессы: Создать единые, проверенные шаблоны для часто выполняемых задач (сборка, тестирование, деплой).
— Упростить поддержку: Обновить логику в одном месте (компоненте), и изменения применятся во всех проектах, которые его используют.
— Создавать библиотеки шагов: Делиться готовыми решениями внутри команды или сообщества.
.yml с определением одной или нескольких джоб, который хранится в отдельном репозитории GitLab..gitlab-ci.yml с помощью директивы include: component.Простой компонент для линтера (
.gitlab/ci/components/linter.yml в отдельном репозитории)
# Определение компонента
spec:
inputs:
stage:
default: test
image:
default: "node:20-alpine"
"lint-$[[ inputs.linter ]]": # Динамическое имя джобы
stage: $[[ inputs.stage ]]
image: $[[ inputs.image ]]
script:
- run-lint --linter $[[ inputs.linter ]]
Использование компонента в проекте:
# .gitlab-ci.yml вашего приложения
include:
# Указываем полный путь к компоненту
- component: gitlab.example.com/org/ci-catalog/linter@main
inputs:
linter: "eslint"
GitLab CI Components — это эволюция подхода к CI/CD как к коду. Они позволяют заменить рутинное копирование десятков строк конфигурации в каждом проекте на подключение готового компонента. В результате CI/CD-конфигурация превращается из монолитного скрипта в набор декларативных, версионируемых и легко тестируемых модулей.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥3
Он мониторит репозитории, находит устаревшие пакеты, библиотеки или образы контейнеров и автоматически создает Pull/Merge Requests с обновлениями.
— Автоматическое сканирование репозитория на наличие зависимостей (npm, Docker, Maven, Helm, Terraform, Go и более 20 других менеджеров пакетов).
— Проверка доступных обновлений в реестрах пакетов (npmjs, Docker Hub, Maven Central и др.).
— Создание отдельного PR для каждого обновления с информацией о версиях, changelog и проверками совместимости.
— Группировка нескольких обновлений в одном PR (например, все патчи для библиотеки).
— Автоматическое разрешение конфликтов и пересоздание PR при появлении новых версий.
— Интеграция с GitHub, GitLab, Bitbucket и Azure DevOps.
— Автономный бот: Работает как GitHub App, GitLab App или в self-hosted режиме.
— Политики обновлений: Можно настроить автоматический мерж для minor/patch версий, require статусы проверок, расписание (например, только по будням).
— Безопасность: Встроенная проверка уязвимостей (CVE) через интеграцию с Snyk, OSV.
— Широкий охват: Поддерживает не только языки программирования, но и инфраструктурные инструменты (Terraform, Ansible, Helm, Dockerfile).
Renovate избавляет разработчиков от рутины ручного отслеживания версий зависимостей, обеспечивая своевременные и безопасные обновления.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
Командная оболочка (shell) — это программа-интерпретатор, которая принимает команды от пользователя (введённые в текстовом терминале) и передаёт их операционной системе на выполнение. Это основной способ взаимодействия с Linux для администрирования, автоматизации и разработки.
Стандартный и наиболее распространённый шелл, установленный по умолчанию почти во всех дистрибутивах.
Особенности: Полная обратная совместимость с классическим Bourne shell (sh), мощное скриптование, автодополнение через Tab, история команд.
Продвинутая оболочка, набравшая огромную популярность благодаря проекту Oh My Zsh.
Особенности: Улучшенное автодополнение (в т.ч. путей и опций), использование разных тем, встроенная коррекция опечаток, модульная архитектура, расширенная подстановка файлов (globbing) , лучшая поддержка Unicode.
Шелл, ориентированный на интерактивность и удобство использования прямо «из коробки».
Особенности: Автодополнение на основе истории и мануалов, подсветка синтаксиса прямо в командной строке, удобная конфигурация (
fish_config), интуитивно понятный скриптовый язык. Из минусов — неполная совместимость с Bash-синтаксисом.
# Показать текущую активную оболочку
echo $SHELL
Изменить шелл можно с помощью команды
chsh (change shell).
# Сменить оболочку текущего пользователя на zsh
sudo chsh -s /bin/zsh
# Выйти и зайти в систему заново, чтобы изменения вступили в силу
exit
Выбор оболочки — это баланс между мощью и совместимостью (Bash), кастомизацией и сообществом (Zsh) или удобством и простотой (Fish). Для большинства системных задач и скриптов Bash остаётся де-факто стандартом, а для персональной рабочей станции многие выбирают Zsh или Fish за улучшенный пользовательский опыт.
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3👏2
Практичное введение в Linux через командную строку: от базовой работы в оболочке до автоматизации на shell-скриптах.
Фундаментальная основа, которая надолго остаётся применимой в работе с правами, bash и текстовыми утилитами.
— основы работы в shell: команды, навигация, файлы/каталоги, права, процессы, перенаправления;
— окружение и настройка: переменные, профили;
— ключевые утилиты для повседневных задач: поиск, архивация, работа с текстом, регулярные выражения, обработка потоков;
— сеть и базовые системные действия на уровне пользователя;
— введение в написание shell-скриптов: структура, условия/циклы, параметры, функции, обработка строк и ошибок;
— подход «учусь, делая»: много практических примеров и команд, которые реально встречаются в работе.
Автор:
Уильям Шоттс
Издательство:
No Starch Press, 2019г.
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤3👏1