Skip to content

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:

  1. Warning notification
  2. Namespace resource restrictions
  3. Namespace deletion
  4. Course penalties

When in doubt, ask your instructor.