FREEDOM251

Freedom251 › Kubernetes Ingress Controllers

OpenNJet Ingress Controller

Free plan Self-hosted

Visit OpenNJet Ingress Controller Alternatives

OpenNJet Ingress Controller's own site

What OpenNJet Ingress Controller is

OpenNJet Ingress Controller, also called OpenNJet KIC, is a free, self-hosted Kubernetes Ingress Controller built on the OpenNJet proxy. It handles host and path routing, load balancing, dynamic locations and upstreams, canary releases, TLS termination and SNI, plus TCP, UDP, and WebSocket proxying. TCP and UDP proxy settings can be changed dynamically without reloading OpenNJet. KIC assigns Ingress and VirtualServer resources to instances by IngressClass to spread configuration load, and those resources can route across Kubernetes namespaces. TransportServer resources support active TCP health checks that can change backend availability according to whether a configured port responds. Header rules can modify client requests and proxied-service responses. Access logging can be configured globally or per application, with application settings taking priority. A ConfigMap can change the NJet worker-process count from 1 to 512 or use an automatic CPU-core-based default. The project describes deployment to Kubernetes using manifests, and the maker links to its user manual and Gitee source code. Ports 80, 443, 12001–12004, 8080, and 8081 are reserved for proxy, control-plane, upstream, status, or readiness functions and cannot serve proxied services.

Who it suits

OpenNJet KIC suits Kubernetes operators who need self-hosted ingress routing across HTTP, TCP, UDP, or WebSocket traffic, including canary releases. Its sharding, cross-namespace routing, and dynamic proxy settings are relevant where controller configuration load and ongoing changes matter.

What it does well

  • Supports host and path routing, load balancing, and canary releases
  • TCP and UDP proxy settings change without reloading
  • Ingress resources can be sharded by IngressClass
  • Supports cross-namespace routing
  • Active TCP health checks can change backend availability

What to know first

  • Ports 80 and 443 are reserved
  • Ports 12001–12004, 8080, and 8081 cannot serve proxied services

Limits

Ports 80, 443, 12001–12004, 8080, and 8081 are reserved for proxying, control-plane, upstream, status, or readiness functions and cannot be assigned to proxied services. The worker-process count accepts values from 1 to 512, or can be set automatically based on CPU cores.

Getting started

  1. Open the OpenNJet KIC project page.
  2. Review the user manual and source code linked by the maker.
  3. Deploy KIC to Kubernetes using the project manifests.
  4. Configure its namespace, service account, ConfigMap, IngressClass, custom resources, RBAC, Deployment, and NodePort service.

Verdict

OpenNJet KIC offers a broad set of routing and proxy controls for self-hosted Kubernetes deployments. Review its reserved-port constraints and deployment requirements before assigning proxied services.

Questions

Is OpenNJet KIC free?

Yes. Its pricing model is free, and the project repository displays an Apache-2.0 license.

Where can it run?

OpenNJet KIC is self-hosted and is deployed to Kubernetes using project manifests.

What traffic can it proxy?

It supports host and path routing, load balancing, dynamic upstreams, canary releases, TLS termination and SNI, TCP, UDP, and WebSocket proxying.

Can TCP and UDP settings change without a reload?

Yes. Their proxy configuration can be updated dynamically through APIs without reloading OpenNJet.

How does it distribute ingress resources?

It assigns Ingress and VirtualServer resources to KIC instances by IngressClass to reduce each instance's configuration load.

Where can users find project resources or support?

The maker links to the user manual and Gitee source repository, and lists developer and user mailing lists and a technical discussion QQ group, 607280080.

Facts from OpenNJet Ingress Controller's own pages

Access logs
Access-log settings, including whether logging is enabled and the log file path, can be set per application or globally through an njet-config ConfigMap; per-application settings take priority. · njet.org.cn, 7 Oct 2026
ADC integration
KIC can register service domains, application pools and a virtual server with an ADC, which can act as the KIC service's front-end load balancer. · njet.org.cn, 8 Oct 2026
Cross-namespace routing
Ingress and VirtualServer configurations can route across Kubernetes namespaces. · njet.org.cn, 8 Oct 2026
Deployment
The project README describes deploying KIC to Kubernetes using manifests, including namespace, service account, ConfigMap, IngressClass, custom resources, RBAC, Deployment and NodePort service. · gitee.com, 8 Oct 2026
Distribution
The maker links to the OpenNJet KIC user manual and source code from the release article. · njet.org.cn, 7 Oct 2026
Dynamic changes
TCP and UDP proxy configuration updates use APIs and avoid reloading OpenNJet. · njet.org.cn, 8 Oct 2026
Dynamic TCP and UDP
TCP and UDP proxy configuration can be updated dynamically without reloading OpenNJet. · njet.org.cn, 7 Oct 2026
Health checks
TransportServer resources support active TCP health checks that can bring backends online or offline based on check results. · njet.org.cn, 8 Oct 2026
HTTP headers
KIC can modify client request headers and proxied-service response headers, including custom and HTTP-standard headers. · njet.org.cn, 7 Oct 2026
Ingress processing
Ingress and VirtualServer custom resources can be divided among KIC instances by IngressClass to reduce the configuration load handled by each instance. · njet.org.cn, 8 Oct 2026
Ingress scaling
Its sharding mechanism assigns Ingress and VirtualServer resources to KIC instances by IngressClass to reduce the configuration load handled by each KIC type. · njet.org.cn, 7 Oct 2026
License
The project repository displays an Apache-2.0 license. · gitee.com, 8 Oct 2026
Port constraints
Ports 80, 443, 12001–12004, 8080, and 8081 are reserved for proxying, control-plane, upstream, status, or readiness functions and cannot be used by proxied services. · njet.org.cn, 7 Oct 2026
Protocols
It supports TCP, UDP and WebSocket proxying. · njet.org.cn, 8 Oct 2026
Purpose
OpenNJet KIC is a Kubernetes Ingress Controller built on OpenNJet proxy for cloud-native traffic management. · njet.org.cn, 8 Oct 2026
Routing
It provides dynamic locations, host and path routing, load balancing, dynamic upstreams, canary releases, TLS termination and SNI. · njet.org.cn, 8 Oct 2026
Source access
The maker's site links to the KIC source repository on Gitee. · njet.org.cn, 8 Oct 2026
Support
The maker's page lists [email protected] and [email protected] mailing lists and QQ technical discussion group 607280080. · njet.org.cn, 8 Oct 2026
Traffic management
It provides dynamic locations, host and path routing, load balancing, dynamic upstreams, canary releases, TLS termination and SNI, TCP and UDP proxying, and WebSocket support. · njet.org.cn, 7 Oct 2026
Worker configuration
A ConfigMap can dynamically change the NJet worker-process count, with allowed values from 1 to 512 and an automatic CPU-core-based default. · njet.org.cn, 7 Oct 2026
Worker limit
The worker-processes setting accepts values from 1 to 512 and defaults to auto based on CPU core count. · njet.org.cn, 8 Oct 2026

Where OpenNJet Ingress Controller stands on Freedom251

Look at these too