Files
k3s-gitops/apps/demo-nginx/docs/README.md

6.4 KiB
Raw Blame History

Demo Nginx Documentation

Документация для demo-nginx deployment с автоматическим и ручным rollback.


📚 Available Documentation

ROLLBACK_MANUAL.md

Comprehensive Manual Rollback Guide

Полная документация по функции ручного rollback:

  • 3 способа rollback (IMAGE_TAG, REVISION, GIT_COMMIT)
  • Setup guide
  • Troubleshooting со всеми fixes
  • Best practices
  • Examples
  • FAQ

When to use: Нужна детальная информация или troubleshooting


ROLLBACK_QUICK_REF.md

Quick Reference Card

Краткая справка для быстрого использования:

  • Quick start (2 минуты)
  • 3 способа rollback
  • Emergency procedure
  • Verification commands
  • Checklist

When to use: Быстрый rollback в production


Rollback Feature


🚀 Quick Start

Manual Rollback (2 minutes)

1. Jenkins → demo-nginx-rollback
2. IMAGE_TAG + main-21
3. SKIP_HEALTH_CHECK: true
4. Build

See ROLLBACK_QUICK_REF.md for details.


Emergency Rollback (30 seconds)

kubectl rollout undo deployment/demo-nginx -n demo-app

📊 Features Summary

Manual Rollback

3 rollback methods (IMAGE_TAG, REVISION, GIT_COMMIT)
GitOps sync (auto-commit to Git)
Zero downtime (rolling updates)
DRY_RUN mode (safe testing)
Full RBAC permissions
Input validation (auto-trim)
Retry logic (5 attempts)
⚠️ Health check optional (use SKIP_HEALTH_CHECK=true)

Automatic Rollback

Triggered on deployment failure
Saves previous state
Kubernetes rollback
Git revert
Health checks
Timeout protection


🐛 All Fixes Applied

# Issue Fix Status Doc
1 Container name Use nginx Link
2 Whitespace Auto-trim Link
3 RBAC pods/exec perm Link
4 Health timing SKIP option ⚠️ Link
5 Bash loop Explicit list Link

For New Users:

  1. Start → ROLLBACK_QUICK_REF.md
  2. Practice → Follow quick start
  3. Deep Dive → ROLLBACK_MANUAL.md

For Troubleshooting:

  1. Check → ROLLBACK_MANUAL.md - Troubleshooting
  2. Verify → ROLLBACK_QUICK_REF.md - Verification
  3. Support → ROLLBACK_MANUAL.md - Support

For Emergency:

  1. Fast → ROLLBACK_QUICK_REF.md - Emergency
  2. Alternative → ROLLBACK_MANUAL.md - Emergency

🎓 Key Concepts

Rollback Methods Comparison

Method Speed Precision Use Case
IMAGE_TAG 🎯 High Known build number
REVISION 🎯 Medium Recent rollback
GIT_COMMIT 🎯🎯 High Exact code state

When to Use What

Use IMAGE_TAG when:

  • You know the build number (main-21)
  • Quick rollback needed
  • Most common scenario

Use REVISION_NUMBER when:

  • Need to go back N versions
  • Don't remember exact tag
  • Working with kubectl history

Use GIT_COMMIT when:

  • Need exact code state
  • Multiple changes in one build
  • Precise rollback required

📈 Monitoring

Check Rollback Status

# Deployment status
kubectl get deployment demo-nginx -n demo-app

# Pod status
kubectl get pods -n demo-app -l app=demo-nginx

# Rollout history
kubectl rollout history deployment/demo-nginx -n demo-app

# ArgoCD status
kubectl get application demo-nginx -n argocd

Grafana Queries

# Rollback count
sum(increase(deployment_rollback_total[1h])) by (deployment)

# Rollback rate
rate(deployment_rollback_total[5m])

FAQ

Q: Какой метод rollback использовать?

A: Для большинства случаев используй IMAGE_TAG - самый быстрый и простой.

Q: Health check всегда падает, это баг?

A: Нет, это timing issue во время rolling update. Используй SKIP_HEALTH_CHECK: true и проверь вручную через минуту.

Q: Как быстро откатиться в emergency?

A: Используй kubectl rollout undo (30 секунд) или Jenkins с SKIP_HEALTH_CHECK (2 минуты).

Q: Где полная документация?

A: ROLLBACK_MANUAL.md - comprehensive guide со всеми details.


🆘 Support

Need Help?

  1. Check ROLLBACK_MANUAL.md - Troubleshooting
  2. Review ROLLBACK_MANUAL.md - FAQ
  3. Check Jenkins console output
  4. Verify RBAC permissions
  5. Review pod status and logs

Still stuck?

  • Jenkins logs: Jenkins → Build → Console Output
  • K8s events: kubectl get events -n demo-app
  • Pod logs: kubectl logs -n demo-app -l app=demo-nginx

📝 Documentation Updates

Last Updated: 2026-01-06
Version: 1.0
Status: Production Ready

Recent Changes:

  • Added comprehensive manual rollback guide
  • Added quick reference card
  • Documented all 5 fixes
  • Added examples and best practices
  • Production-ready feature

Ready to rollback? Start with Quick Reference! 🚀