Getting Started with Kubeasy: Your First Challenge
Step-by-step tutorial to install the Kubeasy CLI, set up your local cluster, and complete your first Kubernetes challenge in under 10 minutes.
Welcome to Kubeasy! In this guide, you'll go from zero to completing your first Kubernetes challenge in under 10 minutes. No prior Kubernetes experience required.
What is Kubeasy?
Kubeasy is an interactive platform designed to help developers master Kubernetes through practical, real-world problem-solving in isolated local environments. Rather than using browser-based simulations or multiple-choice quizzes, it provides actual Kubernetes scenarios that learners must diagnose and resolve using standard tools like kubectl.
Our philosophy is simple: learning by doing. You'll encounter realistic scenarios, make mistakes, debug issues, and build the muscle memory that makes Kubernetes intuitive.
Prerequisites
Before starting, make sure you have:
- Docker Desktop (or Docker Engine on Linux) running
- kubectl installed (installation guide)
- A terminal (macOS Terminal, Windows Terminal, or any Linux shell)
Step 1: Install the Kubeasy CLI
Download the CLI binary from npm :
npm install -g @kubeasy-dev/kubeasy-cli Step 2: Authenticate
Create an API token from your profile on the Kubeasy website. Then authenticate locally:
kubeasy loginFollow the prompts to enter your token.
Step 3: Set Up Your Local Environment
Kubeasy uses Kind (Kubernetes IN Docker) to create a lightweight local cluster. Initialize your learning environment with:
kubeasy setupThis command will:
- Create a Kind cluster
- Install ArgoCD for declarative deployment of challenge manifests
- Install Kyverno for policy enforcement
- Configure your kubectl context
This is typically a one-time operation per machine. The cluster spins up in approximately 30 seconds.
Step 4: Start Your First Challenge
Now for the fun part! Let's start with the First Deployment challenge—a beginner-friendly introduction to Kubernetes Deployments.
kubeasy challenge start first-deploymentThis command creates a dedicated namespace, applies the initial manifests through ArgoCD, and switches your kubectl context to that namespace. The challenge description explains the symptoms you'll observe.
Step 5: Investigate and Solve
Use standard Kubernetes tools to diagnose issues:
kubectl get pods
kubectl logs <pod-name>
kubectl describe pod <pod-name>
kubectl get eventsYou have full access to modify resources, edit deployments, create RBAC configurations, and apply fixes—exactly as you would in production.
Your objective for First Deployment:
- Create a Deployment named
web-server - Use the
nginx:1.25image - Ensure at least 1 replica is running
Here's a hint to get you started:
kubectl create deployment web-server --image=nginx:1.25Verify your deployment:
kubectl get podsWait until the pod shows Running and 1/1 READY.
Step 6: Submit Your Solution
Once you've completed the challenge, submit your solution:
kubeasy challenge submit first-deploymentThe CLI executes a series of checks defined in the challenge's configuration, including status conditions, log content searches, and more. Results upload to the platform for review.
If any validation fails, the CLI will tell you what's missing so you can fix it.
Other Useful Commands
# View challenge details
kubeasy challenge get <name>
# Restart from initial state
kubeasy challenge reset <name>
# Remove all challenge resources
kubeasy challenge clean <name>
# List all available challenges
kubeasy challenge list
# List active challenges
kubeasy challenge list --activeWhat's Next?
Congratulations! You've completed your first Kubeasy challenge. Here's some challenges you can try next :
| Challenge | Theme | Difficulty | What You'll Learn |
|---|---|---|---|
| Expose Internally | Services | Easy | Create a ClusterIP Service |
| Environment Config | ConfigMaps | Easy | Inject configuration via ConfigMaps |
| Pod Evicted | Resources | Easy | Debug OOMKilled pods |
| Wrong Selector | Services | Easy | Fix Service-to-Pod routing |
Troubleshooting
Cluster won't start?
Make sure Docker is running and you have at least 4GB of available RAM.
Challenge stuck syncing?
Try kubeasy challenge reset <name> to restart from initial state.
Need help?
Join our Discord community or check the documentation.
Start Learning Kubernetes the Right Way
Kubeasy turns the complexity of Kubernetes into manageable, hands-on challenges. No more endless documentation—just practical skills you can apply immediately.
Ready for more challenges? Browse all challenges
Have feedback on this guide? Let us know on GitHub.

