«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Развертывание стека мониторинга с помощью Kubernetes, Helm и Ingress

Развертывание стека мониторинга с помощью Kubernetes, Helm и Ingress

Опубликовано 8 ноября 2024 г.
Просматривать:791

Deploying a Monitoring Stack with Kubernetes, Helm, and Ingress

Наблюдение и управление производительностью кластера Kubernetes имеет решающее значение для поддержания работоспособности приложений, выявления проблем и обеспечения высокой доступности. Я расскажу вам, как настроить комплексное решение для мониторинга с использованием kubectl и Helm, развернуть Grafana, Loki и Prometheus в вашем кластере и настроить Ingress для внешнего доступа.

Мы рассмотрим следующие ключевые этапы:

  1. Применение пространства имен Kubernetes для мониторинга.
  2. Установка Helm и настройка необходимых репозиториев.
  3. Развертывание Loki, Prometheus и Grafana с помощью Helm.
  4. Применение правил входящего трафика для внешнего доступа к сервисам.

Предварительные требования
Прежде чем начать, убедитесь, что у вас есть следующее:

  1. Кластер Kubernetes с настроенным kubectl.
  2. Helm установлен на вашем локальном компьютере.
  3. Правильный доступ для применения конфигураций YAML и диаграмм установки.

Шаг 1. Создайте пространство имен для мониторинга

Пространства имен помогают логически разделить и организовать ресурсы Kubernetes. Чтобы избежать конфликтов и разделить ресурсы мониторинга, мы создадим выделенное пространство имен для инструментов мониторинга.

1. Примените пространство имен мониторинга. Сохраните следующее содержимое в файле monitoring-namespace.yml:

apiVersion: v1
вид: пространство имен
метаданные:
имя: мониторинг
ярлыки:
app.kubernetes.io/name: мониторинг
app.kubernetes.io/instance: мониторинг

2. Примените пространство имен, используя kubectl:

kubectl apply -f мониторинг-namespace.yml

Эта команда создает в вашем кластере Kubernetes новое пространство имен, называемое мониторингом.

Шаг 2. Установите Helm и добавьте репозиторий Grafana
Helm, менеджер пакетов Kubernetes, упрощает развертывание сложных приложений, таких как Grafana, Loki и Prometheus. Вот как установить Helm и настроить необходимый репозиторий.

  1. Установить Helm (если он еще не установлен):

sudo snap install helm --classic

Эта команда устанавливает Helm с помощью Snap, системы управления пакетами для Linux.

  1. Добавьте репозиторий диаграмм Grafana Helm:

репозиторий Helm, добавьте графану https://grafana.github.io/helm-charts

  1. Обновите репозитории Helm:

обновление репозитория Helm

Это гарантирует, что у Helm будут самые последние диаграммы из репозитория Grafana.

Шаг 3. Разверните Локи, Прометея и Графану с помощью Helm

Теперь, когда Helm установлен и настроен, мы развернем Loki, Prometheus и Grafana, используя диаграмму Grafana Helm.

1. Запустите команду установки Helm:

обновление шлема --install loki --namespace=мониторинг grafana/loki-stack \
--набор grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=gp2,loki. persistence.size=100Gi --set nodeSelector.name=node.kubernetes.io/description=all_production

A: Grafana: **Это позволяет использовать Grafana, инструмент панели мониторинга, в диаграмме Helm.
**B: Prometheus: **Prometheus включен для сбора метрик, тогда как постоянные тома для Alertmanager и сервера Prometheus отключены для упрощения настройки хранилища.
**C: Loki:
Loki, инструмент агрегирования журналов, включает постоянное хранилище томов емкостью 100 Гигабайт с использованием класса хранилища gp2.

Флаг --install гарантирует, что стек будет установлен, если он не был развернут ранее. Флаг --upgrade обновляет стек до последней версии, если он уже установлен.

2. Проверьте установку: После успешной установки проверьте состояние модулей, работающих в пространстве имен мониторинга:

kubectl get pods -n мониторинг

Вы должны увидеть модули для Grafana, Prometheus, Loki и Promtail (который доставляет журналы в Loki).

Шаг 4. Настройте Ingress для внешнего доступа

Чтобы получить доступ к Grafana, Prometheus или Loki из-за пределов вашего кластера, вам необходимо настроить Ingress-ресурс. Это обеспечивает внешний доступ HTTP/S к службам мониторинга.

*1. Создайте входящий ресурс: сохраните следующий пример в файле monitoring-ingress.yml:
*

apiVersion: networking.k8s.io/v1
вид: Вход
метаданные:
имя: вход мониторинга
пространство имен: мониторинг
аннотации:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: letsencrypt
спецификация:
спасибо:
- хосты:

- ваш-домен.com
секретное имя: имя сертификата
правила:
- хост: ваш-домен.com
http:
пути:
- путь: /
Тип пути: Префикс
бэкэнд:
услуга:
имя: Локи-графана
порт:
номер: 80

Эта конфигурация Ingress устанавливает маршрутизацию для Grafana, Prometheus и Loki под доменным именем {your-domain.com}. Вам нужно будет заменить your-domain.com своим фактическим доменом и настроить DNS так, чтобы он указывал на внешний IP-адрес вашего кластера.

2. Примените входящий ресурс:

kubectl apply -f мониторинг-ingress.yml

После применения контроллер Ingress будет маршрутизировать трафик к соответствующим службам на основе имени хоста.

  1. Проверьте настройку Ingress: проверьте состояние вашего ресурса Ingress, чтобы убедиться, что он настроен правильно:

kubectl get ingress -n мониторинг

Убедитесь, что в столбце АДРЕС указан внешний IP-адрес, чтобы службы были доступны извне.

Шаг 5. Доступ к панели мониторинга

Как только Ingress будет правильно настроен и DNS укажет на ваш кластер, вы сможете получить доступ к Grafana, Prometheus и Loki.

Заключение

С помощью всего лишь нескольких команд вы успешно развернули полный стек мониторинга с помощью Helm в своем кластере Kubernetes. Используя диаграммы Helm, вы упрощаете развертывание сложных приложений, таких как Grafana, Loki и Prometheus, а также интегрируете Ingress для облегчения доступа. Теперь у вас есть мощная настройка наблюдения, которая позволяет отслеживать журналы и показатели в режиме реального времени, помогая более эффективно управлять и оптимизировать ваши приложения Kubernetes.

Это развертывание на основе Helm обеспечивает масштабируемость и упрощает обновления или изменения конфигурации, упрощая управление наблюдаемостью в производственной среде.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/seewhy/deploying-a-monitoring-stack-with-kubernetes-helm-and-ingress-cp5?1. В случае нарушения прав обращайтесь по адресу [email protected]. удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3