Usage Guidelines
Resource Limits
Each pod is limited to:
| Resource | Limit |
|---|---|
| CPU | 100m (0.1 cores) |
| Memory | 128Mi |
| Storage | Shared (no persistent volumes) |
What does 100m mean?
CPU is measured in millicores. 100m = 0.1 CPU cores. This is enough for lightweight web applications.
Allowed Uses
- Deploy course projects
- Experiment with containers
- Learn software delivery concepts
- Build web applications
- Test microservices architectures
Prohibited Uses
Do NOT
- Cryptocurrency mining - Instant termination
- Excessive resource consumption - Affects other teams
- Storing sensitive data - No PII, passwords, or secrets in code
- Production workloads - This is an educational platform
- Network scanning - No security testing without authorization
Best Practices
Keep Images Small
Use Alpine-based images when possible:
# Good - ~50MB
FROM nginx:alpine
# Avoid - ~150MB
FROM nginx:latest
Don't Store Data in Containers
Containers are ephemeral. Any data stored inside will be lost on restart.
For persistence, consider:
- External databases (if provided)
- Object storage APIs
- Storing state in Git
Use Health Checks
Add health checks so Kubernetes knows your app is working:
HEALTHCHECK --interval=30s --timeout=3s \
CMD wget --spider http://localhost/ || exit 1
Violations
Violations of these guidelines may result in:
- Warning notification
- Namespace resource restrictions
- Namespace deletion
- Course penalties
When in doubt, ask your instructor.