-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sync-catalog: K8s to Consul: Support Ingress objects #5
Comments
Maybe @adilyse could help with the design on this or point to someone who could? I could take a shot on the implementation but it would be good if we have an expectation if this is even desirable/possible without major refactoring.. |
@muffin87 did you ever solve this problem? I was looking into https://github.com/aswinkarthik/ingress-consul-register but it doesnt look very complete.. |
I released something we've been using successfully in production: https://pypi.org/project/consulk8s/, and we recently refactored this into a metacontroller-compatible operator we run in the cluster. |
+1 for this, service sync should support ingresses as well. The suggested alternatives are far from ideal and I might have to resort to using one of them. |
Add link to correct yq in README
Now I use ingress to expose service in k8s, meanwhile, I use consul as our service discovery tool, so I wonder if this feature can work now? |
Hi @owenJiao we don't support syncing Ingress objects via catalogSync. We are willing to take PRs though for this work if you are interested in contributing. |
# This is the 1st commit message: Add service for terminating-gateways # This is the commit message #2: Add gateway-kind:terminating to deployment # This is the commit message #3: Add registration path for terminating gateways # This is the commit message #4: Add BATS tests # This is the commit message #5: Remove registration from terminating gateways deployment # This is the commit message #6: Set ports AFAIK in service # This is the commit message #7: Begin setting values for endpoints controller # This is the commit message #8: Copy values from deployment to endpoints controller (as comment) # This is the commit message #9: Use connect-init instead of acl-init # This is the commit message #10: Remove guards from term gw service (they will get hit by the deployment) # This is the commit message #11: Range over gateways to produce a service for each deployment # This is the commit message #12: Add test for multiple gateways # This is the commit message #13: Remove the format script # This is the commit message #14: Note which parts of the config have been set
Hi everyone,
I was wonderring if it's also possible to support syncing Ingress objects.
I believe that the use of Ingress controllers is quite common to expose http(s) based services to the outside of the cluster. They offer quite big feature set which makes it easy to manage certain settings like TLS cert handling or path / name based routing. Without the Ingress controller I would need to reinvent these features for every service.
The tricky part for this feature is how to transform the Ingress object into DNS. One solution could be to create a CNAME for each object and let it point to the A record of the Ingress controller IP. The Ingress controller service needs to be from type
LoadBalancer
of course.An example would be:
Ingress controller service:
This would create a A record like this:
Now I got a webservice which I want to expose. I would create an Ingress object and set the
host
field likeawesomeservice.example.com
. This would create the following DNS entry:The text was updated successfully, but these errors were encountered: