Core Concepts
Okteto organizes development around isolated environments, role-based access, automatic networking, remote builds, and centralized configuration. This page introduces each concept and links to its detailed documentation.
Environment and access
Namespaces are isolated workspaces where Development Environments run. Each developer gets a personal Namespace, and you can create shared Namespaces for team collaboration.
Okteto supports three types of credentials to access your environments:
- Kubernetes credentials connect
kubectland other tools to your Okteto Namespace - Personal access tokens authenticate CLI and API access
- Environment variables manage secrets and configuration
Okteto uses role-based access control (RBAC) with two roles: Admin and Developer.
Networking
Okteto automatically generates HTTPS endpoints for your deployed services, with SSL certificates managed for you:
- Automatic SSL provides auto-generated HTTPS endpoints for your services
- Private endpoints restrict access to internal services
Divert routes traffic across microservice environments so you deploy only the services you are modifying, while connecting to shared versions of everything else.
Build and configuration
The Okteto Manifest (okteto.yaml) is the central configuration for building, deploying, testing, and developing your application in Okteto. It defines everything from build targets to Development Container settings.
Okteto Variables let you save configuration values and inject them automatically at deployment time. Variables can be scoped to a Namespace, user, or Admin level.
The Okteto Build Service builds container images remotely and pushes them automatically to Okteto Registry.
Each Okteto Namespace has its own space in the Okteto Registry to store and pull images.
Remote Execution runs your deploy, test, and destroy commands in the cluster rather than on your local machine, ensuring consistent and reproducible operations.
Data and observability
Okteto Insights tracks build times, deploy frequency, resource usage, and user activity across your cluster.
Volume Snapshots let you initialize a persistent volume from a previous snapshot so you can seed Development Environments with realistic data.