223 lines
6.2 KiB
Markdown
223 lines
6.2 KiB
Markdown
# 📚 Loki Ingress для ArgoCD - Полная Документация
|
||
|
||
Добро пожаловать в комплект документации для развертывания Loki Ingress через ArgoCD GitOps!
|
||
|
||
---
|
||
|
||
## 🎯 Что это?
|
||
|
||
Полное решение для открытия Loki снаружи кластера через:
|
||
- ✅ HTTPS с Let's Encrypt сертификатами
|
||
- ✅ Basic Authentication для защиты
|
||
- ✅ Traefik Ingress Controller
|
||
- ✅ ArgoCD GitOps автоматизация
|
||
- ✅ Интеграция с Grafana
|
||
|
||
**Результат:** Доступ к Loki по адресу `https://loki.thedevops.dev`
|
||
|
||
---
|
||
|
||
## 📖 Документация
|
||
|
||
### Для новичков - начни здесь:
|
||
|
||
1. **[README.md](README.md)** - Обзор всех файлов и быстрый старт
|
||
2. **[CHEATSHEET.md](CHEATSHEET.md)** - Шпаргалка с командами
|
||
3. **[ARCHITECTURE.md](ARCHITECTURE.md)** - Схемы и диаграммы
|
||
|
||
### Детальная инструкция:
|
||
|
||
4. **[ARGOCD_LOKI_INGRESS_SETUP.md](ARGOCD_LOKI_INGRESS_SETUP.md)** - Полное руководство
|
||
- 12 шагов от A до Z
|
||
- Troubleshooting
|
||
- Интеграция с Grafana
|
||
- Best practices
|
||
|
||
---
|
||
|
||
## 📦 Файлы для развертывания
|
||
|
||
### Для `apps/loki/`:
|
||
- `secret-basic-auth.yaml` - Basic Auth credentials
|
||
- `middleware-auth.yaml` - Traefik middleware
|
||
- `ingress-loki.yaml` - Ingress с HTTPS
|
||
|
||
### Для `apps/monitoring/`:
|
||
- `grafana-datasource-loki.yaml` - Grafana datasource
|
||
|
||
### Автоматизация:
|
||
- `deploy-loki-ingress.sh` - Скрипт автоматического развертывания
|
||
|
||
---
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
### Автоматический способ (рекомендуется):
|
||
|
||
```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. Запусти скрипт
|
||
chmod +x deploy-loki-ingress.sh
|
||
./deploy-loki-ingress.sh
|
||
```
|
||
|
||
### Ручной способ:
|
||
|
||
См. [README.md](README.md) или [ARGOCD_LOKI_INGRESS_SETUP.md](ARGOCD_LOKI_INGRESS_SETUP.md)
|
||
|
||
---
|
||
|
||
## 📊 Визуализация
|
||
|
||
Смотри [ARCHITECTURE.md](ARCHITECTURE.md) для:
|
||
- Схемы архитектуры
|
||
- Data flow диаграммы
|
||
- Access flow
|
||
- GitOps flow
|
||
- Network topology
|
||
|
||
---
|
||
|
||
## ✅ Проверка после установки
|
||
|
||
```bash
|
||
# 1. Проверь статус
|
||
kubectl get ingress,certificate,secret -n loki
|
||
|
||
# 2. Тестовый запрос
|
||
curl -u admin:lokipass123 https://loki.thedevops.dev/ready
|
||
|
||
# 3. Открой в браузере
|
||
# https://loki.thedevops.dev
|
||
# Username: admin
|
||
# Password: lokipass123
|
||
```
|
||
|
||
---
|
||
|
||
## 🔐 Важная информация по безопасности
|
||
|
||
**⚠️ ОБЯЗАТЕЛЬНО измени пароль по умолчанию!**
|
||
|
||
```bash
|
||
# Генерация нового пароля
|
||
htpasswd -nb admin your-secure-password
|
||
|
||
# Обнови secret-basic-auth.yaml
|
||
# Замени строку в stringData.users
|
||
```
|
||
|
||
---
|
||
|
||
## 🆘 Нужна помощь?
|
||
|
||
1. **Быстрые команды:** [CHEATSHEET.md](CHEATSHEET.md)
|
||
2. **Troubleshooting:** [ARGOCD_LOKI_INGRESS_SETUP.md](ARGOCD_LOKI_INGRESS_SETUP.md) → Раздел "Troubleshooting"
|
||
3. **Логи:**
|
||
```bash
|
||
kubectl logs -n loki loki-0
|
||
kubectl logs -n cert-manager deployment/cert-manager
|
||
kubectl get events -n loki --sort-by='.lastTimestamp'
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 Чек-лист развертывания
|
||
|
||
- [ ] Клонирован git репозиторий
|
||
- [ ] Файлы скопированы в `apps/loki/`
|
||
- [ ] Git commit и push выполнены
|
||
- [ ] ArgoCD синхронизирован
|
||
- [ ] DNS настроен для `loki.thedevops.dev`
|
||
- [ ] Ingress получил IP адрес
|
||
- [ ] Certificate создан (Ready: True)
|
||
- [ ] Доступность проверена через curl
|
||
- [ ] Доступность проверена через браузер
|
||
- [ ] Пароль по умолчанию изменен
|
||
- [ ] Loki добавлен как datasource в Grafana
|
||
- [ ] Логи видны в Grafana Explore
|
||
|
||
---
|
||
|
||
## 🎓 Дополнительные ресурсы
|
||
|
||
### Официальная документация:
|
||
- [Grafana Loki](https://grafana.com/docs/loki/latest/)
|
||
- [ArgoCD](https://argo-cd.readthedocs.io/)
|
||
- [Traefik](https://doc.traefik.io/traefik/)
|
||
- [Cert-Manager](https://cert-manager.io/docs/)
|
||
|
||
### Твоя инфраструктура:
|
||
- ArgoCD: `https://argocd.thedevops.dev`
|
||
- Grafana: `https://grafana.thedevops.dev`
|
||
- Gitea: `http://gitea-http.gitea.svc.cluster.local:3000`
|
||
|
||
---
|
||
|
||
## 📈 Следующие шаги
|
||
|
||
После успешного развертывания:
|
||
|
||
1. ✅ Интеграция с Grafana
|
||
2. 🔲 Настройка alerting rules
|
||
3. 🔲 Создание dashboards
|
||
4. 🔲 Настройка retention policies
|
||
5. 🔲 Добавление Network Policies
|
||
6. 🔲 Интеграция с Tempo (tracing)
|
||
7. 🔲 Backup configuration
|
||
|
||
---
|
||
|
||
## 💡 Полезные команды
|
||
|
||
См. [CHEATSHEET.md](CHEATSHEET.md) для полного списка команд.
|
||
|
||
**Самые частые:**
|
||
|
||
```bash
|
||
# Статус
|
||
kubectl get all,ingress,certificate -n loki
|
||
|
||
# Логи
|
||
kubectl logs -n loki loki-0 -f
|
||
|
||
# ArgoCD sync
|
||
argocd app sync loki
|
||
|
||
# Тест доступности
|
||
curl -u admin:lokipass123 https://loki.thedevops.dev/ready
|
||
```
|
||
|
||
---
|
||
|
||
## 🎉 Итог
|
||
|
||
После выполнения всех шагов у тебя будет:
|
||
|
||
- ✅ Безопасный HTTPS доступ к Loki
|
||
- ✅ Автоматическое управление через ArgoCD
|
||
- ✅ Интеграция с Grafana для просмотра логов
|
||
- ✅ Production-ready конфигурация
|
||
- ✅ Централизованное хранение логов кластера
|
||
|
||
**Credentials:**
|
||
- URL: `https://loki.thedevops.dev`
|
||
- Username: `admin`
|
||
- Password: `lokipass123` (измени!)
|
||
|
||
---
|
||
|
||
## 📞 Контакты и поддержка
|
||
|
||
Если остались вопросы - обращайся!
|
||
|
||
**Happy logging! 🚀📊**
|