Подготовка инфраструктуры
Подготовка рабочего окружения кластера
Закрома.Хранение использует следующие компоненты, которые должны быть установлены в кластере до установки сервисов Закрома:
Установка Nginx ingress
Ссылка на artifacthub.io Прямая ссылка на helm chart.
После скачивания, распаковываем и переходим в папку с chart-ом Выполняем команды:
1kubectl create namespace ingress-nginx 2helm install ingress-nginx . -n ngress-nginx
Установка cert-manager
Ссылка на artifacthub.io Прямая ссылка на helm chart. После скачивания, распаковываем и переходим в папку с chart-ом.
Выполняем команды:
1kubectl create namespace certmanager 2helm install certmanager-cert-manager . -n certmanager
ВниманиеЕсли используете новый проект то необходимо в файле
values.yaml
изменить две переменныеstartupapicheck.timeout=5m
иinstallCRDs=true
иначе при установке cert-manager создается job с именемcertmanager-cert-manager-startupapicheck
и его логах присутствует ошибка Not ready: the cert-manager webhook deployment is not ready yet Not ready: the cert-manager webhook deployment is not ready yet Not ready: the cert-manager webhook deployment is not ready yet Not ready: the cert-manager webhook deployment is not ready yet Обсуждение проблемы тут.
Создаем подписанта, в нем необходимо указать валидный почтовый ящик (файл в проекте) Выполняем команды:
1vim acme-issuer.yaml 2kubectl apply -f acme-issuer.yaml
Установка PostgreSQL
Установите PostgreSQL (минимально - v12, рекомендуемая v16) согласно документации к дистрибутиву.
Для продуктивной среды рекомендуется выносить PostgreSQL на отдельные машины, вне кластера kubernetes.
Установка Keycloak
Ссылка на artifacthub.io. Прямая ссылка на helm chart. После скачивания, распаковываем и переходим в папку с chart-ом Создаем файл настройки для keycloak с указанием внешней БД и паролями для доступа к интерфейсу. Выполняем команды:
1vim keycloak-vars.yaml 2kubectl create namespace keycloak 3helm install keycloak -f keycloak-vars.yaml . -n keycloak
Создаем ingress для keycloak в котором указываем свои пути согласно DNS записям ( файл в проекте )
Выполняем команды:
1vim ingress-keycloak.yaml 2kubectl apply -f ingress-keycloak.yaml
Настройка описана в статье Настройка keycloak.
Установка Fluent bit (опционально)
Ссылка на artifacthub.io Прямая ссылка на helm chart. После скачивания, распаковываем и переходим в папку с chart-ом. Выполняем команду:
1kubectl create namespace logging
Ставим fluent-bit командой:
1helm install fluent-bit . -n logging