Kubernetes Terminal Simulator
Practice Kubernetes commands in an interactive browser terminal. Learn kubectl contexts, nodes, Pods, Deployments, Services, rollouts, logs, exec, events, ConfigMaps, and cleanup workflows with a live cluster visualization.
Category: DevOps
Topics covered: kubernetes, kubectl, containers, terminal, pods, deployments, services, rollouts, devops, educational, interactive
// simulator
Kubernetes Terminal Simulator
Practice Kubernetes commands in an interactive browser terminal. Learn kubectl contexts, nodes, Pods, Deployments, Services, rollouts, logs, exec, events, ConfigMaps, and cleanup workflows with a live cluster visualization.
// kubectl lab
Kubernetes Terminal Simulator
Practice Kubernetes commands in a safe browser lab. Learn contexts, nodes, Pods, Deployments, Services, rollouts, logs, exec, events, ConfigMaps, and cleanup workflows.
3
Nodes
0
Pods
1
Services
Start by checking the kubectl client and cluster version.
Welcome to the Kubernetes terminal lab.
Type "help", run "ls", or follow the current task above.
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:1.27
ports:
- containerPort: 80apiVersion: v1
kind: Service
metadata:
name: web
spec:
type: ClusterIP
selector:
app: web
ports:
- port: 80
targetPort: 80control-plane-1
worker-1
worker-2
No application Deployment yet.
Expose a Deployment to create a stable Service endpoint.
Starting
Starting kubelet.
NodeReady
Node worker-2 status is now: NodeReady.
About this Kubernetes simulator
What you'll learn
- How kubectl targets a cluster through kubeconfig contexts
- The relationship between Nodes, Pods, Deployments, ReplicaSets, and Services
- How labels and selectors connect workloads to stable network endpoints
- How scaling and rolling updates change desired state
- How logs, describe, exec, and events help during debugging
- How ConfigMaps and cleanup workflows fit into daily operations
Key commands covered
- Cluster: kubectl version, config current-context, cluster-info, get nodes
- Workloads: create deployment, get pods, get deployments
- Networking: expose deployment, get svc, describe service
- Operations: scale, rollout status, set image, logs, describe, exec, events
Browser-safe by design
This lab does not connect to a real Kubernetes cluster. It models Kubernetes API objects in the browser so you can practice commands, see cause and effect, and build confidence before using kubectl against shared environments.
Why learn Kubernetes this way?
- Kubernetes can feel abstract until you see how controllers reconcile state.
- Most day-to-day debugging starts with a small set of repeatable kubectl commands.
- Understanding Pods, Deployments, Services, and Events makes production incidents less mysterious.
Overview
This Kubernetes simulator is a browser terminal for practicing kubectl against a small three-node cluster, without a real cluster or a cloud account. Six lessons follow the order in which you meet things on the job. Cluster basics checks the client version, the current context, the cluster endpoints and the nodes. Pods and deployments reads a deployment manifest and lists the deployment and the pods it created. Services and networking reads a service manifest, lists services and describes one to see how it selects pods. Scaling and rollouts checks a rollout status, changes the image with kubectl set image and reads the rollout history. Debugging workloads covers logs, describe, exec and cluster events, which is where most real troubleshooting happens. Config and cleanup lists ConfigMaps and deletes the service and the deployment. Every command is checked as you type it, and the output follows what kubectl prints, so the habits you build carry straight over to a real cluster.
Try this
- Start with "Cluster Basics" and run kubectl config current-context and kubectl get nodes.
- In "Scaling & Rollouts", change the image with kubectl set image and then read kubectl rollout history.
- Use "Debugging Workloads" to read logs, describe a pod and list events, the usual order when a pod misbehaves.
Frequently asked questions
- What is the difference between a Pod and a Deployment?
- A Pod is one or more containers scheduled together. A Deployment manages a set of identical Pods through a ReplicaSet, keeping the desired number running and handling rolling updates and rollbacks.
- How do I debug a Kubernetes pod that keeps restarting?
- Start with kubectl describe pod for events and the last state, then kubectl logs, adding --previous to see the logs of the crashed container, and kubectl get events for cluster-level causes such as scheduling or image pull errors.
- How do I roll back a Kubernetes deployment?
- Run kubectl rollout undo deployment/NAME to return to the previous revision, or add --to-revision with a number from kubectl rollout history.
Try next
// simulator
Preview Environment Simulator
See how a pull request becomes a temporary copy of your app, complete with a private URL, safe test data, review checks, and automatic cleanup.
// game
Heroku-Style Name Generator
Generate names the way Heroku, Docker, Kubernetes, and petname do, see how the word lists combine, and learn when the birthday problem makes random names collide.
// simulator
How Docker Works Under the Hood
Watch what really happens when you run docker run -p 8080:80 nginx, one layer at a time. Step down the whole stack: the CLI, the daemon, the registry pull, containerd, the OCI runtime bundle, runc, the running container, and the shared Linux kernel. Every stage shows the real low-level command you can run yourself, so it doubles as a tour of the primitives that make a container: namespaces, cgroups, and runc. A container is not a small VM, and this shows you why.