<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c" -->

---
title: Introducing Load Balancer support for ngrok Kubernetes...
description: ngrok's Kubernetes Operator now supports native Kubernetes LoadBalancer services, replacing the older TCPEdge/TLSEdge custom resources for exposing TCP and TLS...
canonical: https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing Load Balancer support for ngrok Kubernetes Operator | daily.dev
og:description: ngrok's Kubernetes Operator now supports native Kubernetes LoadBalancer services, replacing the older TCPEdge/TLSEdge custom resources for exposing TCP and TLS...
og:url: https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c
og:image: https://api.daily.dev/og/posts/DYdg6OJ0c.png
og:image:alt: Introducing Load Balancer support for ngrok Kubernetes Operator
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing Load Balancer support for ngrok Kubernetes Operator

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 6 min read · 0 upvotes · 0 comments

## Summary

ngrok's Kubernetes Operator now supports native Kubernetes LoadBalancer services, replacing the older TCPEdge/TLSEdge custom resources for exposing TCP and TLS traffic from cluster services. Setting type=LoadBalancer and loadBalancerClass=ngrok on a Service manifest automatically provisions the necessary TCPEdge/TLSEdge, Domain, and Tunnel resources and manages their lifecycle. Benefits include no need to allocate node ports, compatibility with external-dns for automatic CNAME creation, and consistent behavior across cloud and on-prem/private clusters.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/kubernetes-operator-load-balancer-support>

## Questions this post answers

### How do I expose a TCP or TLS service in Kubernetes with ngrok without using TCPEdge and TLSEdge custom resources?

Use ngrok's new Kubernetes LoadBalancer service support instead of the older TCPEdge/TLSEdge custom resources. Set type: LoadBalancer and loadBalancerClass: ngrok on the Service definition, and the ngrok service controller automatically creates and manages the required TCPEdge/TLSEdge, Domain, and Tunnel resources for you.

_Track new Kubernetes networking approaches like this one as you plan cluster ingress with daily.dev._

### Do I need to allocate node ports when using ngrok's Kubernetes LoadBalancer service?

No, node port allocation is not required. Because ngrok creates an outbound tunnel that receives traffic back over that same tunnel, the load balancer forwards traffic into the cluster without needing a node port, so you can set allocateLoadBalancerNodePorts to false and apply more restrictive firewall rules on cluster nodes.

_daily.dev helps engineers stay current on Kubernetes ingress patterns like node port avoidance._

### Can ngrok's Kubernetes LoadBalancer service work with external-dns for automatic DNS records?

Yes, since ngrok's LoadBalancer support uses the standard Kubernetes LoadBalancer Service resource, external-dns can read its status and create matching DNS records. Adding the right annotations lets external-dns create a CNAME record, such as myapp.mydomain.com pointing to an ngrok-generated hostname, within minutes of applying the manifest.

_Developers wiring up DNS automation with external-dns can follow tooling changes like this via daily.dev._

## Similar posts on daily.dev

- [How to expose custom ports in Kubernetes](https://daily.dev/posts/how-to-expose-custom-ports-in-kubernetes-3qocrzeor) · Red Hat Developer · 0 upvotes · 0 comments
- [AWS Load Balancer Controller Reaches GA with Kubernetes Gateway API Support](https://daily.dev/posts/aws-load-balancer-controller-reaches-ga-with-kubernetes-gateway-api-support-elzeyfvna) · InfoQ · 0 upvotes · 0 comments
- [One Cluster, Two Services: KIND \+ NGINX Ingress, Explained](https://daily.dev/posts/one-cluster-two-services-kind-nginx-ingress-explained-ijvf50hzk) · Medium · 0 upvotes · 0 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#kubernetes](https://daily.dev/tags/kubernetes), [#networking](https://daily.dev/tags/networking)

[View this post on daily.dev](https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing Load Balancer support for ngrok Kubernetes Operator","url":"https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c"},"datePublished":"2026-08-23T07:20:28.403Z","dateModified":"2026-08-23T07:24:32.575Z","description":"ngrok's Kubernetes Operator now supports native Kubernetes LoadBalancer services, replacing the older TCPEdge/TLSEdge custom resources for exposing TCP and TLS...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/931f9d6ac13f117d439f1ff24bb32bf5?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/931f9d6ac13f117d439f1ff24bb32bf5?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,kubernetes,networking","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Introducing Load Balancer support for ngrok Kubernetes Operator"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-load-balancer-support-for-ngrok-kubernetes-operator-dydg6oj0c#faq","mainEntity":[{"@type":"Question","name":"How do I expose a TCP or TLS service in Kubernetes with ngrok without using TCPEdge and TLSEdge custom resources?","acceptedAnswer":{"@type":"Answer","text":"Use ngrok's new Kubernetes LoadBalancer service support instead of the older TCPEdge/TLSEdge custom resources. Set type: LoadBalancer and loadBalancerClass: ngrok on the Service definition, and the ngrok service controller automatically creates and manages the required TCPEdge/TLSEdge, Domain, and Tunnel resources for you. Track new Kubernetes networking approaches like this one as you plan cluster ingress with daily.dev."}},{"@type":"Question","name":"Do I need to allocate node ports when using ngrok's Kubernetes LoadBalancer service?","acceptedAnswer":{"@type":"Answer","text":"No, node port allocation is not required. Because ngrok creates an outbound tunnel that receives traffic back over that same tunnel, the load balancer forwards traffic into the cluster without needing a node port, so you can set allocateLoadBalancerNodePorts to false and apply more restrictive firewall rules on cluster nodes. daily.dev helps engineers stay current on Kubernetes ingress patterns like node port avoidance."}},{"@type":"Question","name":"Can ngrok's Kubernetes LoadBalancer service work with external-dns for automatic DNS records?","acceptedAnswer":{"@type":"Answer","text":"Yes, since ngrok's LoadBalancer support uses the standard Kubernetes LoadBalancer Service resource, external-dns can read its status and create matching DNS records. Adding the right annotations lets external-dns create a CNAME record, such as myapp.mydomain.com pointing to an ngrok-generated hostname, within minutes of applying the manifest. Developers wiring up DNS automation with external-dns can follow tooling changes like this via daily.dev."}}]}
```

