Skip to content

docs: add guide for running Omni on Kubernetes#394

Merged
talos-bot merged 4 commits intosiderolabs:mainfrom
kevintijssen:feat/run-omni-on-k8s
Mar 12, 2026
Merged

docs: add guide for running Omni on Kubernetes#394
talos-bot merged 4 commits intosiderolabs:mainfrom
kevintijssen:feat/run-omni-on-k8s

Conversation

@kevintijssen
Copy link
Copy Markdown
Member

Add comprehensive guide for deploying Omni on Kubernetes clusters with:

  • Prerequisites setup (cert-manager, MetalLB, Traefik)
  • Helm-based Omni deployment
  • Optional workload proxy configuration

@github-project-automation github-project-automation Bot moved this to To Do in Planning Feb 23, 2026
@talos-bot talos-bot moved this from To Do to In Review in Planning Feb 23, 2026
@kevintijssen kevintijssen requested a review from rothgar February 23, 2026 12:10
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
<Note>If you used Helm to install MetalLB and are running a Kubernetes version that enforces Pod Security Admission Policies, the namespace for MetalLB must be labeled to allow privileged containers. Click [here](https://metallb.universe.tf/installation/#installation-with-helm). for more info.</Note>

### Ingress Controller
You will also need to have an ingress controller installed in your cluster. In this example, we are using [Traefik](https://traefik.io/traefik/), but any ingress controller should work.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is ingress required if we have a load balancer? I'm assuming we do L7 routing in our helm charts

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think its required but most people run a ingress in front of there services.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just realized if we're going to ship this, should it be HTTPRoute to make it more future proof?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we need to implement Gateway API as well. That is also possible. We can then also use GRPCRoute

Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
```bash
helm install \
omni oci://ghcr.io/siderolabs/charts/omni \
--version v2.1.1 \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's really ugly, but we should use the omni_release variable from https://github.com/siderolabs/docs/blob/main/public/snippets/custom-variables.mdx

You have to convert this to a <CodeBlock> and manually escape new lines.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately the version of the Helm chart diverged for the Omni version.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should have something like an omni_chart_version so we can reuse it.

Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
@smira smira removed this from Planning Feb 25, 2026
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
Comment thread public/omni/self-hosted/run-omni-on-k8s.mdx Outdated
@kevintijssen kevintijssen force-pushed the feat/run-omni-on-k8s branch from 062dc5f to 8bb2c7e Compare March 4, 2026 13:19
Add comprehensive guide for deploying Omni on Kubernetes clusters with:
- Prerequisites setup (cert-manager, MetalLB, Traefik)
- Helm-based Omni deployment
- Optional workload proxy configuration
- Added Dex for Local Auth
* Remove Cert-Manager kubectl install
* Fixed EOF
* Fixed Variable
Update Omni Helm chart release version and improve formatting
@kevintijssen kevintijssen force-pushed the feat/run-omni-on-k8s branch from 8bb2c7e to 6a8710f Compare March 12, 2026 12:29
@rothgar
Copy link
Copy Markdown
Member

rothgar commented Mar 12, 2026

/m

@talos-bot talos-bot merged commit 6a8710f into siderolabs:main Mar 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants