etcd store Playground
A distributed, reliable key-value store for the most critical data of a distributed system.

This environment is set up for learning how to work with etcd — a distributed, reliable key-value store for the most critical data of a distributed system, used by Kubernetes and many other cloud-native applications.
💡 This is a single-node playground for etcd. To explore clustering capabilities, try the multi-node playground.
🔧 System Components
etcd: The distributed key-value store daemon.
🛠️ Tools
etcdctl: The official command-line client for etcd.etcdutl: Utility for etcd database operations and maintenance.
🎯 Getting Started
Basic Operations
# Check etcd status
etcdctl version
etcdctl endpoint health
# Put and get values
etcdctl put mykey "Hello World"
etcdctl get mykey
# List all keys
etcdctl get --prefix ""
Working with Prefixes
# Put multiple keys with a common prefix
etcdctl put /app/config/db-host "localhost"
etcdctl put /app/config/db-port "5432"
# Get all keys with prefix
etcdctl get --prefix /app/config/
Watch for Changes
# Watch a specific key
etcdctl watch mykey
# Watch all keys with prefix
etcdctl watch --prefix /app/
⚙️ Configuration
There are multiple ways to configure etcd.
Hint
Make sure to always restart the service after making changes:
sudo systemctl restart etcd
Environment Variables
Configure environment variables in /etc/default/etcd:
sudoedit /etc/default/etcd
Configuration File
Uncomment the following line in /etc/default/etcd:
ETCD_CONFIG_FILE=/etc/etcd/config.yaml
Then edit the configuration file:
sudoedit /etc/etcd/config.yaml
Service Configuration
Use systemd override for advanced configuration:
sudo systemctl edit etcd
Example override configuration:
[Service]
ExecStart=
ExecStart=/usr/bin/etcd --data-dir=/var/lib/etcd --listen-client-urls=http://0.0.0.0:2379
The empty ExecStart= is important, otherwise systemd will attempt to run two instances of etcd.
After editing, reload and restart the service:
sudo systemctl daemon-reload
sudo systemctl restart etcd
📚 Learn More
- etcd documentation
- etcdctl reference:
etcdctl --help
🧩 Related Content
🧪 Playgrounds
Happy learning! 🚀
A real VM, not a container
Get root on a VM with its own kernel, so Docker, Kubernetes, and systemd just work.
Read the docs →
SSH from browser or CLI
Use the built-in web terminal, or connect with labctl ssh, plain ssh, scp, or rsync.
Read the docs →
Drive it with AI
Let Claude, Codex, or any MCP client start this playground and run commands in it.
Read the docs →
Expose HTTP(S) ports
Give any web app running inside the VM a public URL - for yourself or to share with others.
Read the docs →
Share terminals
Invite others into your terminal session, or open it yourself from another device.
Read the docs →
Customize with init scripts
Add shell scripts that run at boot to install packages, clone repos, or seed test data.
Read the docs →
Private networking
VMs reach the internet via NAT with no public IP; several VMs share bridge networks.
Read the docs →
Ephemeral or persistent
By default, VMs are destroyed when the session ends; enable persistence to keep the disks for next time.
Read the docs →
Built-in container registry
A private registry.iximiuz.com for every playground to share images across services and VMs.
Read the docs →