Skip to main content

Kubernetes Operator

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 is deployed to a cluster and allows developers to self-service endpoints to their apps and services using a shared ngrok account.

When Should I Use The ngrok Kubernetes Operator?

You should use the ngrok Kubernetes Operator if you want to:

  1. Send traffic to your Kubernetes workloads
  2. 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
  3. Perform cross-cluster networking
  4. Use Kubernetes with ngrok without using ngrok's SDKs

Install and get started

The Operator supports Ingress, Gateway API, and custom resource configuration options, along with Kubernetes Endpoints. Check out our various quickstarts for all the details on installation and configuration.

  • Ingress
    • Easy to get started with for simple use cases or to migrate from another ingress controller
  • Gateway API
    • Offers more advanced configuration options for traffic management and transformations
  • ngrok custom resources
    • Uses "opinionated" configurations that require less YAML and more direct access to ngrok features
  • Kubernetes Endpoints
    • Lets you connect any ngrok endpoint to your Kubernetes clusters and have it appear as a native, in-cluster service
tip

You can use a different configuration type for each domain.

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 our pricing page.