Среда разработки (VENV) Python3 в CentOS 7

Для запуска скриптов на Python 3 потребовалось настроить виртуальное окружение. Но как известно, на CentOS 7 только Python 2.x. Можно конечно рядом установить Python 3, но тогда могут возникнуть различные конфликты, начиная от pip и заканчивая python-модулями.

Отличное решение, чтобы изолировать Python 3 и его модули от Python 2 или использовать в разработке разные версии модулей - это настроить изолированное окружение. В этой статье вы узнаете как это сделать.

Как автоматизировать репликацию и отказоустойчивость PostgreSQL 12 с помощью repmgr - часть 2

В первой части мы создали трехузловой кластер PostgreSQL 12 вместе с узлом-свидетелем. Кластер состоит из primary и двух standby узлов. Кластер и свидетель (PG-Node-Witness) размещены на KVM. Серверы, на которых размещены инстансы Postgres, размещены в одной сети:



Также был установлен repmgr на primary и standby узлах и зарегистрирован primary узел. После этого мы клонировали оба standby узла из primary и запустили их. Оба standby узла также были зарегистрированы в repmgr. Команда "repmgr cluster show" показала нам, что все работает как и ожидалось:


Настроить потоковую репликацию с помощью repmgr очень просто. Далее нам нужно убедиться, что кластер будет функционировать даже тогда, когда основной станет недоступным. Это то, что мы и сделаем.
SQL

Как автоматизировать репликацию и отказоустойчивость PostgreSQL 12 с помощью repmgr - часть 1

repmgr - это набор инструментов с открытым исходным кодом от 2ndQuadrant, ведущего специалиста в технологиях и сервисах, связанных с PostgreSQL. Продукт используется для автоматизации, улучшения и управления потоковой репликацией PostgreSQL.
Потоковая репликация в PostgreSQL существует с версии 9.0. Нативная настройка и управление потоковой репликацией включает в себя ряд ручных шагов, которые включают в себя:
  • Настройка репликации как на основном, так и на каждом резервном узле;
  • Резервное копирование данных основного узла с помощью pg_basebackup с каждого резервного узла и его восстановление;
  • Перезапуск резервного узла(ов).
С оперативной стороны несколько задач включают в себя:
  • Проверка состояния репликации с помощью операторов SQL;
  • Содействие резервному узлу, когда необходимо переключение или когда основной недоступен;
  • Отключение или остановка основного узела;
  • Пересоздание репликации с нового read/write узла на существующие или новые резервные узлы.
С помощью repmgr большинство этих задач можно автоматизировать, экономя время.



В этой серии из двух частей мы увидим, как repmgr и его демон repmgrd могут автоматизировать высокую доступность и отказоустойчивость кластера PostgreSQL 12 с тремя узлами.
SQL

Клонирование виртуальных машин KVM

Для клонирования ВМ можно использовать простую команду virt-clone. Это утилита командной строки для клонирования существующих образов виртуальных машин с использованием библиотеки "libvirt". Она скопирует образы дисков любой существующей ВМ и определит нового гостя с идентичной конфигурацией виртуального оборудования. Элементы, которые требуют уникальности, будут обновлены, чтобы избежать столкновения между старыми и новыми ВМ.


KVM. Создание и удаление ВМ с помощью virsh и virt-install

В этой статье сначала создадим виртуальный диск в формате qcow2 с помощью команды qemu-img, затем с помощью команды virt-install установим ВМ в режиме консоли.

После этого с помощью virsh удалим созданную ВМ.
Все действия гарантированно работают на CentOS 7.

Редактирование конфигов с помощью Ansible на примере sshd_config

Для изменения, добавления и удаления файлов - Ansible может использовать регулярные выражения. В этой статье напишем плейбук, который изменит конфиг-файл sshd_config, а так же удалит файлы с небезопасными алгоритмами аутентификации.

Terraform. Изолирование сред через Workspaces с использованием AWS S3 Bucket и DynamoDB

Каждый раз, когда вы запускаете Terraform, создается файл состояния - terraform.tfstate. В него записывается вся инфраструктура, которую вы создали. Например, когда вы запустите Terraform в каталоге /my/terraform, будет создан файл /my/terraform/terraform.tfstate.

В этой статье разберемся зачем нужны файлы terraform.tfstate, затем узнаем, что такое Workspaces (воркспейсы, рабочие пространства) и зачем они нужны. И наконец, все это задеплоим.

Terraform + AWS. Деплой кластера серверов с Elastic Load Balancer

Пример деплоя кластера серверов с балансировщиком нагрузки на AWS с помощью Terraform.


В этой статье мы напишем код, чтобы задеплоить простую HTML страничку, но в то же время у нас уже будет отказоустойчивый кластер Web-серверов.

Полностью рабочий код вы можете забрать в моём репозитории на GitHub: https://github.com/yatakoi/terraform


 

Удалить пакет и его зависимости в CentOS 7

По каким-то причинам вы захотели удалить пакет, но вместе с ним были установлены десятки зависимостей. yum erase <пакет> удалит только пакет, но не зависимости. Как быть?

Всё очень просто. Удалить пакет и все зависимости, с которыми он был установлен, можно с помощью команды yum history.