honeycombio / helm-charts

Helm repository and charts for Honeycomb
Apache License 2.0
30 stars 39 forks source link

[refinery] update ingress support for k8s >= 1.19 #63

Closed puckpuck closed 3 years ago

puckpuck commented 3 years ago

Which problem is this PR solving?

Starting with Kubernetes 1.19, the ingress controller was made stable. In Kubernetes >= 1.20 a warning will be displayed if the beta is used, with 1.22 marking when the beta is deprecated.

This PR defines 2 ingresses that will be installed exclusively of each other. Depending on the version of the target Kubernetes (>=1.19, or <1.19) the stable or beta version of the ingress will be installed.

To keep the ingress simple, and avoid potential configuration confusion, support for multiple paths has also been removed. Frankly, it never worked before, so this is a low risk removal.

fixes #54

vreynolds commented 3 years ago

How do I configure ingress locally? (Using the docker desktop k8s) I enabled the ingress in the config, but when I run kubectl get ingress I get:

NAME       CLASS    HOSTS            ADDRESS   PORTS   AGE
refinery   <none>   refinery.local             80      24m

I was hoping to see an IP under ADDRESS, but maybe there's some other witchery I have to do? (curl'ing localhost:80 hangs until empty response from server)

vreynolds commented 3 years ago

Getting further... had to add an ingress controller, with the right ingress class (nginx), and solve the LB in front of it not being able to expose a port on the host 😵

vreynolds commented 3 years ago

Woo! It's working! (had to add 127.0.0.1 refinery.local to /etc/hosts) -- wowza there's a lot of gotchas with ingress 🤯