Forwarded from Bash Советы
🗂 Мониторинг размера логов
Иногда логи на сервере начинают разрастаться и быстро занимают место. Чтобы контролировать их размер, можно использовать небольшой bash-скрипт:
📌 Скрипт ищет все
🔧 Можно добавить в
👉@bash_srv
Иногда логи на сервере начинают разрастаться и быстро занимают место. Чтобы контролировать их размер, можно использовать небольшой bash-скрипт:
#!/bin/bash
# автор: https://t.me/bash_srv
# каталог с логами
LOG_DIR="/var/log"
# максимальный размер файла (в мегабайтах)
MAX_SIZE=100
find "$LOG_DIR" -type f -name "*.log" | while read -r log; do
size=$(du -m "$log" | cut -f1)
if (( size > MAX_SIZE )); then
echo "⚠️ Лог $log превышает $MAX_SIZE MB (текущий размер: ${size}MB)"
fi
done
📌 Скрипт ищет все
.log - файлы в каталоге /var/log и проверяет их размер. Если размер превышает указанный порог (например, 100MB), выводит предупреждение.🔧 Можно добавить в
cron, чтобы проверка выполнялась регулярно.👉@bash_srv
🤝1
yq
Лёгкий и портативный консольный процессор YAML, JSON, INI и XML. yq использует синтаксис, похожий на jq, но работает не только с YAML, а также с JSON, XML, INI, properties, CSV и TSV. Пока он не поддерживает всё, что умеет jq, но реализует наиболее распространённые операции и функции, и возможности постоянно расширяются.
yq написан на Go, поэтому вы можете скачать готовый бинарный файл без зависимостей для своей платформы и сразу использовать. При желании можно установить его через разные менеджеры пакетов, а также с помощью Docker или Podman — всё перечислено ниже.
https://github.com/mikefarah/yq
#devops #девопс
Подпишись 👉@i_DevOps
Лёгкий и портативный консольный процессор YAML, JSON, INI и XML. yq использует синтаксис, похожий на jq, но работает не только с YAML, а также с JSON, XML, INI, properties, CSV и TSV. Пока он не поддерживает всё, что умеет jq, но реализует наиболее распространённые операции и функции, и возможности постоянно расширяются.
yq написан на Go, поэтому вы можете скачать готовый бинарный файл без зависимостей для своей платформы и сразу использовать. При желании можно установить его через разные менеджеры пакетов, а также с помощью Docker или Podman — всё перечислено ниже.
https://github.com/mikefarah/yq
#devops #девопс
Подпишись 👉@i_DevOps
Объясните концепцию Ingress в Kubernetes
Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.
#devops #девопс
Подпишись 👉@i_DevOps
Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.
#devops #девопс
Подпишись 👉@i_DevOps
👍7👎1
Объясните, что такое диспетчер облачного контроллера.
Cloud Controller Manager позволяет связать кластер с API облачного провайдера. Cloud-controller manager позволяет поставщикам облачных услуг развиваться независимо от основного кода Kubernetes, абстрагируя специфичный код. Это позволяет поставщикам облачных услуг разрабатывать и поддерживать свой код независимо от основного кода Kubernetes.
Используя CCM, облачные операции, такие как создание и управление балансировщиками нагрузки, томами блочного хранения и облачными сетевыми ресурсами, могут выполняться бесперебойно в кластере Kubernetes. Это позволяет пользователям использовать преимущества как Kubernetes, так и облачного провайдера, сводя к минимуму потенциальные проблемы совместимости.
#devops #девопс
Подпишись 👉@i_DevOps
Cloud Controller Manager позволяет связать кластер с API облачного провайдера. Cloud-controller manager позволяет поставщикам облачных услуг развиваться независимо от основного кода Kubernetes, абстрагируя специфичный код. Это позволяет поставщикам облачных услуг разрабатывать и поддерживать свой код независимо от основного кода Kubernetes.
Используя CCM, облачные операции, такие как создание и управление балансировщиками нагрузки, томами блочного хранения и облачными сетевыми ресурсами, могут выполняться бесперебойно в кластере Kubernetes. Это позволяет пользователям использовать преимущества как Kubernetes, так и облачного провайдера, сводя к минимуму потенциальные проблемы совместимости.
#devops #девопс
Подпишись 👉@i_DevOps
👍3
🚀 Kubernetes операторы: зачем они нужны?
Если ты когда-нибудь настраивал stateful сервисы в Kubernetes (Postgres, Kafka, Elasticsearch и т.д.), то знаешь: манифесты Deployment/StatefulSet сами по себе редко закрывают все потребности. Нужен кто-то, кто будет следить за жизненным циклом приложения: бэкапы, апгрейды, реплики, восстановление.
Вот тут и появляются Operators.
Оператор — это контроллер, который расширяет Kubernetes API и умеет управлять сложными приложениями как «живым организмом». По сути, он кодирует опыт SRE/админа внутри кластера.
Как это работает?
1. Создаётся CustomResourceDefinition (CRD) - новый объект в Kubernetes (например,
2. Пишется контроллер, который следит за этим объектом и выполняет нужные действия (инициализация БД, настройка реплик, обновления).
3. Ты как DevOps просто применяешь YAML с описанием кластера, а оператор сам делает всю грязную работу.
Примеры операторов
Zalando Postgres Operator — управляет кластерами PostgreSQL.
Strimzi - Kafka в Kubernetes.
Prometheus Operator - автоматизация деплоя Prometheus + Alertmanager.
Почему это круто?
-Снижается рутина → не нужно писать километры bash-скриптов.
-Упрощается управление → вместо «кучи манифестов» ты работаешь с одним объектом.
-Автоматизация best practices → разработчики операторов уже заложили правильные сценарии.
#devops #девопс
Подпишись 👉@i_DevOps
Если ты когда-нибудь настраивал stateful сервисы в Kubernetes (Postgres, Kafka, Elasticsearch и т.д.), то знаешь: манифесты Deployment/StatefulSet сами по себе редко закрывают все потребности. Нужен кто-то, кто будет следить за жизненным циклом приложения: бэкапы, апгрейды, реплики, восстановление.
Вот тут и появляются Operators.
Оператор — это контроллер, который расширяет Kubernetes API и умеет управлять сложными приложениями как «живым организмом». По сути, он кодирует опыт SRE/админа внутри кластера.
Как это работает?
1. Создаётся CustomResourceDefinition (CRD) - новый объект в Kubernetes (например,
PostgresCluster).2. Пишется контроллер, который следит за этим объектом и выполняет нужные действия (инициализация БД, настройка реплик, обновления).
3. Ты как DevOps просто применяешь YAML с описанием кластера, а оператор сам делает всю грязную работу.
Примеры операторов
Zalando Postgres Operator — управляет кластерами PostgreSQL.
Strimzi - Kafka в Kubernetes.
Prometheus Operator - автоматизация деплоя Prometheus + Alertmanager.
Почему это круто?
-Снижается рутина → не нужно писать километры bash-скриптов.
-Упрощается управление → вместо «кучи манифестов» ты работаешь с одним объектом.
-Автоматизация best practices → разработчики операторов уже заложили правильные сценарии.
#devops #девопс
Подпишись 👉@i_DevOps
👍7❤4
Container and image vocabulary
Визуализация и простое объяснение основных терминов в области контейнеризации.
https://dev.to/zdybit/container-and-image-vocabulary-123k
#devops #девопс
Подпишись 👉@i_DevOps
Визуализация и простое объяснение основных терминов в области контейнеризации.
https://dev.to/zdybit/container-and-image-vocabulary-123k
#devops #девопс
Подпишись 👉@i_DevOps
👍3
🚀 Kubernetes операторы — зачем они нужны?
В Kubernetes мы привыкли описывать всё декларативно: деплойменты, сервисы, ингрессы. Но когда дело доходит до сложных систем вроде баз данных, кластеров Kafka или Redis, обычных манифестов уже не хватает.
Тут на сцену выходят операторы 👷♂️
👉 Оператор — это контроллер, который следит за кастомным ресурсом (CRD) и автоматизирует рутинные задачи:
- создание и удаление объектов;
- бэкапы и восстановление;
- апгрейды без даунтайма;
- масштабирование и самовосстановление.
📌 Пример:
Вместо того чтобы руками поднимать PostgreSQL, писать StatefulSet и конфиги - достаточно создать
💡 По сути, оператор - это "человек-админ в коде". Он знает, как управлять приложением и делает это автоматически в стиле GitOps.
#devops #девопс
Подпишись 👉@i_DevOps
В Kubernetes мы привыкли описывать всё декларативно: деплойменты, сервисы, ингрессы. Но когда дело доходит до сложных систем вроде баз данных, кластеров Kafka или Redis, обычных манифестов уже не хватает.
Тут на сцену выходят операторы 👷♂️
👉 Оператор — это контроллер, который следит за кастомным ресурсом (CRD) и автоматизирует рутинные задачи:
- создание и удаление объектов;
- бэкапы и восстановление;
- апгрейды без даунтайма;
- масштабирование и самовосстановление.
📌 Пример:
Вместо того чтобы руками поднимать PostgreSQL, писать StatefulSet и конфиги - достаточно создать
PostgresCluster CRD. Оператор сам раскатит БД, настроит реплики, PVC и даже сделает бэкап.💡 По сути, оператор - это "человек-админ в коде". Он знает, как управлять приложением и делает это автоматически в стиле GitOps.
#devops #девопс
Подпишись 👉@i_DevOps
❤3
Наглядное руководство по туннелированию SSH и переадресации портов
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы: сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения
https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/
#devops #девопс
Подпишись 👉@i_DevOps
Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы: сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения
https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/
#devops #девопс
Подпишись 👉@i_DevOps
👍6🔥2❤1
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
Подпишись 👉@i_DevOps
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Реагирование на инциденты ИБ в Linux-системах: база
В мире, где всё чаще происходят кибератаки, важно иметь понимание процесса реагирования на инциденты информационной безопасности. Особенно важно это в контексте Linux-систем, которые являются основой многих критически важных элементов ИТ-инфраструктуры компаний. Под катом вы найдете базовые моменты этого процесса, команды, которые могут быть использованы для анализа, а также точки интереса, на которые стоит обращать внимание. Статья будет полезна в первую очередь начинающим администраторам Linux-систем и отделам ИБ для составления планов по реагированию.
https://habr.com/ru/companies/first/articles/843126/
#devops #девопс
Подпишись 👉@i_DevOps
В мире, где всё чаще происходят кибератаки, важно иметь понимание процесса реагирования на инциденты информационной безопасности. Особенно важно это в контексте Linux-систем, которые являются основой многих критически важных элементов ИТ-инфраструктуры компаний. Под катом вы найдете базовые моменты этого процесса, команды, которые могут быть использованы для анализа, а также точки интереса, на которые стоит обращать внимание. Статья будет полезна в первую очередь начинающим администраторам Linux-систем и отделам ИБ для составления планов по реагированию.
https://habr.com/ru/companies/first/articles/843126/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Как допилить GitLab CI/CD и перестать переписывать пайплайны
Меня зовут Роман Волков, я Senior DevOps в МТС Web Services. Последние несколько лет мне приходилось создавать и адаптировать конвейеры на базе GItLab-CI, изменяя процесс автоматизации под каждую новую команду, стек, продукт и окружения эксплуатации. Чтобы облегчить жизнь себе и коллегам, я сделал небольшой внутренний фреймворк — FundaPipe, значительно упрощающий создание, развитие, переиспользование и применение самих конвейеров разработчиками.
https://habr.com/ru/companies/ru_mts/articles/938704/
#devops #девопс
Подпишись 👉@i_DevOps
Меня зовут Роман Волков, я Senior DevOps в МТС Web Services. Последние несколько лет мне приходилось создавать и адаптировать конвейеры на базе GItLab-CI, изменяя процесс автоматизации под каждую новую команду, стек, продукт и окружения эксплуатации. Чтобы облегчить жизнь себе и коллегам, я сделал небольшой внутренний фреймворк — FundaPipe, значительно упрощающий создание, развитие, переиспользование и применение самих конвейеров разработчиками.
https://habr.com/ru/companies/ru_mts/articles/938704/
#devops #девопс
Подпишись 👉@i_DevOps
👍4😁2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
mk - Интерактивный запуск задач для Makefile(Taskfile.yml)
Функции:
- Интерактивный интерфейс: Просматривайте и выбирайте доступные команды make с помощью стрелок или фильтруйте, вводя текст.
- Документация: Ознакомьтесь с описанием каждой команды, чтобы понять её назначение и использование.
- Клавиши, как в Vim: Используйте
- Фильтрация: Быстро находите команды, вводя часть их названия. Нажмите
- Удалённый Makefile: Загрузите Makefile с удалённого URL и выполните команды.
- Локальный Makefile: Загрузите Makefile из любой директории и выполните команды.
- Поддержка Taskfile.yml: Загрузите Taskfile.yml из удалённого URL или локального пути и выполните задачи.
https://github.com/orangekame3/mk
#devops #девопс
Подпишись 👉@i_DevOps
Функции:
- Интерактивный интерфейс: Просматривайте и выбирайте доступные команды make с помощью стрелок или фильтруйте, вводя текст.
- Документация: Ознакомьтесь с описанием каждой команды, чтобы понять её назначение и использование.
- Клавиши, как в Vim: Используйте
j и k для навигации, Enter для выполнения, а q для выхода. - Фильтрация: Быстро находите команды, вводя часть их названия. Нажмите
? для справки. - Удалённый Makefile: Загрузите Makefile с удалённого URL и выполните команды.
- Локальный Makefile: Загрузите Makefile из любой директории и выполните команды.
- Поддержка Taskfile.yml: Загрузите Taskfile.yml из удалённого URL или локального пути и выполните задачи.
https://github.com/orangekame3/mk
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Infrastructure as Code на практике: как мы рефакторили сложный Ansible-репозиторий
Это статья о том, как сделать так, чтобы заказчику было легко пользоваться Ансиблом. Сразу оговорюсь: речь пойдет о кейсе, когда на вашей ферме 100 голов, и всех вы знаете по именам (да, так тоже бывает).
Ниже будет спорный материал. Результат описанного рефакторинга — компромисс между практикой IAC и людьми. Последняя составляющая этого компромисса требует тонкой настройки и деликатного подхода, поскольку люди в любой момент могут неосознанно начать отдаляться от IAC. Причина всегда одна — когнитивная нагрузка. Как только она начнет доставлять дискомфорт, IAC потихоньку двигают в сторону.
https://habr.com/ru/companies/kts/articles/945016/
#devops #девопс
Подпишись 👉@i_DevOps
Это статья о том, как сделать так, чтобы заказчику было легко пользоваться Ансиблом. Сразу оговорюсь: речь пойдет о кейсе, когда на вашей ферме 100 голов, и всех вы знаете по именам (да, так тоже бывает).
Ниже будет спорный материал. Результат описанного рефакторинга — компромисс между практикой IAC и людьми. Последняя составляющая этого компромисса требует тонкой настройки и деликатного подхода, поскольку люди в любой момент могут неосознанно начать отдаляться от IAC. Причина всегда одна — когнитивная нагрузка. Как только она начнет доставлять дискомфорт, IAC потихоньку двигают в сторону.
https://habr.com/ru/companies/kts/articles/945016/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Canary-деплой в Kubernetes с использованием Argo Rollouts и Istio
Мы не раз разбирали в своём блоге теорию и практику по разным стратегиям развёртывания новой версии приложения в Kubernetes. Сегодня рассмотрим ещё одну реализацию канареечного деплоя: с пассивными healthcheck и использованием Argo Rollouts и Istio. Этот вариант подойдёт, если к вашему приложению обращаются не через Ingress, а ходят внутри кластера по адресу service. Или если вы хотите видеть, что происходит с пользовательским трафиком на каждом из этапов обновления.
https://habr.com/ru/companies/flant/articles/943624/
#devops #девопс
Подпишись 👉@i_DevOps
Мы не раз разбирали в своём блоге теорию и практику по разным стратегиям развёртывания новой версии приложения в Kubernetes. Сегодня рассмотрим ещё одну реализацию канареечного деплоя: с пассивными healthcheck и использованием Argo Rollouts и Istio. Этот вариант подойдёт, если к вашему приложению обращаются не через Ingress, а ходят внутри кластера по адресу service. Или если вы хотите видеть, что происходит с пользовательским трафиком на каждом из этапов обновления.
https://habr.com/ru/companies/flant/articles/943624/
#devops #девопс
Подпишись 👉@i_DevOps
👍3❤1
Как мы улучшили балансировку нагрузки ингестеров в Grafana Mimir с помощью spread-minimizing токенов
Grafana Mimir - наша открытая, горизонтально масштабируемая, мультиарендная база временных рядов, позволяющая принимать более 1 миллиарда активных серий. Ингестеры Mimir используют консистентное хеширование - распределённую технику хеширования для репликации данных. Этот подход гарантирует минимальное количество перемещений временных рядов между доступными ингестерами при добавлении или удалении узлов в системе.
Мы заметили, что ранее используемый в Mimir алгоритм консистентного хеширования приводил к неравномерному распределению временных рядов между ингестерами: разброс нагрузки доходил до 25%. В результате одни ингестеры перегружались, а другие оставались недоиспользованными. Чтобы решить эту проблему, мы разработали новый алгоритм - стратегию генерации токенов, минимизирующую разброс. Она позволяет, с одной стороны, сохранять преимущества консистентного хеширования, а с другой - достигать почти идеального распределения нагрузки.
Равномерная балансировка нагрузки оптимизирует сетевую производительность и снижает задержки, поскольку спрос равномерно распределяется между ингестерами. Это обеспечивает более эффективное использование вычислительных ресурсов и ведёт к более стабильной производительности. В этом посте мы представим наш новый алгоритм и покажем, как он улучшил балансировку нагрузки ингестеров в некоторых наших продакшн-кластерах Grafana Cloud Metrics (работающих на базе Mimir) до уровня, который теперь практически идеален.
https://grafana.com/blog/2024/03/07/how-we-improved-ingester-load-balancing-in-grafana-mimir-with-spread-minimizing-tokens/
#devops #девопс
Подпишись 👉@i_DevOps
Grafana Mimir - наша открытая, горизонтально масштабируемая, мультиарендная база временных рядов, позволяющая принимать более 1 миллиарда активных серий. Ингестеры Mimir используют консистентное хеширование - распределённую технику хеширования для репликации данных. Этот подход гарантирует минимальное количество перемещений временных рядов между доступными ингестерами при добавлении или удалении узлов в системе.
Мы заметили, что ранее используемый в Mimir алгоритм консистентного хеширования приводил к неравномерному распределению временных рядов между ингестерами: разброс нагрузки доходил до 25%. В результате одни ингестеры перегружались, а другие оставались недоиспользованными. Чтобы решить эту проблему, мы разработали новый алгоритм - стратегию генерации токенов, минимизирующую разброс. Она позволяет, с одной стороны, сохранять преимущества консистентного хеширования, а с другой - достигать почти идеального распределения нагрузки.
Равномерная балансировка нагрузки оптимизирует сетевую производительность и снижает задержки, поскольку спрос равномерно распределяется между ингестерами. Это обеспечивает более эффективное использование вычислительных ресурсов и ведёт к более стабильной производительности. В этом посте мы представим наш новый алгоритм и покажем, как он улучшил балансировку нагрузки ингестеров в некоторых наших продакшн-кластерах Grafana Cloud Metrics (работающих на базе Mimir) до уровня, который теперь практически идеален.
https://grafana.com/blog/2024/03/07/how-we-improved-ingester-load-balancing-in-grafana-mimir-with-spread-minimizing-tokens/
#devops #девопс
Подпишись 👉@i_DevOps
❤2👍1
Чем отличается Kubernetes от Openshift?
Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.
#devops #девопс
Подпишись 👉@i_DevOps
Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.
#devops #девопс
Подпишись 👉@i_DevOps
❤1
Репликация базы Postgrespro на двух нодах
В данной статье описывается пошаговая настройка отказоустойчивой репликации PostgresPro-12 на двух серверах в изолированной среде без внешнего доступа и возможности развертывания третьего узла. Решение ориентировано на AstraLinux, но легко адаптируется под другие дистрибутивы. В условиях, где стандартные решения вроде Patroni с etcd или ZooKeeper неприменимы из-за требования минимум трёх нод, предлагается альтернативный подход на базе keepalived и кастомных bash-скриптов.
Ключевой особенностью является использование keepalived не только для управления виртуальным IP-адресом (VIP), но и для автоматического переключения роли PostgreSQL между мастером и репликой при отказе основного сервера.
https://habr.com/ru/articles/945716/
#devops #девопс
Подпишись 👉@i_DevOps
В данной статье описывается пошаговая настройка отказоустойчивой репликации PostgresPro-12 на двух серверах в изолированной среде без внешнего доступа и возможности развертывания третьего узла. Решение ориентировано на AstraLinux, но легко адаптируется под другие дистрибутивы. В условиях, где стандартные решения вроде Patroni с etcd или ZooKeeper неприменимы из-за требования минимум трёх нод, предлагается альтернативный подход на базе keepalived и кастомных bash-скриптов.
Ключевой особенностью является использование keepalived не только для управления виртуальным IP-адресом (VIP), но и для автоматического переключения роли PostgreSQL между мастером и репликой при отказе основного сервера.
https://habr.com/ru/articles/945716/
#devops #девопс
Подпишись 👉@i_DevOps
Хабр
Репликация базы Postgrespro на двух нодах
Всем привет, получил от руководства интересную задачу, возможно кому то это поможет сэкономить много рабочих часов. Итак суть – необходимо настроить репликацию базы данных, по возможности сделать...
👍4
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
👍7