Introduction
Okteto eliminates the gap between local development and production Kubernetes. Instead of maintaining Docker Compose stacks or local K8s clusters that drift from production, developers code locally while their application runs on a real cluster with file sync and hot reload.
What Okteto Does
- Swaps running pods with development containers that sync local file changes
- Provides sub-second file synchronization between local editor and remote cluster
- Supports hot reload for any language: Go, Python, Node.js, Java, and more
- Manages preview environments for pull requests automatically
- Offers a self-hosted platform or managed cloud for team development
Architecture Overview
Okteto uses a syncthing-based file sync daemon to mirror local directories into a development container running in the cluster. The CLI modifies the target deployment to inject a dev container with the sync agent, port forwarding, and the development toolchain. When the developer runs okteto down, the original deployment is restored.
Self-Hosting & Configuration
- Install the CLI on macOS, Linux, or Windows via Homebrew or direct binary
- Deploy Okteto Platform on any Kubernetes cluster via Helm chart for teams
- Define development environments in an
okteto.ymlmanifest per project - Configure file sync rules to exclude build artifacts and node_modules
- Set up GitHub or GitLab integrations for automatic preview environments on PRs
Key Features
- Sub-second file sync with intelligent change detection and filtering
- Works with any language or framework that supports hot reload or file watching
- Preview environments spin up full-stack deployments for every pull request
- Built-in port forwarding so local browsers and tools connect seamlessly
- Persistent volumes preserve build caches and dependencies across sessions
Comparison with Similar Tools
- Tilt — local K8s dev with rebuild triggers; Okteto syncs files without rebuild
- Skaffold — Google's build-push-deploy loop; Okteto avoids image rebuilds entirely
- DevSpace — similar file sync approach, smaller community and ecosystem
- Telepresence — intercepts cluster traffic locally; Okteto runs code on the cluster
- Garden — dev automation framework, heavier setup for file sync workflows
FAQ
Q: Do I need a powerful local machine to use Okteto? A: No. Your code runs on the remote cluster. You only need a code editor and the Okteto CLI locally, making it ideal for lightweight laptops.
Q: Does Okteto work with Helm charts and Kustomize? A: Yes. Okteto can deploy from Helm charts, Kustomize manifests, or plain Kubernetes YAML before activating the dev container.
Q: Is the file sync reliable for large projects? A: Yes. Okteto uses Syncthing under the hood, which handles large codebases efficiently. Use ignore rules to skip heavy directories like node_modules.
Q: Can I use Okteto with a local Minikube cluster?
A: Yes. Point okteto context to any Kubernetes cluster, local or remote, and the file sync workflow works the same way.