This project sets up a Kubernetes cluster designed to distribute Folding@Home workloads. The cluster is composed of:
- 3 Raspberry Pis serving as control nodes (master nodes).
- 1 or more machines with blank hard drives serving as worker nodes.
Each node will run containers preconfigured with the Folding@Home application, allowing distributed computing tasks to help with protein folding simulations for scientific research.
- Hardware:
- 3 Raspberry Pi devices (Raspberry Pi 4 recommended)
- 1 or more machines with blank hard drives
- Software:
- K8s installed on Raspberry Pis (for lightweight Kubernetes distribution).
- kubectl installed on the control and worker nodes for management and debugging.
- Folding@Home Docker container image (
foldingathome/fahclient
).
- Control Nodes: The Raspberry Pis handle the Kubernetes control plane tasks, managing the cluster's state, scheduling, and configuration.
- Worker Nodes: The machines are configured as worker nodes, running the Folding@Home containers and executing distributed computing tasks.
- Monitoring: Use
kubectl get nodes
andkubectl get pods
to monitor node and pod health. - Scaling: Adjust the number of replicas in the
fah-deployment.yaml
file to scale workloads. - Logging: Access logs using
kubectl logs <pod-name>
to troubleshoot or monitor Folding@Home tasks.
This configuration sets up the cluster to run Folding@Home workloads continuously. Ensure the worker nodes remain connected to the network and Docker Desktop remains active on each Worker Node
Please reach out with questions or suggestions for improvement. Contributions are welcome!