Back to Blog
Announcements

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.

Paul BrissaudPaul Brissaud
•
January 29, 2026
•
3 min read
#beginner

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 :

bash
npm install -g @kubeasy-dev/kubeasy-cli 

Step 2: Authenticate

Create an API token from your profile on the Kubeasy website. Then authenticate locally:

bash
kubeasy login

Follow 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:

bash
kubeasy setup

This command will:

  1. Create a Kind cluster
  2. Install ArgoCD for declarative deployment of challenge manifests
  3. Install Kyverno for policy enforcement
  4. 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.

bash
kubeasy challenge start first-deployment

This 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:

bash
kubectl get pods
kubectl logs <pod-name>
kubectl describe pod <pod-name>
kubectl get events

You 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.25 image
  • Ensure at least 1 replica is running

Here's a hint to get you started:

bash
kubectl create deployment web-server --image=nginx:1.25

Verify your deployment:

bash
kubectl get pods

Wait until the pod shows Running and 1/1 READY.

Step 6: Submit Your Solution

Once you've completed the challenge, submit your solution:

bash
kubeasy challenge submit first-deployment

The 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

bash
# 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 --active

What's Next?

Congratulations! You've completed your first Kubeasy challenge. Here's some challenges you can try next :

ChallengeThemeDifficultyWhat You'll Learn
Expose InternallyServicesEasyCreate a ClusterIP Service
Environment ConfigConfigMapsEasyInject configuration via ConfigMaps
Pod EvictedResourcesEasyDebug OOMKilled pods
Wrong SelectorServicesEasyFix 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.

Written by

Paul Brissaud

Paul Brissaud

Paul Brissaud is a DevOps / Platform Engineer and the creator of Kubeasy. He believes Kubernetes education is often too theoretical and that real understanding comes from hands-on, failure-driven learning.

TwitterGitHub

On this page

  • What is Kubeasy?
  • Prerequisites
  • Step 1: Install the Kubeasy CLI
  • Step 2: Authenticate
  • Step 3: Set Up Your Local Environment
  • Step 4: Start Your First Challenge
  • Step 5: Investigate and Solve
  • Step 6: Submit Your Solution
  • Other Useful Commands
  • What's Next?
  • Troubleshooting
  • Start Learning Kubernetes the Right Way
KubeasyKubeasy

Master Kubernetes through hands-on challenges and real-world scenarios. Free, open-source learning platform for developers.

Product

  • Challenges
  • Documentation
  • CLI Tool

Community

  • GitHub
  • Discord
  • Contribute

Legal

  • Privacy
  • Terms
  • License

© 2025 Kubeasy. Open source under Apache License 2.0.

Related Articles

How to Create a Kubeasy Challenge with Dev Mode
Announcements

How to Create a Kubeasy Challenge with Dev Mode

Read more
Making Kubernetes Less Mysterious
Announcements

Making Kubernetes Less Mysterious

Read more
Logo
Concepts

Kubernetes Services Explained: ClusterIP vs NodePort vs LoadBalancer

Read more
KubeasyKubeasyKubeasy
  • Challenges
  • Blog
  • Documentation
Sign InTry Demo