Help: Setting up domains for Production

Okay so so some this might sound stupid, but I have the question about how to set my domains for getting a production deployment up and ready.

We have a server. Lets call it example.com
On example.com we have multiple vms that running different parts for our company. On on of these Vms we have rancher. At the moment we are creating a subdomain like rancher.example.com
We have another vm that is a node for rancher we will call it node1

So the question is after linking these two together, we want to deploy an app at app.example.com, A different subdomain.

What do I do? Do I just set the subdomain to the ip that the pod has for our app? I see that there is a select domain on the Ingress-loadBalencer but How does that work? What would be the process of doing it?

Thanks in advance!

First thing first, if we are talking about Production, then the HA setup is due with min of 3 control plane VMs and 2 Worker nodes and a load balancer. And these should not run on a single server either. Otherwise you can run a Dev system, even Proof-Of-Concept, but please don’t call it Production unless you make it reliable. And therefore all required DNS records would be pointed to the Virtual IP of the load balancers.

Now there are two distinct independent actions to set up an app in k8s:

  1. Create/change your DNS records (for app.example.com) to point to the IP of your load balancer (or for the dev case, IP of any worker node would do). This is so that people’s browsers could find its way to your k8s.
  2. Set up your Ingress in the k8s cluster to make it aware that app.example.com should target the service that you’ve made for your containers. This is in order for k8s to know what to do when the request for app.example.com arrives to its ports.

P.S. rancher.example.com and app.example.com can be TOTALLY different URLs, they don’t even have to share the “example.com” part, that doesn’t matter.