Disclaimer: This project is currently in active development.
PowerStack is a Kubernetes-based infrastructure automation project designed for energy-efficient cloud computing. The system deploys a lightweight Kubernetes cluster using Ansible, with integrated monitoring and benchmarking tools to analyze energy consumption at the node and container level. PowerStack is primarily used for research on energy-efficient cloud systems and infrastructure optimization.
- Automated Kubernetes Cluster Deployment:
- Lightweight K3s Kubernetes cluster
- Rancher for cluster management
- NFS-based Persistent Volumes (PV) for storage
- Energy Efficiency Monitoring:
- Tycho for real-time power consumption metrics
- Prometheus for data collection
- Grafana for visualization
- Benchmarking and Stress Testing:
- Automated CPU, Memory, Disk, and Network I/O stress tests
- Data collection and visualization for energy analysis
- Infrastructure as Code:
- Fully automated Ansible playbooks for repeatable cluster setup
- Secure Ansible Vault integration for sensitive data management
⚠ DISCLAIMER: This process will reformat several disks and may result in data loss. Proceed with caution.
- Clone the repository, including submodules:
git clone --recurse-submodules https://github.com/your-repo/PowerStack.git
- Update the Ansible inventory file at
configs/inventory.ymlto match your infrastructure. - Copy the vault template:
cp configs/vault-template.yml configs/vault.yml
- Modify the necessary tokens and credentials.
- Encrypt the vault:
ansible-vault encrypt configs/vault.yml
- Run the deployment script:
./scripts/deploy_all.sh
Disclaimer: While all passwords and credentials are encrypted, this repository should not be considered a high-security environment.
Disclaimer: The most detailed documentation of this project is the accompanying University thesis. All other documentation in the form of ReadMe files is kept short.
- The primary documentation for this is done as part of a university thesis. The most up-to-date version is here: Powerstack: Implementation of an energy monitoring environmnet in Kubernetes
- An short installation guide is provided here:
- Installation Guide
- Architecture and Design
Disclaimer: This project includes third-party software with their respective licenses. Users must ensure compliance with these licenses. The final licensing structure of PowerStack will be clarified once development stabilizes.