Настройка постоянного хранилища для дополнительных компонентов#
После установки кластера инструменты разворачиваются с использованием томов EmptyDir. Для промышленной эксплуатации необходимо переконфигурировать их на использование постоянных томов - Persistent Volumes. В результате создания кластера с утилитой Dactl по умолчанию создается StorageClass local-storage.
Примечание
Использование внешних хранилищ является рекомендуемой практикой, обеспечивающей надежность и доступность данных. Необходимо установить подходящий StorageClass, который обеспечит необходимую производительность, надежность и доступность системы.
Перечень настроек постоянного хранилища для компонентов:
Alerting#
Для настройки постоянного хранилища выполните следующие шаги:
Создайте файл
alerting-persistence.yamlи настройтеpersistenceдля Alertmanager:logging-persistence.yaml
apiVersion: config.dropapp.ru/v1alpha1 kind: Component metadata: name: alerting spec: tools: - name: alertmanager values: persistence: enabled: true storageClass: openebs-hostpath # openebs тут как пример accessModes: - ReadWriteOnce size: 100MiВажно
Просто обновить конфигурацию не получится, так как Kubernetes не позволяет обновлять разделы
volumeдляStatefulSet, поэтому нужно удалить компонент Alerting.Удалите компонент Alerting:
./kubectl delete component alertingПересоздайте ресурсы конфигурационного файла с постоянным хранилищем, применив манифест:
./kubectl apply -f ./alerting-persistence.yaml
Ресурсы компонента Alerting будут пересозданы.
Logging#
Для настройки постоянного хранилища выполните следующие шаги:
Создайте файл
logging-persistence.yamlи настройтеpersistenceдля Vector-aggregator:logging-persistence.yaml
apiVersion: config.dropapp.ru/v1alpha1 kind: Component metadata: name: logging spec: tools: - name: vector-aggregator values: persistence: enabled: true storageClassName: openebs-hostpath # openebs приведен как примерВажно
Просто обновить конфигурацию не получится, так как Kubernetes не позволяет обновлять разделы
volumeдляStatefulSet, поэтому нужно удалить компонент Logging.Удалите компонент Logging:
./kubectl delete component loggingПересоздайте ресурсы конфигурационного файла с постоянным хранилищем, применив манифест:
./kubectl apply -f ./logging-persistence.yaml
Ресурсы компонента Logging будут пересозданы.
Monitoring#
Для настройки постоянного хранилища выполните следующие шаги:
Создайте файл
logging-persistence.yamlи настройтеpersistenceдля Victoria-metrics-operator, Console-dashboards, Kube-state-metrics, Prometheus-node-exporter, Metrics-server, Victoria-metrics-k8s-stack:monitoring-persistence.yaml
apiVersion: config.dropapp.ru/v1alpha1 kind: Component metadata: name: monitoring spec: tools: - name: victoria-metrics-k8s-stack values: vmcluster: spec: vmstorage: storage: volumeClaimTemplate: spec: storageClassName: openebs-hostpath # openebs приведен как пример resources: requests: storage: 10Gi vmselect: storage: volumeClaimTemplate: spec: storageClassName: openebs-hostpath # openebs приведен как пример resources: requests: storage: 2GiВажно
Просто обновить конфигурацию не получится, так как Kubernetes не позволяет обновлять разделы
volumeдляStatefulSet, поэтому нужно удалить компонент Monitoring.Удалите компонент Monitoring:
./kubectl delete component monitoringПересоздайте ресурсы конфигурационного файла с постоянным хранилищем, применив манифест:
./kubectl apply -f ./monitoring-persistence.yaml
Ресурсы компонента Monitoring будут пересозданы.