cf-for-k8s icon indicating copy to clipboard operation
cf-for-k8s copied to clipboard

Add newbie-friendly docs/guidance around LB setup/requirements

Open DanStadlerNewRelic opened this issue 4 years ago • 4 comments

Is your feature request related to a problem? Please describe. As someone trying out cf-4-k8s the first time, and as an app developer, I may not have much background on networking, ingress, load balancers, istio, etc. The docs and various blog posts are very clear up to this point, but become very confusing at the point of managing a static IP address.

Describe the solution you'd like I'd like to see documentation that not only gives clear instructions, but also helps with some basic knowledge. Based on the various attempts I made to follow docs and blog posts, I ran into the following questions:

  • Based on my target environment, is it even necessary to specify a load balancer in cf-values? (Does a platform like GKE just provide one for me automatically?)
  • Do I need to register a domain and point it to my static IP address? Can I get some basic pointers on that?
  • Why is it that some blog posts (example: https://medium.com/cloud-foundry-foundation/installing-cf-for-k8s-on-google-cloud-gke-5d6902ee99fa ) attach what looks like a domain ( ./hack/generate-values.sh -d ${IP}.xip.io > $TMP_DIR/cf-values.yml ), can I use that same domain for my setup? Is it a registered domain?
  • What are the latest requirements for specifying the static IP address - is it "istio_static_ip", or is it "static_ip", nested under "load_balancer"? Do I have to specify "enable:true" in there too?
  • If my ytt parsing fails at this point (happened a lot for me while trying to figure this part out) can I get some helper docs, like "if you see this parse error, it probably means you did..."

Describe alternatives you've considered I ended up with a lot of trial and error, read many blog posts, and ended up combining advice from a few different posts to get to a working solution.

Additional context I did end up getting this to work on GKE by adding this to the bottom of cf-values.yaml:

load_balancer: enable: true static_ip: "34.121.145.208"

Here is a sampling of the docs/blogs I ended up going through:

https://tanzu.vmware.com/developer/guides/kubernetes/cf4k8s-gs/ https://www.starkandwayne.com/blog/deploy-cf-for-k8s-to-google-in-10-minutes/ https://medium.com/cloud-foundry-foundation/installing-cf-for-k8s-on-google-cloud-gke-5d6902ee99fa

DanStadlerNewRelic avatar Mar 14 '21 06:03 DanStadlerNewRelic

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/177331667

The labels on this github issue will be updated when the story is started.

cf-gitbot avatar Mar 14 '21 06:03 cf-gitbot

@ramiyengar Has kindly volunteered to help move this forward!

Birdrock avatar Mar 18 '21 01:03 Birdrock

Thanks for bringing this up @DanStadlerNewRelic. There are actually a couple of approaches that you can take to using domains that work with the cf-for-k8s installation. You can check the post about Installing on DigitalOcean (https://medium.com/cloud-foundry-foundation/installing-cf-for-k8s-on-a-kubernetes-cluster-running-on-digitalocean-acffdc652dcf) to see how it would work with private domains.

But, there is definitely a need for some documentation that introduces these areas and explains this part further.

ramiyengar avatar Mar 18 '21 01:03 ramiyengar

Hey Ram - nice to meet you! I definitely read both your articles, in fact I started out with DigitalOcean as in your post, but when I was getting stuck on the LB stuff, moved over to GKE and followed some other posts, ultimately got things together with the static IP solution there. But anyway your posts are great and really helped me overall.

I'd love to see what kinds of documentation can be put together for the IP/DNS section. Please let me know if you have something I can read and give feedback on.

Thanks! Dan

DanStadlerNewRelic avatar Mar 18 '21 04:03 DanStadlerNewRelic