Предупреждение! Все действия по конфигурированию выполняются исключительно с помощью ansible
Если нужно поэкспериментировать руками, то эксперименты проводите в отдельном неймспейсе. Не забудьте его потом удалить.
В работе поработаем над хранением данных в кластере.
- Настроить хранилище
- Настроить registry для образов
- Развернуть в кластере 1 инстанс(под) postgresql
- Задеплоить rabbitmq
- Задеплоить приложения использующие rabbitmq и postgresql
- Создайте configmap и secret для postgresql
- Создайте PV и PVC для postgresql
- Обычный вариант:
- использовать local или hostPath
- Для ОЧЕНЬ(!) сильных духом и железом:
- Установить longhorn
- Создать PV и PVC на longhorn
- Создайте Deployment для postgresql (используйте актуальную версию postgresql)
- Создайте Service для postgresql
- Настроить registry для образов https://microk8s.io/docs/registry-built-in
- Развернуть RabbitMQ
- https://www.rabbitmq.com/kubernetes/operator/install-operator.html#helm-chart
- https://www.rabbitmq.com/kubernetes/operator/using-operator.html#create
- Написать приложения
- Сервис А
- Помещает каждые 10 секунд в очередь сообщение с текущим временем
- Сервис Б
- Получает сообщение от А, записывает полученное сообщение в таблицу PostgreSQL
- Разместить приложения в registry
- Задеплоить приложения
- Имеется рабочий плейбук для развертывания
- Удаление пода PostgreSQL не влияет на данные.
- Установлен RabbitMQ
- В кластере работают ваши приложения