Files

201 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (измени!)