Ingress and DNS
- Ensure that you have the necessary services (Ingress Controller and Cert-Manager) installed in your clusters.
- Create the necessary DNS records (A Records or CNAME records depending on the type of Load Balancer created by the Ingress Controller) to point to the Load Balancer’s IP or CNAME.
For example, if you want to use the domain
foo.com, and assign different subdomains such as
app2.foo.com to your Applications, create a DNS record
foo.com that points to your Load Balancer IP/CNAME.
If you want to use DNS’ with different hosts, such as
bar.net, both DNS records must be created to point towards the LoadBalancer.
Exposing your Application to the Internet¶
Navigate to the Ingress tab in Application Overview and click + CREATE. This will open the Ingress setup wizard.
Add the Host Names. You can assign multiple host names to your application as long as all the DNS records are set up to point to your Ingress Controller’s Load balancer.
Click CONTINUE to proceed to the Service Mapping section. Ports that you have exposed in your container (along with any custom mappings) will be available from the dropdown menu. If you have multiple ports mapping to different paths under the host name, you can configure that here.
Click CONTINUE to open the Advanced Configurations section. Here you can configure the details for your Ingress Controller. Select
letsecrypt-prod(might have a different name if you named it differently) from Cluster Issuer dropdown.
If you can’t see any Cluster Issuers, ensure that you have set it up correctly.
The Backend-protocol refers to the protocol used by the Ingress Controller to route traffic to the Application’s service internally. This does not have anything to do with external TLS (https) on the public DNS. Read more.
The next section will allow you to add any Custom Annotations to the Ingress resource. This is an advanced configuration option (nginx annotations) and if it’s not required, click FINISH to create your ingress.
The ingress should be created and your application will be now exposed under the hostnames that you provided.
Note that it may take a while for Cert-Manager to create and propage your TLS certificates for HTTPS.
Advanced Ingress Configurations¶
To create fan-out ingress configurations (different ‘Applications’ mapped to different paths on the same host name) with the Platformer Console,
- simply create new ingresses on the different Applications that need to be part of the fan-out ingress (use the same host name)
- In the Service Mapping section of the setup, make sure to change the path (
/) in each ingress.
- Application `Front-End` -> Ingress (Hostname: `foo.com`, Path: `/` )
- Application `Backend-API` -> Ingress (Hostname: `foo.com`, Path: `/api`)