Blog
🐣 Crawl: Deploying Kubernetes on DigitalOcean
Starting the Crawl-Walk-Run lab series by launching a managed Kubernetes cluster on DigitalOcean.
As a Solutions Architect working with complex network automation platforms, I’ve always loved pushing the edge of what’s possible. But this series isn’t about enterprise polish or vendor demos — it’s about getting my hands dirty, testing real-world concepts, and sharing every step (and misstep) along the way.
In this first post, we’ll start at the “Crawl” stage: launching a managed Kubernetes cluster on DigitalOcean as the foundation for our lab. No custom controllers, no CNI tricks — just raw infrastructure and curiosity.
Let’s build this from the ground up. 🐣
🚀 Why DigitalOcean?
- ✅ Managed K8s: Control plane is handled for you.
- 💸 Affordable: Great for labs and hobby projects.
- 🔗 GitHub Integration: Plays well with CI/CD.
- 🧠 Simple UX: Clean dashboard, intuitive workflow.
🛠️ Step-by-Step Deployment
1. Create Your Cluster
- Log in to your DigitalOcean dashboard
- Navigate to Kubernetes > Create Cluster
- Choose:
- Latest stable version
- Node pool (3x nodes, e.g., 2 vCPUs + 4GB RAM)
- Region (I used NYC3)
- Enable auto-upgrades (optional but recommended)
2. Install and Configure doctl
[!NOTE] Brew is mac native, please refer to DigitalOcean’s doctl installation for other platforms.
brew install doctl
Authenticate your DigitalOcean account
doctl auth init
3. Get Your Kubeconfig
[!NOTE] For
kubectlinstallation, please refer to the official kubernetes docs
To authenticate kubectl with your new cluster, run:
doctl kubernetes cluster kubeconfig save <your-cluster-name>
4. Verify Access to the Cluster
Now test your connection to the cluster:
kubectl get nodes
Here is an example from my lab.
> kubectl get nodes
NAME STATUS ROLES AGE VERSION
pool-42jzkx9cx-6s71k Ready <none> 3m34s v1.32.2
[!NOTE] 💡 Pro tip: Use
kubectl config get-contextsto see your active cluster.
🧠 What I Learned in the Crawl Phase
- Kubeconfig access is step zero for everything that follows.
- Managed K8s saves time — don’t overcomplicate the start.
- doctl makes cluster management smooth and scriptable.
This is your launchpad — don’t stress about perfection yet.
Next up: Walk — turning this blank canvas into a network topology playground with Containerlab running natively in Kubernetes. Stay tuned 👣