This is a proactive custom Horizontal Pod Autoscaling (HPA) system for Kubernetes which forecasts the upcoming workload by analyzing the historical data of the target resource metrics using a deep learning technique called Temporal Convolutional Network (TCN), and proactively scale the number of pod replicas to handle the upcoming workload.
- Python - Version 3.7+
- Darts - a Python library for easy manipulation and forecasting of time series.
- Kubernetes Python Client - Python client for the kubernetes API.
- Prometheus API Client - A Python wrapper for the Prometheus HTTP API.
- Google Cloud Monitoring API - Manages your Cloud Monitoring data and configurations
- Google Cloud Logging - Writes log entries and manages your Cloud Logging configuration
- Pandas - Open source data analysis and manipulation tool
- HAProxy Docker Image - The Reliable, High Performance TCP/HTTP Load Balancer
- HAProxy Exporter Docker Image - A simple server that periodically scrapes HAProxy stats and exports them via HTTP/JSON
- Prometheus Docker Image - A systems and service monitoring system