Okteto — Kubernetes Development Environments
A development platform that lets you code, build, and test directly against a remote Kubernetes cluster with instant hot-reload, eliminating the need for local Docker or Minikube setups.
What it is
Okteto is a development platform that lets you code locally while your application runs on a real Kubernetes cluster. Instead of maintaining Docker Compose stacks or local Kubernetes setups that drift from production, Okteto synchronizes your local file changes to a remote pod with sub-second latency and hot-reloads your application automatically.
It targets backend and full-stack developers who deploy to Kubernetes in production but find the local development loop slow and unreliable. Platform engineering teams use Okteto to give developers self-service development environments that mirror production.
How it saves time or tokens
Local Kubernetes development setups (Minikube, Kind, Docker Desktop) consume significant CPU and RAM, and their configurations inevitably diverge from production clusters. Okteto eliminates this drift by running your code on the actual target cluster. The okteto up command replaces your running pod with a development container that syncs files from your local editor, meaning you get the same networking, service discovery, and configuration as production.
This cuts the inner dev loop from minutes (build container, push, deploy) to seconds (save file, see change).
How to use
- Install the Okteto CLI:
brew install okteto
- Connect to your cluster:
okteto context use https://your-cluster.okteto.com
- Start a development session in your project directory:
okteto up
Your local code now syncs and hot-reloads on the cluster. Edit files in your editor and see changes reflected in the remote pod instantly.
Example
An okteto.yml manifest for a Node.js service:
dev:
api:
image: node:20
command: npm start
sync:
- .:/app
forward:
- 3000:3000
environment:
- NODE_ENV=development
This tells Okteto to sync the current directory to /app in the container, forward port 3000, and run npm start with development environment variables.
Related on TokRepo
- DevOps Tools -- Infrastructure and deployment tools for Kubernetes workflows
- Automation Tools -- CI/CD pipelines that complement Okteto dev environments
Common pitfalls
- File sync can miss changes if your project has a large
node_modulesor build directory. Use theignorefield inokteto.ymlto exclude these directories from synchronization. - Network policies on the cluster may block Okteto's syncthing port. Ensure port 22100 is accessible between your machine and the cluster.
- Resource limits on the cluster namespace can prevent the dev container from starting. Check your namespace quotas if
okteto uphangs.
Frequently Asked Questions
No. You continue using your local editor (VS Code, JetBrains, etc.) as normal. Okteto syncs your local file changes to the remote Kubernetes pod in real time. Your development experience stays local while execution happens on the cluster.
Yes. Okteto works with any Kubernetes cluster -- managed services like EKS, GKE, AKS, or self-hosted clusters. You can also use Okteto Cloud, their hosted platform, for a zero-setup experience.
Okteto uses Syncthing under the hood and achieves sub-second file synchronization for typical source file changes. Large binary files or build artifacts are slower and should be excluded via the ignore list.
Yes. You can define multiple dev entries in your okteto.yml, one per service. Each service gets its own sync configuration, port forwards, and resource settings.
Both tools enable remote Kubernetes development. Telepresence intercepts traffic to a specific service and routes it to your local machine. Okteto replaces the pod entirely with a dev container that syncs your code. Okteto provides a more integrated experience with its own CLI and manifest format.
Citations (3)
- Okteto GitHub— Okteto provides sub-second file synchronization to remote Kubernetes clusters
- Okteto Documentation— Okteto uses Syncthing for file synchronization
- Dev Containers Spec— Development containers specification for reproducible environments
Related on TokRepo
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.