Ingress and external IPs
Expose HTTP and TCP services running in a cluster on externally reachable virtual IPs.
The cluster's Ingress tab exposes workloads to traffic from outside the cluster: allocate an External IP, then attach HTTP routes (L7) or TCP routes (L4) to it. The tab requires the cluster to be Provisioned and an ingress controller add-on to be installed — install Traefik (or HAProxy Ingress) from the Resource tab, or select the Ingress bundle at cluster creation.
Allocate an External IP
An External IP is a virtual IP that forwards ports 80 and 443 to the cluster's worker nodes.
- Open the cluster's
Ingresstab and add an External IP. - Choose a Listen Address. The form computes and displays the available ranges on your network's uplink, minus addresses already in use.
- Choose an Ingress Class (the default class is pre-selected).
The cluster needs at least one running worker before an External IP can be created.
Whether an External IP is reachable from the public internet depends on how your administrator has mapped public addresses — ask your administrator if you are unsure.
To remove an External IP, use Remove on its row and type the IP to confirm.
HTTP routes
HTTP routes create standard Kubernetes Ingress resources that the ingress controller serves on ports 80/443 of your External IPs.
- In the HTTP Routes section, add a route.
- Optionally enter a Domain. Leave it empty to auto-generate one.
- Set the Path (default
/), pick a Service from the cluster, and its Port. - Optionally expand YAML Configuration to edit the generated
Ingressresource before creating it.
Because these are ordinary Ingress resources, you can also manage them with kubectl or GitOps.
TCP routes
TCP routes expose a non-HTTP service (PostgreSQL, Redis, MQTT, and similar) on an External IP and port, at layer 4.
- In the TCP Routes section, add a route.
- Pick a Listen Address — one of the cluster's existing External IPs.
- Pick a Listen Port (1–65535, for example
5432for PostgreSQL). - Pick the target Service and Target Port, and optionally a description.
Akasha creates a companion NodePort Service in the cluster and forwards the External IP port to it; traffic flows load balancer → node port → pod. Creating a second route on the same IP and port is rejected.
To remove a TCP route, delete its row; the companion Service is cleaned up automatically.
Backends and node churn
External IP and TCP route backends follow the cluster's workers automatically as nodes are added, replaced, or removed. If a route stops responding after node changes, click Sync backends on the External IP's row to force an immediate re-sync.
TLS and DNS
- TLS — certificates are handled inside your cluster. Install the cert-manager add-on (included in the Ingress bundle) and configure issuers for your domains; see the cert-manager documentation.
- DNS — Akasha does not manage DNS. Create DNS records with your DNS provider pointing your domains at the External IP.
Related
- Add-ons
- About networks
- Managed PostgreSQL — expose a database with a TCP route