# Loki Ingress Setup для ArgoCD - Файлы ## 📋 Основные документы ### 1. **ARGOCD_LOKI_INGRESS_SETUP.md** Полная пошаговая инструкция по настройке Loki Ingress через ArgoCD GitOps. Включает: - Подготовку Git репозитория - Создание всех необходимых файлов - DNS настройку - Troubleshooting - Интеграцию с Grafana **Начни с этого файла!** ### 2. **CHEATSHEET.md** Краткая шпаргалка с: - Быстрыми командами - Командами для проверки - Troubleshooting - Полезными LogQL запросами --- ## 📦 YAML манифесты для ArgoCD ### Для директории `apps/loki/`: 1. **secret-basic-auth.yaml** - Basic Auth credentials для защиты Loki - Username: `admin`, Password: `lokipass123` - Можно изменить через `htpasswd` 2. **middleware-auth.yaml** - Traefik Middleware для применения Basic Auth - Ссылается на secret-basic-auth 3. **ingress-loki.yaml** - Ingress для доступа к Loki - HTTPS с Let's Encrypt - Домен: `loki.thedevops.dev` ### Для директории `apps/monitoring/`: 4. **grafana-datasource-loki.yaml** - ConfigMap для автоматического добавления Loki в Grafana - Два datasource: внутренний и внешний --- ## 🚀 Автоматизация ### **deploy-loki-ingress.sh** Скрипт для автоматического развертывания: - Копирует файлы в правильные директории - Делает git commit и push - Запускает ArgoCD sync - Проверяет статус развертывания **Использование:** ```bash chmod +x deploy-loki-ingress.sh ./deploy-loki-ingress.sh ``` --- ## 📁 Альтернативные варианты ### **loki-nodeport.yaml** NodePort Service для быстрого доступа без DNS/Ingress. Доступ по: `http://your-ip:31000` ### **loki-ingress.yaml** Альтернативная версия Ingress (универсальная). --- ## 🎯 Быстрый старт ### Вариант 1: Автоматический (рекомендуется) ```bash # 1. Скопируй все файлы на сервер # 2. Клонируй git репозиторий git clone http://gitea-http.gitea.svc.cluster.local:3000/admin/k3s-gitops.git cd k3s-gitops # 3. Запусти скрипт ./deploy-loki-ingress.sh ``` ### Вариант 2: Ручной ```bash # 1. Клонируй репозиторий git clone http://gitea-http.gitea.svc.cluster.local:3000/admin/k3s-gitops.git cd k3s-gitops # 2. Скопируй файлы cp secret-basic-auth.yaml apps/loki/ cp middleware-auth.yaml apps/loki/ cp ingress-loki.yaml apps/loki/ # 3. Git операции git add apps/loki/*.yaml git commit -m "feat(loki): Add Ingress with HTTPS and Basic Auth" git push origin main # 4. Синхронизация argocd app sync loki ``` --- ## ✅ Проверка После развертывания проверь: ```bash # 1. Ingress создан kubectl get ingress loki -n loki # 2. Сертификат создан kubectl get certificate loki-tls -n loki # 3. Доступность curl -u admin:lokipass123 https://loki.thedevops.dev/ready ``` --- ## 🔐 Безопасность **ВАЖНО:** Измени пароль по умолчанию! ```bash # Создай новый пароль htpasswd -nb admin your-secure-password # Обнови secret-basic-auth.yaml # Замени строку в stringData.users ``` --- ## 📚 Дополнительные ресурсы - [Loki Documentation](https://grafana.com/docs/loki/latest/) - [ArgoCD Documentation](https://argo-cd.readthedocs.io/) - [Traefik Middleware](https://doc.traefik.io/traefik/middlewares/overview/) --- ## 🆘 Помощь Если возникли проблемы: 1. Читай раздел Troubleshooting в `ARGOCD_LOKI_INGRESS_SETUP.md` 2. Проверь `CHEATSHEET.md` для быстрых команд 3. Проверь логи: ```bash kubectl logs -n loki loki-0 kubectl logs -n cert-manager deployment/cert-manager kubectl get events -n loki --sort-by='.lastTimestamp' ``` --- ## 📂 Структура после развертывания ``` k3s-gitops/ └── apps/ └── loki/ ├── secret-basic-auth.yaml ← Новый ├── middleware-auth.yaml ← Новый ├── ingress-loki.yaml ← Новый ├── namespace.yaml ├── configmap-loki.yaml ├── configmap-promtail.yaml ├── service.yaml ├── statefulset.yaml └── ... ``` --- ## 🎉 Результат После успешного развертывания: - ✅ Loki доступен по https://loki.thedevops.dev - ✅ HTTPS с Let's Encrypt сертификатом - ✅ Basic Authentication защита - ✅ Готов к использованию в Grafana - ✅ ArgoCD управляет всей конфигурацией **Логин:** admin **Пароль:** lokipass123 (измени!)