kubero-dev / kubero

A free and self-hosted Heroku / Netlify / Vercel alternative for Kubernetes
https://demo.kubero.dev
GNU General Public License v3.0
2.4k stars 89 forks source link

[OTHER]: what is the ip that dns is supposed to point to? #379

Open Akshath-Nagulapally opened 1 month ago

Akshath-Nagulapally commented 1 month ago

What would you like to share?

Hi, I am getting an issue while deploying kubero to gke(standard cluster not auto):

it says the address here is localhost:

anagulapally@cloudshell:~ (kubernetes-428710)$ kubectl get ingress -n kubero -o wide NAME CLASS HOSTS ADDRESS PORTS AGE cm-acme-http-solver-jvrzg akkiai.com localhost 80 6m30s kubero nginx akkiai.com localhost 80, 443 6m34s

when I need it to be the public ip I am assuming. What would you recommend I do in this situation.

Could use some help with this one

Additional information

No response

mms-gianni commented 1 month ago

You don't need to expose your IP. Just use "kubero.localhost" for the kubero ingress and "myapp.localhost" for your apps.

But keep in mind, your Github hooks won't come true. In case you want to build images you'll also need a registry with a valid SSL Cert (issued by Letsencrypt for example)

There is an easy tunneling service built in to kubero CLI ... just run `kubero tunnel -p 80 -s kubero-registry-CHANGEME?

Akshath-Nagulapally commented 1 month ago

right, but what if I wanted to use the domain akkiai.com? How would one go about doing that? I followed the kubero install cli and it got me to the point i showed above. This is important as I want the webhooks to work as well for github.

mms-gianni commented 1 month ago

OK... got it. So if your Kubernetes cluster has a public IP, just point your domain DNS A record to your clusters IP.

If you have a NATted network, like your laptop on your Homenetwork, you'll need a tunnel. These tunnels provide a publicly accessible FQDN to your local IP. On a laptop you might look into ngrok, localtunnel or "kubero tunnel". Once you have this tunnel, just point your domain with a CNAME to this tunnel domain.

If you are running a server in a non publicly accessible network, you might want to look into "cloudflare tunnels". This requires a cloudflare account and is a bit more complicated. The benefit is: It runs within your cluster. Kubero has a built in Addon to do that. But this addon applies only to the apps, not Kubero-UI it self.

Akshath-Nagulapally commented 1 month ago

it works great! thank you so much @mms-gianni

There seems to be one additional problem however... essentially, i pointed the dns to the ingress controller since that was the only svc that had a public ip.

Once I did this the UI started working, however, when I try to deploy an app like trying to specify domain.akkiai.com, it gives me a 503 nginx error whenever I try going to the website(in this case it was domain.akkiai.com).

To be specific my dns record points to the ip through an A record with @, as well as an A record with *.