Files

5.3 KiB
Raw Permalink Blame History

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/:

  1. 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

📚 Дополнительные ресурсы


🆘 Помощь

Если возникли проблемы:

  1. Читай раздел Troubleshooting в ARGOCD_LOKI_INGRESS_SETUP.md
  2. Проверь CHEATSHEET.md для быстрых команд
  3. Проверь логи:
    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 (измени!)