en
Feedback
CORTEL

CORTEL

Open in Telegram

Помогаем ИТ-директорам, DevOps и системным инженерам снижать TCO и поднимать SLA. Кейсы, инструменты и гайды. Сайт: https://cortel.cloud Cотрудничество: @ivan_cmo

Show more
4 063
Subscribers
No data24 hours
-27 days
-2030 days
Attracting Subscribers
July '26
July '260
in 0 channels
June '26
+18
in 1 channels
Get PRO
May '26
+23
in 2 channels
Get PRO
April '26
+17
in 0 channels
Get PRO
March '26
+55
in 4 channels
Get PRO
February '26
+53
in 2 channels
Get PRO
January '26
+74
in 2 channels
Get PRO
December '25
+147
in 7 channels
Get PRO
November '25
+72
in 4 channels
Get PRO
October '25
+139
in 6 channels
Get PRO
September '25
+80
in 6 channels
Get PRO
August '25
+87
in 7 channels
Get PRO
July '25
+135
in 7 channels
Get PRO
June '25
+116
in 6 channels
Get PRO
May '25
+160
in 3 channels
Get PRO
April '25
+137
in 6 channels
Get PRO
March '25
+123
in 5 channels
Get PRO
February '25
+203
in 6 channels
Get PRO
January '25
+152
in 5 channels
Get PRO
December '24
+314
in 8 channels
Get PRO
November '24
+141
in 7 channels
Get PRO
October '24
+192
in 5 channels
Get PRO
September '24
+104
in 3 channels
Get PRO
August '24
+216
in 8 channels
Get PRO
July '24
+219
in 7 channels
Get PRO
June '24
+163
in 3 channels
Get PRO
May '24
+185
in 11 channels
Get PRO
April '24
+82
in 2 channels
Get PRO
March '24
+100
in 1 channels
Get PRO
February '24
+223
in 3 channels
Get PRO
January '24
+130
in 4 channels
Get PRO
December '23
+33
in 7 channels
Get PRO
November '23
+110
in 1 channels
Get PRO
October '23
+127
in 7 channels
Get PRO
September '23
+146
in 0 channels
Get PRO
August '23
+104
in 0 channels
Get PRO
July '23
+147
in 0 channels
Get PRO
June '23
+229
in 0 channels
Get PRO
May '23
+107
in 0 channels
Get PRO
April '23
+126
in 0 channels
Get PRO
March '23
+156
in 0 channels
Get PRO
February '23
+384
in 0 channels
Get PRO
January '23
+40
in 0 channels
Get PRO
December '22
+3
in 0 channels
Get PRO
November '22
+2
in 0 channels
Get PRO
October '22
+76
in 0 channels
Get PRO
September '22
+251
in 0 channels
Date
Subscriber Growth
Mentions
Channels
01 July0
Channel Posts
💻 StatefulSet vs Deployment vs DaemonSet: три способа управлять подами В Kubernetes важно не просто запустить под, а выбрать
💻 StatefulSet vs Deployment vs DaemonSet: три способа управлять подами В Kubernetes важно не просто запустить под, а выбрать правильный контроллер. Не тот контроллер может привести к потерянным данным, лишним подам на нодах или странному поведению БД. 💬 Deployment — для stateless-нагрузок Управляет ReplicaSet'ом, который поддерживает заданное число одинаковых, взаимозаменяемых подов. — Поды получают случайные имена (app-7d4b9c8f6-x2k9p) — При обновлении старые поды удаляются, новые создаются с нуля — история не важна — Поддерживает RollingUpdate и Recreate — стратегии обновления — Любой под может заменить любой другой без последствий Подходит для: API, фронтенд, воркеры без сохраняемого состояния. 💬 StatefulSet — для нагрузок с сохранением состояния Гарантирует стабильную идентичность каждого пода — то, чего Deployment принципиально не даёт. — Имена подов предсказуемы и постоянны (db-0, db-1, db-2) — Каждый под получает свой PersistentVolumeClaim, который сохраняется при пересоздании пода — Поды создаются и удаляются строго по порядку (0 → 1 → 2 и обратно) — Требует headless Service для сетевой идентичности — DNS-имя вида db-0.db-service.namespace.svc.cluster.local Подходит для: БД (PostgreSQL, MongoDB), очереди (Kafka), etcd — всё, где важны порядок запуска, стабильный сетевой адрес и привязка к своему тому. 💬 DaemonSet — для нагрузок на каждой ноде Гарантирует, что копия пода будет запущена на каждой (или на выбранном подмножестве) ноде кластера — не больше и не меньше. — Число подов = число подходящих нод, а не заданное значение replicas — При добавлении новой ноды под создаётся автоматически — При удалении ноды под удаляется вместе с ней — Игнорирует обычный scheduler в пользу собственной логики размещения, учитывает nodeSelector и taints/tolerations Подходит для: агенты мониторинга (node-exporter), сборщики логов, CNI-плагины на каждом хосте. 👀 Выбор контроллера — Если поды одинаковые и могут спокойно заменять друг друга — это Deployment. — Если каждому поду нужны своё имя, сетевой адрес и отдельное хранилище — это StatefulSet. — Если под должен запускаться на каждой подходящей ноде — это DaemonSet. #заметкиИнженера

2
🛠 Поддержка инфраструктуры «Поддержка 24/7» — чтобы понять, что это значит на самом деле, нужно заглянуть в договор. В нём д
🛠 Поддержка инфраструктуры «Поддержка 24/7» — чтобы понять, что это значит на самом деле, нужно заглянуть в договор. В нём должно быть понятно, что входит в контур сопровождения и какие границы ответственности зафиксированы. Если этого нет, то круглосуточная поддержка остаётся общей формулировкой, а в момент аварии начинается ручное управление и поиск того, кто должен включаться в работу. 👉 В новом материале разобрали, что должно стоять за поддержкой инфраструктуры 24/7, как отличить зрелую эксплуатацию от формальной техподдержки и какие вопросы задать подрядчику до подписания договора. #статья
513
3
💻 kube-controller-manager: компонент, который следит за состоянием кластера В Kubernetes всё построено вокруг одной идеи: по
💻 kube-controller-manager: компонент, который следит за состоянием кластера В Kubernetes всё построено вокруг одной идеи: пользователь описывает, каким должен быть кластер, а система сама приводит реальность к этому описанию. За это отвечает kube-controller-manager — компонент control plane, который запускает встроенные контроллеры и непрерывно сверяет желаемое состояние с фактическим. Технически это единый бинарник, внутри которого крутятся десятки контроллеров. Они объединены в один процесс ради экономии ресурсов и упрощения эксплуатации, но логически независимы. 🔢 Контроллер — это бесконечный цикл согласования (reconciliation loop). Его работа сводится к трём шагам: — Наблюдение — через watch-механизм API-сервера контроллер получает события об изменении ресурсов. — Сравнение — сопоставляет желаемое состояние (spec) с текущим (status). — Действие — если есть расхождение, создаёт, удаляет или изменяет объекты, чтобы устранить разницу. Цикл повторяется бесконечно. Удалили под вручную — контроллер заметит расхождение и создаст новый. 💬 Внутри kube-controller-manager работают: — Deployment / ReplicaSet controller — поддерживает заданное число реплик. Именно он разворачивает ReplicaSet из Deployment, а тот создаёт поды. — Node controller — следит за состоянием узлов. Если нода перестаёт слать heartbeat, помечает её NotReady и инициирует выселение подов. — Job / CronJob controller — управляет жизненным циклом задач и их запуском по расписанию. — EndpointSlice controller — связывает Service с подами, обновляя списки эндпоинтов при изменении состава подов. — ServiceAccount & Token controller — создаёт сервис-аккаунты и связанные с ними секреты в новых namespace. — Namespace controller — корректно удаляет все ресурсы внутри namespace при его удалении. ➡️ Пример: выполнение масштабирования kubectl scale deployment nginx --replicas=5 Дальше происходит цепочка: ➡️ kubectl отправляет запрос на kube-apiserver, тот записывает новое значение replicas=5 в etcd. ➡️Через watch событие об изменении Deployment получает kube-controller-manager. ➡️Deployment controller обновляет связанный ReplicaSet. ➡️ReplicaSet controller видит: желаемо 5 подов, фактически 3. Создаёт 2 новых пода через API-сервер. ➡️Новые поды попадают в очередь — их подхватывает kube-scheduler и назначает на ноды. ➡️kubelet на этих нодах запускает контейнеры и докладывает о статусе обратно в API. Сам controller-manager при этом не запускает контейнеры и не назначает поды на ноды — он лишь приводит число объектов к нужному, а грязную работу делают scheduler и kubelet. kube-controller-manager — это целый цех автономных регуляторов, каждый из которых отвечает за свой кусочек кластера. Именно он превращает декларативный манифест в живую, самовосстанавливающуюся систему. #заметкиИнженера
663
4
⚠️ SLA на инфраструктуру В этом договоре важны не общие обещания, а конкретные метрики, границы ответственности и последствия
⚠️ SLA на инфраструктуру В этом договоре важны не общие обещания, а конкретные метрики, границы ответственности и последствия за нарушение. Здесь важно не смешивать доступность сервиса с RTO, RPO, DR, бэкапами и поддержкой всего подряд. Подрядчик отвечает за тот слой, который проектирует, контролирует, мониторит и может менять по регламенту. Всё остальное — гостевые ОС, доступы, приложения, интеграции и изменения внутри контура — нужно отдельно фиксировать в договоре. 👉 В новом материале разобрали, что на самом деле измеряет SLA, чем отличаются модели сопровождения, почему изменения часто становятся причиной конфликтов и какие вопросы стоит задать подрядчику до аварии. #статья
806
5
🖥 logrotate — утилита для автоматической ротации, сжатия и удаления логов в Linux. Она помогает ограничивать рост логов: пер
🖥 logrotate — утилита для автоматической ротации, сжатия и удаления логов в Linux. Она помогает ограничивать рост логов: переносит старые файлы, сжимает их, удаляет устаревшие копии и при необходимости выполняет команды после ротации. logrotate не работает постоянно в фоне. Его запускает cron (/etc/cron.daily/logrotate) или systemd-таймер (logrotate.timer), обычно раз в сутки. При запуске утилита читает конфиги, проверяет условия ротации и выполняет действия, если файл подходит под заданные правила. ➡️ Где лежат конфиги? — /etc/logrotate.conf — основной файл с глобальными настройками. — /etc/logrotate.d/ — каталог с отдельными конфигами для каждого сервиса (nginx, postgres и т.д.) ➡️ Пример конфига для приложения: Допустим, нужно ротировать логи своего приложения в /var/log/myapp/. Создаётся файл /etc/logrotate.d/myapp: daily rotate 14 size 100M compress delaycompress missingok notifempty create 0640 myapp myapp sharedscripts postrotate systemctl reload myapp >/dev/null 2>&1 || true endscript } ➡️Что задано: — daily — проверять ротацию каждый день. — rotate 14 — хранить 14 архивных копий. — maxsize 100M — ротировать файл при проверке, если он превысил 100 МБ. — compress — сжимать старые логи. — delaycompress — сжимать файл на следующем цикле ротации. — missingok — продолжать работу, если лог-файл отсутствует. — notifempty — не ротировать пустой файл. — create 0640 myapp myapp — создать новый лог-файл с нужными правами и владельцем. — sharedscripts — выполнить postrotate один раз для всей группы файлов. — postrotate ... endscript — выполнить команду после ротации. ➡️ Полезные команды ➡️ Проверить конфиг без изменений (dry-run): logrotate -d /etc/logrotate.d/myapp ➡️ Принудительно запустить ротацию, игнорируя расписание: logrotate -f /etc/logrotate.conf ➡️ Подробный вывод того, что происходит: logrotate -v /etc/logrotate.conf 👀 Обычно logrotate уже настроен при установке сервисов. Но его правила стоит проверять: от них зависит, как долго хранятся логи, когда они сжимаются и сколько места занимают на диске. #линуксятина
822
6
💪 Анатомия высоких нагрузок: как строится отказоустойчивая инфраструктура 🔍 Обычно всё начинается с симптомов: сервисы прос
💪 Анатомия высоких нагрузок: как строится отказоустойчивая инфраструктура 🔍 Обычно всё начинается с симптомов: сервисы проседают в пиковые часы, восстановление после сбоя занимает непредсказуемое время, новый продукт сложно запустить, а текущий контур уже не выдерживает рост. И на это есть разные причины. Сервис может тормозить из-за нехватки ресурсов, длинных запросов к базе данных, слабой сетевой схемы, конкуренции бэкапов с рабочей нагрузкой или проблем с балансировкой. Поэтому архитектуру нельзя считать только по количеству серверов, виртуальных машин и терабайт хранения. Нужно понимать профиль нагрузки, критичность сервисов, допустимый простой, потери данных, требования к безопасности и уровень эксплуатации после запуска. 👉 В новом материале разобрали, как строится инфраструктура под высокие нагрузки: от первого запроса и инженерного разбора до проектирования, тестирования, запуска и передачи в эксплуатацию. #статья
871
7
💻 Probes в Kubernetes: как кластер понимает, что под работает и готов принимать запросы Kubernetes не может оценить состояни
💻 Probes в Kubernetes: как кластер понимает, что под работает и готов принимать запросы Kubernetes не может оценить состояние приложения без специальных проверок. Процесс может быть запущен, но при этом висеть в дедлоке или ещё не успеть прогрузить кеш. Для этого и существуют probes — проверки, по результатам которых kubelet принимает решения о перезапуске и направлении трафика. ➡️ Виды probe — livenessProbe — контролирует работоспособность контейнера. При провале kubelet перезапускает контейнер. Применяется, когда приложение может «зависнуть» без падения процесса. — readinessProbe — проверяет, готов ли контейнер принимать трафик. При провале под убирается из конечных точек сервиса, но не перезапускается. Используется для прогрева, ожидания зависимостей (БД, кеш). — startupProbe — проверяет, успело ли приложение стартовать. Пока она не пройдена, liveness и readiness заморожены. Нужна для медленно стартующих приложений, чтобы их не убивало раньше времени. ➡️ Как работают? Каждая probe выполняется одним из трёх способов: — httpGet — HTTP-запрос на путь и порт, успех при коде 200–399 — tcpSocket — проверка, что порт открыт — exec — выполнение команды внутри контейнера, успех при коде возврата 0 containers: - name: app image: my-app startupProbe: httpGet: path: /healthz port: 8080 failureThreshold: 30 periodSeconds: 10 livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 0 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /ready port: 8080 periodSeconds: 5 failureThreshold: 2 🔧 Основные параметры — initialDelaySeconds — задержка перед первой проверкой — periodSeconds — как часто выполнять проверку — timeoutSeconds — таймаут одной проверки — successThreshold — сколько успехов подряд считать восстановлением (для liveness/startup всегда 1) — failureThreshold — сколько провалов подряд считать отказом Пример со startupProbe выше даёт приложению до 30 × 10 = 300 секунд на запуск, после чего управление переходит к liveness. Probes — это не формальность в манифесте, а контракт между приложением и кластером. Liveness помогает kubelet принять решение о перезапуске контейнера, readiness показывает, можно ли направлять на pod трафик, startup даёт приложению время на корректный запуск. Разделение этих ролей напрямую влияет на стабильность сервиса при деплоях и сбоях. #заметкиИнженера
869
8
Приглашаем инженеров на DevOps Lab: ML in Production! Не планируйте ничего на 26 июня! Открыли регистрацию на закрытую встреч
Приглашаем инженеров на DevOps Lab: ML in Production! Не планируйте ничего на 26 июня! Открыли регистрацию на закрытую встречу в Новосибирске, где DevOps-инженеры и технические руководители разберут, как выстроить безопасную инфраструктуру для ML-сервисов на практике. 🟡Что вас ждет? • инфраструктура инференса • безопасность ML-пайплайнов • наблюдаемость моделей в производственной среде • Кофе-брейк и возможность задать неудобные вопросы напрямую На DevOps Lab мы соберёмся небольшим кругом, чтобы послушать три практических доклада, обсудить кейсы и немного подебажить с коллегами из индустрии. Регистрируйтесь, количество билетов ограничено :) 📌 26 июня, 18:00 | г. Новосибирск, офис Никсис 📌 Регистрация: по ссылке #девопс #никсис #митап
843
9
📝 Шпаргалка по проектированию безопасных систем. Помогает быстро проверить, какие направления защиты нужно учесть при проект
📝 Шпаргалка по проектированию безопасных систем. Помогает быстро проверить, какие направления защиты нужно учесть при проектировании ИТ-системы: доступы, данные, сеть, API, контейнеры, подрядчики, реагирование на инциденты и восстановление. 🔐 Основные направления защиты — Authentication Проверка того, кто входит в систему. Сюда относятся парольная политика, MFA, доступ сотрудников к внутренним сервисам и защита учётных записей. — Authorization Управление правами после входа. Роли, уровни доступа, принцип минимальных привилегий и регулярный пересмотр выданных прав. — Encryption Защита данных при передаче и хранении. TLS, шифрование чувствительной информации, управление ключами и контроль доступа к ним. — Vulnerability Management Работа с уязвимостями. Патчи, регулярное сканирование, мониторинг и проверка критичных обновлений. — Audit & Compliance Журналы, проверки и соответствие требованиям. Для российской инфраструктуры сюда можно отнести 152-ФЗ, 187-ФЗ, требования ФСТЭК/ФСБ и внутренние регламенты компании. — Network Security Защита сети. Межсетевые экраны, сегментация, IDS/IPS, защищённый DNS и контроль сетевых потоков между системами. — Endpoint Security Защита рабочих станций, ноутбуков и других конечных устройств. Антивирус, EDR, управление устройствами и шифрование дисков. — Incident Response Реагирование на инциденты. План действий при атаке, утечке, DDoS или компрометации учётной записи, а также регулярные тренировки команды. — Container Security — безопасность самих контейнеров: доверенные реестры и образы, сканирование на уязвимости, минимальная база, запуск без root, контроль runtime. — Kubernetes Security — безопасность кластера: RBAC, network policies, Pod Security Standards, защита control plane и etcd, управление секретами. — API Security Защита публичных и внутренних API. OAuth 2.0, API-ключи, rate limiting, валидация входных данных и контроль подозрительной активности. — Third-Party Management Работа с подрядчиками и внешними сервисами. Оценка поставщиков, безопасный обмен данными, контроль интеграций и внешних доступов. — Disaster Recovery Восстановление после сбоя или атаки. DR-план, резервное копирование, резервирование систем и регулярная проверка восстановления. Такая карта хорошо показывает, что безопасность системы начинается ещё на этапе архитектуры. Чем раньше эти направления учтены в проектировании, тем меньше хаоса будет при эксплуатации, проверках и реальных инцидентах. #полезное
761
10
💰 Экономия на архитектуре, которая увеличивает TCO Самые дорогие ошибки в инфраструктуре часто выглядят как разумная экономи
💰 Экономия на архитектуре, которая увеличивает TCO Самые дорогие ошибки в инфраструктуре часто выглядят как разумная экономия на старте. Обычно сокращают то, что кажется необязательным прямо сейчас: резервирование сети, запас по СХД, мониторинг, тесты восстановления, документацию и план масштабирования. А последствия появляются позже: — Сетевую схему приходится менять уже после запуска. — СХД не выдерживает реальный профиль нагрузки: растут задержки, проседают сервисы. — Проблемы с инфраструктурой становятся заметны по жалобам пользователей. — Бэкапы есть, но восстановление не проверялось — в момент инцидента это превращается в отдельный риск. Так экономия превращается в рост TCO. Потому что в стоимость инфраструктуры входят эксплуатация, риски, восстановление, масштабирование и цена будущих переделок. 👉 В новом материале разобрали, где компании чаще всего экономят при построении ИТ-инфраструктуры, как эти решения возвращаются дополнительными расходами и почему иногда «дешевле на старте» означает дороже в три раза. #статья
754
11
📖 Как освоить современный Linux Полный справочник по современной Linux-среде: от базовых принципов работы ОС до ядра, оболоч
📖 Как освоить современный Linux Полный справочник по современной Linux-среде: от базовых принципов работы ОС до ядра, оболочек, файловых систем, сетевого взаимодействия, контейнеров и систем мониторинга. 🔍 Рассматривается: — что такое современный Linux и где он используется; — архитектура Linux и устройство ядра; — процессы, память, системные вызовы и модули ядра; — работа с терминалом, оболочками и скриптами; — управление пользователями, правами и доступом; — файловые системы и виртуальная файловая система; — приложения, systemd и управление пакетами; — контейнеры и современные менеджеры пакетов; — основы сетевого взаимодействия, TCP/IP и DNS; — журналирование, мониторинг и наблюдаемость; — виртуальные машины и межпроцессное взаимодействие; — современные дистрибутивы Linux и перспективные возможности системы. Автор: Майкл Хаузенблас Издательство: O’Reilly / русское издание, 2026 г. #книги #полезное
954
12
🖥 systemd-resolved — компонент systemd, который отвечает за разрешение сетевых имён. По сути — это небольшой кеширующий DNS-
🖥 systemd-resolved — компонент systemd, который отвечает за разрешение сетевых имён. По сути — это небольшой кеширующий DNS-сервер, который крутится прямо на вашей машине и работает посредником между приложениями и реальными DNS-серверами. 📍 Зачем он нужен? Раньше DNS-серверы прописывались в один файл /etc/resolv.conf, и за него дрались все подряд: DHCP, VPN, NetworkManager. Кто последний записал — тот и победил, а остальные настройки терялись. systemd-resolved решает это и даёт сверху: — Раздельный DNS под каждый интерфейс (per-link) — VPN, Wi-Fi и Ethernet больше не затирают настройки друг друга. — Кеширование — повторные запросы не уходят в сеть, резолвинг быстрее. — Современные протоколы — DNSSEC, DNS-over-TLS (DoT), а также LLMNR и mDNS для имён в локальной сети. 📍 Как работает? Поднимает локальный DNS-сервер на адресе 127.0.0.53:53 — это так называемый stub-резолвер (заглушка). /etc/resolv.conf превращается в симлинк на /run/systemd/resolve/stub-resolv.conf, где прописан единственный nameserver те самые 127.0.0.53. Все приложения отправляют запросы на этот локальный адрес. Дальше resolved сам решает, на какой реальный upstream-сервер переслать запрос в зависимости от интерфейса, домена и настроек. 📍 Основные команды Главная утилита — resolvectl Полный статус с DNS-серверами по каждому интерфейсу: resolvectl status Global Protocols: -LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (eth1) Current Scopes: DNS Protocols: +DefaultRoute +DNSSEC Current DNS Server: 77.88.8.8 DNS Servers: 77.88.8.8 77.88.8.1 Резолвинг имени через resolved: resolvectl query cortel.cloud cortel.cloud: 95.181.181.7 -- link: eht1 -- Information acquired via protocol DNS in 12.3ms. -- Data is authenticated: no Сброс DNS-кеша: resolvectl flush-caches systemd-resolved — это локальный кеширующий резолвер, который наводит порядок в DNS: разводит серверы по интерфейсам, кеширует ответы и поддерживает современные протоколы вроде DoT и DNSSEC. На большинстве свежих Ubuntu/Debian он включён по умолчанию. #линуксятина
791
13
💻 etcd — распределённое хранилище данных Kubernetes. В нём хранится состояние кластера: поды, деплойменты, секреты, конфигур
💻 etcd — распределённое хранилище данных Kubernetes. В нём хранится состояние кластера: поды, деплойменты, секреты, конфигурации, ноды, правила доступа и другие объекты. По этим данным управляющий контур понимает, что сейчас есть в кластере и какое состояние нужно поддерживать. ➡️ Особенности С etcd напрямую работает API-сервер Kubernetes. Остальные компоненты получают данные уже через него. Так Kubernetes централизованно проверяет запросы, права доступа и изменения в состоянии кластера. Данные в etcd хранятся с версиями. Когда объект меняется, Kubernetes видит это изменение и реагирует: создаёт под, обновляет конфигурацию, приводит сервис к нужному состоянию. ➡️ Как работает Обычно etcd работает как кластер из нескольких узлов. Один узел принимает изменения, остальные синхронизируют с ним данные. Запись считается подтверждённой, когда её приняло большинство узлов. Изменения в etcd фиксируются только после подтверждения большинством узлов. Поэтому в production чаще используют 3 или 5 узлов: так проще сохранить кворум при отказе и продолжить работу управляющего контура. Потеря etcd без актуального бэкапа может привести к потере управляемого состояния Kubernetes-кластера. Сами ноды при этом могут быть живы, но Kubernetes уже не сможет нормально управлять объектами, конфигурациями и доступами. Поэтому снимок состояния etcd — обязательная часть эксплуатации. ➡️ Снять снимок можно командой: etcdctl snapshot save /backup/etcd-$(date +%F).db ➡️ Проверить состояние узлов: etcdctl endpoint status --cluster -w table etcd хранит состояние Kubernetes-кластера. Поэтому бэкап должен быть не просто настроен, а проверен: снимок нужно уметь восстановить до того, как это потребуется в аварийной ситуации. #заметкиИнженера
824
14
🧩 Импортозамещение виртуализации без переделок Переход на отечественные решения начинается раньше, чем миграция виртуальных
🧩 Импортозамещение виртуализации без переделок Переход на отечественные решения начинается раньше, чем миграция виртуальных машин. Сначала нужно проверить всю связку: платформу, серверы, СХД, сеть, резервное копирование, мониторинг, поддержку и дальнейшее масштабирование. Если выбрать решение только по формальному признаку, то проблемы перейдут в эксплуатацию. Может не хватить производительности, появятся ограничения по совместимости, а привычные процессы придётся собирать заново. Отдельное внимание нужно уделить вендору. Важно смотреть на матрицы совместимости, опыт внедрений, документацию, пилотирование и поддержку в реальных сценариях после запуска. 👉 В новом материале разобрали, как выбрать оборудование и вендора для импортозамещения виртуализации, чтобы архитектура выдержала миграцию, нагрузку и масштабирование. #статья
1 016
15
⚙️ Xargs — классическая Unix-утилита, которая берёт данные со стандартного ввода и подставляет их как аргументы другой команд
⚙️ Xargs — классическая Unix-утилита, которая берёт данные со стандартного ввода и подставляет их как аргументы другой команде. Звучит просто, но именно она помогает превращать пайплайны в мощные однострочники для массовых операций. Многие команды (rm, cp, mv, kill) не читают список целей из stdin напрямую. Они ждут аргументы. xargs решает эту задачу: принимает поток данных, разбивает его на элементы и передаёт следующей команде уже в нужном формате. Базовый принцип Без xargs: echo "file1.txt file2.txt" | rm # Не работает — rm не читает stdin С xargs: echo "file1.txt file2.txt" | xargs rm # Превратится в: rm file1.txt file2.txt Основные флаги -n N — количество аргументов на одну команду. -I {} — заменитель (placeholder), используется когда нужно вставить значение в середину команды, а не в конец. -P N — параллельное выполнение в N процессов. -0 — разделитель — нулевой байт. -t — показать команду перед выполнением (verbose). -p — спросить подтверждение для каждой команды. Боевые примеры Убить все процессы по имени pgrep -f "old_script" | xargs kill -9 Удалить пустые файлы find . -type f -empty -print0 | xargs -0 rm Архивация найденных файлов: find . -name "*.log" -mtime +30 -print0 | xargs -0 tar czf old_logs.tar.gz Изменить права на всех скриптах: find . -name "*.sh" -print0 | xargs -0 chmod +x xargs нужен там, где поток данных нужно превратить в аргументы команды. За счёт этого обычные Unix-команды начинают работать с большими списками файлов, процессов и других объектов. #линуксятина
1 014
16
Стартуем через 1 час! 🎬 Любители запрыгивать в последний вагон, это объявление для вас. Вот-вот встречаемся на МК по модели угроз. Готовьте всё возможное для записи, запасайтесь чаем/кофе/чемпокрепче, 4+ часами времени и платочками для слёз от смеха на шутках Вероники. Будет жарко и насыщенно. Впрочем, как и всегда, не нам рассказывать, какую информацию и как она даёт. Свет, камера и звук готовы, Вероника вносит последние правки, чтобы дать вам максимум по плотности контента. 3 свободных места! Кому? ‼️ЗАРЕГИСТРИРОВАТЬСЯ‼️
383
17
🔈 VPS от enterprise команды Выкатили новый сервис для аренды VPS/VDS — Serverum Пилили сначала для себя, теперь решили показать «своим» Да, у нас есть своя разработка и да, мы будем об этом иногда рассказывать 🙂 Сделали по-человечески: заходим, выбираем конфиг и пользуемся полностью в автоматическом режиме. Что внутри: — собственная проприетарная платформа — простые платежи — очень низкие цены — адекватная живая поддержка Сейчас запускаем первых пользователей и собираем честный фидбек. Если нужна VPS под сайт, бота, dev-среду, тестовый стенд или пет-проект — заходите, берите, гоняйте, будем рады. Фидбек можно писать в личку: @ivan_cmo Самому внимательному и вовлечённому — «та самая» толстовка в подарок 💎 👉 Serverum.ru
1 287
18
УЖЕ ЗАВТРА! Друзья, это не учебная тревога‼️ Менее чем через 24 часа мы встретимся в прямом эфире с Вероникой Нечаевой, чтобы
УЖЕ ЗАВТРА! Друзья, это не учебная тревога‼️ Менее чем через 24 часа мы встретимся в прямом эфире с Вероникой Нечаевой, чтобы от и до разобрать модель угроз. Расставим все точки и ответим на самые популярные вопросы. ⁉️ Это будет просто вебинар? Нет, это практический мастер-класс в двух частях. Более 10 часов контента, возможность задать Веронике вопрос во время эфиров и после. ⁉️ Будет ли что-то помимо эфира? Да, мы вышлем всем участникам шаблон модели угроз, чтобы вы в прямом эфире вместе с Вероникой могли подготовить МУ. Также будем на связи и после МК и ответим на все вопросы. ⁉️ Как попасть? Чтобы быть завтра в прямом эфире, нужно зарегистрироваться по ссылке. Участие платное. ⁉️ Если я новичок в теме ПДн, мне подойдёт? Нет. Если вы не знаете, что такое уровень защищённости ИСПДн, как выглядит схема ИС и пугаетесь при аббревиатуре СЗИ - мастер-класс вам не подойдёт. Он рассчитан на продвинутый уровень, на тех, кто знает, что такое модель угроз, техническое задание и проект и уже готовил документацию по ПДн. ⁉️ Когда повтор? Повторов не планируем. Если вы оттягивали до последнего - вот он, ваш выход. Просто поверьте, после этого МК вы будете знать о модели угроз всё и даже больше. 👉 ЗАРЕГИСТРИРОВАТЬСЯ 👈
1 174
19
👏Топ-5 постов #ЗаметкиИнженера ➡️ Надёжный способ бэкапа PostgreSQL Разбор pg_dump для логических бэкапов: plain SQL, custom
👏Топ-5 постов #ЗаметкиИнженера ➡️ Надёжный способ бэкапа PostgreSQL Разбор pg_dump для логических бэкапов: plain SQL, custom и directory-форматы, параллельный дамп через -Fd -j, выборочный дамп таблиц и схем, и pg_dumpall для бэкапа всего кластера с ролями. В комплекте — пайплайн с gzip и автоочисткой через find. ➡️ Загадка зависшего Temporal UI. Часть 1 — расследование Реальный кейс: UI Temporal отдаёт 200 ОК, но данные не грузятся. Алерты молчат, CPU и память в норме, а запросы к БД зависают на 8 минут. Корень проблемы оказался в переполненном пуле соединений PgBouncer — начало трилогии с разбором архитектуры и метафорой автопарка. ➡️ Live Migration: как переместить работающую ВМ без простоя Как KVM/QEMU переносит ВМ между серверами, пока пользователи продолжают работать. Разбор четырёх фаз: подготовка, pre-copy с итеративной синхронизацией «грязных» страниц памяти, короткий stop-and-copy и запуск на целевом хосте. ➡️ Terraform Декларативный IaC от HashiCorp: описываете желаемое состояние, а Terraform сам приводит инфраструктуру к нему. Связка init / plan / apply, state-файлы, модули как Lego-кубики и универсальный HCL для AWS, GCP и других провайдеров — один код, разные облака. ➡️ Горячие клавиши для управления процессами в Linux-терминале Подборка из 7 must-have комбинаций: Ctrl+C (SIGINT), Ctrl+Z (SIGTSTP с возвратом через fg/bg), Ctrl+D (EOF), Ctrl+S/Ctrl+Q (заморозка вывода), Ctrl+L и Ctrl+R. Минимум команд — максимум контроля над процессами и сессиями. #ЗаметкиИнженера
981
20
Всего 2 дня...‼️ До, без преувеличений, главного мастер-класса этой весны! 28 мая встречаемся в прямом эфире с Вероникой Неча
Всего 2 дня...‼️ До, без преувеличений, главного мастер-класса этой весны! 28 мая встречаемся в прямом эфире с Вероникой Нечаевой, нашим директором по ИБ, чтобы от и до разобраться с темой моделирования угроз. Напомним главное 1️⃣Мастер-класс будет в 2 частях. 28 мая - вся необходимая теоретическая база по МУ. 4+ часа контента, разбор ваших ситуаций и ответы на вопросы. В июне встречаемся на практической части, где создадим МУ с 0 по шаблону (да, его тоже дадим!). 2️⃣Повторов не планируем. Успевайте 28 мая, чтобы быть онлайн, спросить Веронику обо всех тонкостях, получить записи, к которым можно вернуться и оставаться на связи даже после МК. 3️⃣Для участия нужно зарегистрироваться и оплатить участие. Все детали - по ссылке. Вас ждёт обновлённый МК и 10+ часов контента без воды. Количество участников ограничено, чтобы уделить время каждому. Мест всё меньше. 🔙ЗАРЕГИСТРИРОВАТЬСЯ🔜
1 313