Skip to content
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

Considerations of traefik-proxy, z2jh, and traefik v2 #88

Open
consideRatio opened this issue Jan 24, 2020 · 2 comments
Open

Considerations of traefik-proxy, z2jh, and traefik v2 #88

consideRatio opened this issue Jan 24, 2020 · 2 comments

Comments

@consideRatio
Copy link
Member

consideRatio commented Jan 24, 2020

A k8s native way to configure Traefik

Traefik v2 can discover its own configuration of where it should route etc by looking for configuration snippets in various custom k8s resource. We would then create/edit/delete these k8s resources (IngressRoute).

This way, we would not have to run a key value store like etcd/consul ourselves to keep traefiks configuration, as we would rely on the k8s api-server that is backed by its own etcd already. We could have many traefik server pods running in parallel thanks to this.

A limitation with Let's encrypt integration

There is a caveat of using Traefik with Let's encrypt and having more than traefik server running though. They don't support resolving the ACME challenges Let's encrypt will challenge us with then sadly, unless the Enterprise Edition of traefik is used.

This only relates to the acquisition of certificates though. The certificates can still be used to do the TLS termination. It made me sad... It would have all come together so nicely.

@consideRatio
Copy link
Member Author

Ping @yuvipanda as you have worked on Treafik-matters recently and may be interested.

@yuvipanda
Copy link
Contributor

I think automatic let's encrypt is a must, and unfortunately it looks like we can't use the highly available mode with Let's Encrypt. So we'll always need a mode that gives people Let's Encrypt without needing an external service (like cert-manager). We can provide the highly available mode as an alternative?

The other issue is where an IngressRoute can route to. Currently we route directly to pods, without a Service (and Endpoint) objects in between. There is code in KubeSpawner that does this, but idk if I like it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants