Skip to content
Open
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
6070022
first pass at structure
sg-writer Jul 14, 2025
371aece
framing
sg-writer Jul 14, 2025
4fa67d9
elaborating
sg-writer Jul 15, 2025
5cda8ba
expanding
sg-writer Jul 15, 2025
21ee3b0
ci: apply automated fixes
autofix-ci[bot] Jul 15, 2025
67b9b77
merge main
sg-writer Jul 17, 2025
675fd0b
full pass up to whats next
sg-writer Jul 17, 2025
72b3d24
more progress, whats next
sg-writer Jul 17, 2025
d9aac91
traffic policy
sg-writer Jul 17, 2025
7291853
new copy, shaquil early feedback
sg-writer Jul 17, 2025
08c4ff2
parallel phrasing
sg-writer Jul 17, 2025
f899385
ug vs ngrok
sg-writer Jul 17, 2025
f615d67
common terms vs ngrokisms
sg-writer Jul 17, 2025
5ad8184
links
sg-writer Jul 17, 2025
90364e3
small edits, no semi colons
sg-writer Jul 17, 2025
3183c28
ci: apply automated fixes
autofix-ci[bot] Jul 17, 2025
bff9000
typo
sg-writer Jul 17, 2025
0c24cd1
reduce
sg-writer Jul 21, 2025
489ba07
order
sg-writer Jul 21, 2025
ed998fe
avoid saying across twice in two adjacent sentences
sg-writer Jul 21, 2025
6711180
Merge branch 'main' into sg/doc-359-revise-the-universal-gateway-over…
sg-writer Jul 21, 2025
2880808
reinforce keyword in headers
sg-writer Jul 22, 2025
69159b0
expand scope
sg-writer Jul 28, 2025
fbb4da4
clean up existing content
sg-writer Jul 28, 2025
2b1d241
cleanup
sg-writer Jul 28, 2025
e4ae668
ci: apply automated fixes
autofix-ci[bot] Jul 28, 2025
1065701
unordered list
sg-writer Oct 17, 2025
03ada9f
conflicts
sg-writer Oct 17, 2025
ad9d12a
revert ug
sg-writer Oct 17, 2025
7fc21fe
revery obs
sg-writer Oct 17, 2025
1045562
revert iam
sg-writer Oct 17, 2025
e38de14
remove old page
sg-writer Oct 17, 2025
d7e15c6
Merge branch 'main' into sg/doc-438-revise-the-k8s-overview-page
iambmelt Nov 5, 2025
bc1a8b3
merge main
sg-writer Dec 9, 2025
386562a
Merge branch 'main' into sg/doc-438-revise-the-k8s-overview-page
sg-writer Dec 9, 2025
996fd98
first full pass
sg-writer Dec 9, 2025
17e2bf2
more concise, fix icons
sg-writer Dec 9, 2025
a1698ba
progress
sg-writer Dec 9, 2025
36c3c88
Merge branch 'main' into sg/doc-438-revise-the-k8s-overview-page
sg-writer Dec 12, 2025
542ab47
rearrange cards, whats next links"
sg-writer Dec 12, 2025
50c208a
concepts, features, icons
sg-writer Dec 12, 2025
35a3001
shorten desc
sg-writer Dec 12, 2025
b61f4f1
use cases
sg-writer Dec 12, 2025
2435f74
works not Works
sg-writer Dec 12, 2025
b1e8acd
features
sg-writer Dec 12, 2025
fb98577
whats next
sg-writer Dec 12, 2025
6a68214
tighten card copy
sg-writer Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 53 additions & 30 deletions k8s/index.mdx
Original file line number Diff line number Diff line change
@@ -1,43 +1,66 @@
---
title: Kubernetes Operator
sidebarTitle: Overview
description: Learn about the ngrok Kubernetes Operator for providing secure ingress to your Kubernetes applications using custom resources, Ingress, and Gateway API.
description: Learn about the ngrok Kubernetes Operator for providing secure ingress to your k8s applications.
---

The ngrok Kubernetes Operator is the best way to use ngrok if your applications run in Kubernetes environments. It comes with custom resources for configuration and also supports both Ingress resources as well as the new cross-platform Gateway API configuration resources. When using Kubernetes Ingresses or the Gateway API resources, the ngrok Kubernetes Operator will translate them into managed instances of the ngrok custom resources for you.
The ngrok Kubernetes Operator exposes Kubernetes services to the public internet using Ingress, Gateway API, or custom resources.
It translates Kubernetes configuration into ngrok endpoints, enabling developers to self-service endpoints to their apps and services using a shared ngrok account.

The ngrok Kubernetes Operator is deployed to a cluster and allows developers to self-service endpoints to their apps and services using a shared ngrok account.
## Concepts

Check out the [how it works](/k8s/how-it-works) and [architecture](/k8s/installation/architecture) pages for more info on how the Operator functions.
<Columns cols={1}>
<Card title="How it works" href="/k8s/how-it-works/" horizontal>
Learn how the Operator establishes secure connections and routes traffic.
</Card>
<Card title="Architecture" href="/k8s/installation/architecture/" horizontal>
Understand the Operator's control loops and design.
</Card>
<Card title="Load Balancing" href="/k8s/load-balancing/load-balancing-kubernetes/" horizontal>
Distribute traffic across multiple Kubernetes services.
</Card>
</Columns>

## When to use the ngrok Kubernetes Operator
## Features

You should use the ngrok Kubernetes Operator if you want to:
- [Local cluster options](/k8s/guides/local-cluster/) - Set up a local Kubernetes cluster for development and testing.
- [Helm configuration](/k8s/installation/helm/) - Reference for Helm config values when installing the Operator.
- [Observability](/k8s/installation/observability/) - Monitor and observe your Operator deployment.

1. Send traffic to your Kubernetes workloads
1. Integrate Kubernetes workloads with workloads outside of Kubernetes, such as those running on virtual machines, bare metal, embedded devices, and anywhere else you can run ngrok
1. Perform cross-cluster networking
1. Use Kubernetes with ngrok without using ngrok's SDKs
## Use cases

## What type of config can I use with the Operator?
<Columns cols={2}>
<Card
title="Secure endpoints with OAuth"
icon="user"
href="/k8s/guides/how-to/oauth/"
>
Configure OAuth authentication in Kubernetes to secure your endpoints by requiring valid OAuth tokens before forwarding requests.
</Card>
<Card
title="Route traffic to backends"
icon="route"
href="/k8s/guides/how-to/request-routing/"
>
Configure request routing to direct incoming traffic to the appropriate backend services based on rules.
</Card>
<Card
title="Handle TLS traffic"
icon="lock"
href="/k8s/guides/how-to/tls-routing/"
>
Configure TLS routing in Kubernetes to handle encrypted traffic using SNI-based routing with optional TLS termination.
</Card>
<Card
title="Protect services with rate limiting"
icon="shield-check"
href="/k8s/guides/how-to/rate-limiting/"
>
Configure rate limiting in Kubernetes to protect your services from excessive traffic and ensure fair usage across clients.
</Card>
</Columns>

The Operator supports its own native custom resource types, including:
## What's next?

- [Kubernetes Ingresses](/getting-started/kubernetes/ingress/)
- Easy to get started with for more simple use-cases
- [Gateway API](/getting-started/kubernetes/gateway-api/)
- Offers more configuration options for traffic management and transformations
- [ngrok's Managed resources](/getting-started/kubernetes/crds/)
- Offers complete control over your traffic, enabling many features such as OAuth/OIDC, rate limiting, and more

<Note>
Keep the config for a specific domain/hostname to the same type of resources. For example, if you create an `Ingress` for `my-example-domain.ngrok.io`, don't mix it with Gateway API config for the same domain.
</Note>

## Pricing

The ngrok Kubernetes Operator is available to all ngrok users on the free and pay-as-you-go plans. You only incur costs if the resources provisioned by the
controller incur a cost. More details can be found on the [pricing page](https://ngrok.com/pricing).

[Kubernetes Ingress docs]: https://kubernetes.io/docs/concepts/services-networking/ingress/
[Gateway API docs]: https://gateway-api.sigs.k8s.io/
- Get started with [Ingress](/getting-started/kubernetes/ingress/), [Gateway API](/getting-started/kubernetes/gateway-api/), [Custom Resources](/getting-started/kubernetes/crds/), or [Endpoints](/getting-started/kubernetes/endpoints/).
- Explore the [guides](/k8s/guides/using-crds/) for common use cases and configurations.