Upload files to "loki-ingress-argocd-setup"

This commit is contained in:
2026-01-06 07:38:04 +00:00
parent b9b481e442
commit 6b4d7c5fd8
3 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1,200 @@
# 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 (измени!)