From the menu expand Networking, select Ingresses then click Add with form.
Select the namespace that the Ingress needs to be created in from the list.
Complete the required information, using the sections below as a guide.
Name
Enter a descriptive name for the ingress.
Ingress class
Select an Ingress Class object from the list, or select none when no IngressClass
info is needed in the Ingress specification.
Annotations
You can add annotations to your ingress as required by clicking Add annotation and filling in the Key and Value fields. Depending on your selected ingress class you may also be able to add rewrite annotations and/or regular expression annotations.
Note for Google Cloud users
Google Cloud ingress controller (gce or GKE Ingress) continues to use the deprecated kubernetes.io/ingress.class
annotation on ingresses, whereas most other ingress controllers use the IngressClass
resource that was introduced in Kubernetes 1.18.
Portainer targets the IngressClass
resource means of specifying ingress classes, but you can still use the Google Cloud ingress controllers by turning on the Allow ingress class to be set to "none" toggle in Cluster setup and setting them up as custom with none
selected as their Ingress class. Then when adding an ingress based on this, set an annotation with the key kubernetes.io/ingress.class
and value gce.
Here you can define the specifics for the Ingress rule:
Hostname
Enter the FQDN that the application should be accessed with
eg: myapp.mydomain.com
.
TLS Secret
Select the TLS secret that holds the SSL certificate information for the hostname entered above. Optionally, create a new TLS Secret by clicking on the Create secret link (opens in a new tab). Once secret is created click on the reload button next to the TLS secret dropdown and select the new secret.
Service
Select a service that you want to expose from the list.
Service port
Select the port that needs to be exposed from the list.
Path type
Select the relevant path type. The default is Prefix
.
Path
Enter the path to expose the application on. To expose on the root of the domain use /
.
You can expose other services using a different path by clicking on Add path.
Add more rules by clicking on Add new host or a fallback rule by Add fallback rule.
A fallback rule has no host specified. This rule only applies when an inbound request has a hostname that does not match with any of your other rules.
When you're ready, click Create.