Air-Gapped Network EnvironmentsEnterpriseSelf-Hosted
Okteto Enterprise can be installed in air-gapped environments—isolated networks without internet access. This guide explains how to install, configure and use a self-hosted Okteto instance entirely offline. For personalized assistance, feel free to talk to us to guide you during the installation.
Step 1: Disable Okteto Telemetry
By default, Okteto sends telemetry data to help us understand usage patterns and prioritize improvements. In air-gapped environments, you can disable telemetry by adding the following to your Okteto Helm configuration:
telemetry:
enabled: false
Disabling telemetry ensures that no usage analytics are sent from the Okteto CLI.
Step 2: Set Up a Private Registry for Required Images
By default, all the images needed to deploy the Okteto Platform, and the images used by the Okteto CLI, are hosted in DockerHub. In air-gapped environments, you’ll need to host these images in your private registry.
Push Images to your Private Registry
For simplicity, we recommend using the same repository names and tags in your private registry.
Since Okteto doesn’t support imagePullSecrets
, ensure your Kubernetes cluster is pre-configured to access your private registry.
Required Images for Okteto Platform Installation
Push the following images to your private registry for the Okteto Chart installation:
- okteto/backend:1.27.0
- okteto/frontend:1.27.0
- okteto/buildkit:1.27.0 or okteto/buildkit:1.27.0-rootless
- okteto/registry:1.27.0
- okteto/pipeline-runner:1.27.0 or okteto/pipeline-runner:1.27.0-rootless
- okteto/daemon:1.27.0
- okteto/ingress-nginx-chroot:1.27.0
- okteto/reloader:1.27.0
- okteto/redis:1.27.0
For each Okteto CLI version, push the following images to your private registry:
- okteto/okteto:3.2.1
For Okteto Chart 1.27.0, we recommend enforcing the usage of Okteto CLI 3.2.1 in your developer's machines to reduce maintenance overhead
Step 3: Update Helm Configuration
These configurations ensure Okteto can pull required images from your private registry during deployment. Once your images are pushed to your private registry, update your Okteto Helm configuration as follows:
Example Registry URL:
Replace<<your-registry-url>>
with the hostname or IP address of your private registry. It should look something like this: my-registry.example.com:5000
Ensure it is accessible within your air-gapped environment and uses the correct protocol (https) and port.
globals:
registry: <<your-registry-url>>
cli:
image:
registry: <<your-registry-url>>
ingress-nginx:
controller:
image:
registry: <<your-registry-url>>
okteto-nginx:
controller:
image:
registry: <<your-registry-url>>
reloader:
reloader:
deployment:
image:
name: <<your-registry-url>>/okteto/reloader
redis:
global:
imageRegistry: <<your-registry-url>>
Step 4: Install or Upgrade Okteto
Run the following command to install Okteto for the first time or to upgrade an existing instance:
helm upgrade --install okteto okteto/okteto -f config.yaml --namespace=okteto --create-namespace --version=1.27.0
Step 5: Install the Okteto CLI
The Okteto CLI needs to be installed on your own machine as well as on the machines of all developers on your team who will be using Okteto.
Download the latest version of the Okteto CLI for your operating system:
https://github.com/okteto/okteto/releases/download/3.2.1
- For Linux/MacOS, the binary is named
okteto
- For Windows, the binary is named
okteto.exe
Set Up the Okteto Configuration Directory
Create a .okteto
folder in your $HOME
directory to store runtime configurations and dependencies for the CLI.
mkdir -p $HOME/.okteto
Download and Configure Syncthing
Okteto uses Syncthing to synchronize files between your local machine and your remote Development Environments. Download the syncthing binary from their official releases page:
https://github.com/syncthing/syncthing/releases/tag/v1.28.0
- Uncompress the downloaded file
- Move the syncthing binary (or syncthing.exe for Windows) to your $HOME/.okteto folder
Set Executable Permissions (Linux/MacOS only)
Finally, if you are on Linux or MacOS, make sure to give executable permissions to both okteto
and syncthing
:
chmod +x okteto
chmod +x $HOME/.okteto/syncthing
You are now ready to start using Okteto
Need help with your installation? Contact us for expert guidance.