Skip to content

Commit

Permalink
AirGap Networks installation guide (#885)
Browse files Browse the repository at this point in the history
  • Loading branch information
pchico83 authored Dec 5, 2024
1 parent 4a3a9b5 commit b86d537
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 1 deletion.
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ module.exports = {
'self-hosted/manage/buildkit-high-performance',
'self-hosted/manage/backup',
'self-hosted/manage/custom-resource-definitions',
'self-hosted/manage/airgap',
'self-hosted/manage/troubleshooting',
'self-hosted/manage/diagnostics',
'self-hosted/manage/uninstall-okteto',
Expand Down
98 changes: 98 additions & 0 deletions src/content/self-hosted/manage/airgap.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
title: AirGap Networks
description: Installing Okteto in AirGap Networks
sidebar_label: AirGap Networks
id: airgap
---

import variables from '../../variables.json';
import CodeBlock from '@theme/CodeBlock';
import TiersList from "@theme/TiersList";

# AirGap Networks<TiersList tiers="Enterprise Self-Hosted" />

Okteto works on AirGap Networks, but it requires custom configuration.
This guide has been crafted to help you overcome these hurdles, but we encourage you to [talk to us](https://www.okteto.com/get-demo/) to guide you during the installation.


## Step 1: Disable Okteto Telemetry

By default, Okteto sends [telemetry data](self-hosted/helm-configuration.mdx#telemetry) 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:

```yaml
telemetry:
enabled: false
```
Disabling telemetry will automatically stop Okteto CLI analytics for all developers.
## Step 2: Host Images in your Private Registry
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.
:::info
This guide assumes that your cluster nodes have pull access to your private registry. If that's not the case, please follow your infrastructure provider's instructions on how to do it
:::
Push the following images to your private registry for the Okteto Chart installation:
- **okteto/backend:{variables.chartVersion}**
- **okteto/frontend:{variables.chartVersion}**
- **okteto/buildkit:{variables.chartVersion}** and **okteto/buildkit:{variables.chartVersion}-rootless**
- **okteto/registry:{variables.chartVersion}**
- **okteto/pipeline-runner:{variables.chartVersion}**
- **okteto/daemon:{variables.chartVersion}**
- **registry.k8s.io/ingress-nginx/controller-chroot:{variables.nginxVersion}**
- **ghcr.io/stakater/reloader:{variables.reloaderVersion}**
- **bitnami/redis:{variables.redisVersion}**
For each Okteto CLI version, push the following images to your private registry:
- **okteto/okteto:{variables.cliVersion}**
:::info
For Okteto Chart {variables.chartVersion}, we recommend enforcing the usage of Okteto CLI {variables.cliVersion} in your developer's machines to reduce maintenance overhead
:::
## Step 3: Update Helm Configuration
Once your images are pushed to your private registry, update your Okteto Helm configuration as follows:
```yaml
globals:
registry: <<your-registry-url>>

cli:
image:
registry: <<your-registry-url>>

ingress-nginx:
global:
image:
registry: <<your-registry-url>>

okteto-nginx:
global:
image: <<your-registry-url>>

reloader:
reloader:
deployment:
image:
name: <<your-registry-url>>/stakater/reloader

redis:
global:
imageRegistry: <<your-registry-url>>
```
## Step 4: Install or Upgrade Okteto
Execute the following command to install or upgrade your Okteto instance:
<CodeBlock language="bash">
{`helm upgrade --install okteto okteto/okteto -f config.yaml --namespace=okteto --create-namespace --version=${variables.chartVersion}`}
</CodeBlock>
5 changes: 4 additions & 1 deletion src/content/variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
"kubernetesMinVersion": "1.27",
"kubernetesMaxVersion": "1.30",
"cliVersion": "3.1.0",
"chartVersion": "1.26.0"
"chartVersion": "1.26.0",
"nginxVersion": "v1.11.2",
"reloaderVersion": "v1.0.119",
"redisVersion": "7.4.0-debian-12-r1"
}

0 comments on commit b86d537

Please sign in to comment.