5.3 KiB
5.3 KiB
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/:
-
secret-basic-auth.yaml
- Basic Auth credentials для защиты Loki
- Username:
admin, Password:lokipass123 - Можно изменить через
htpasswd
-
middleware-auth.yaml
- Traefik Middleware для применения Basic Auth
- Ссылается на secret-basic-auth
-
ingress-loki.yaml
- Ingress для доступа к Loki
- HTTPS с Let's Encrypt
- Домен:
loki.thedevops.dev
Для директории apps/monitoring/:
- grafana-datasource-loki.yaml
- ConfigMap для автоматического добавления Loki в Grafana
- Два datasource: внутренний и внешний
🚀 Автоматизация
deploy-loki-ingress.sh
Скрипт для автоматического развертывания:
- Копирует файлы в правильные директории
- Делает git commit и push
- Запускает ArgoCD sync
- Проверяет статус развертывания
Использование:
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: Автоматический (рекомендуется)
# 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: Ручной
# 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
✅ Проверка
После развертывания проверь:
# 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
🔐 Безопасность
ВАЖНО: Измени пароль по умолчанию!
# Создай новый пароль
htpasswd -nb admin your-secure-password
# Обнови secret-basic-auth.yaml
# Замени строку в stringData.users
📚 Дополнительные ресурсы
🆘 Помощь
Если возникли проблемы:
- Читай раздел Troubleshooting в
ARGOCD_LOKI_INGRESS_SETUP.md - Проверь
CHEATSHEET.mdдля быстрых команд - Проверь логи:
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 (измени!)