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

Helm chart for ziti-edge-tunnel run transparent proxy #129

Closed
mjtrangoni opened this issue Aug 30, 2023 · 2 comments · Fixed by #130
Closed

Helm chart for ziti-edge-tunnel run transparent proxy #129

mjtrangoni opened this issue Aug 30, 2023 · 2 comments · Fixed by #130

Comments

@mjtrangoni
Copy link
Contributor

Hi,
I would like to ask if you are interested about having a new helm chart here for my use case. I need openziti/ziti-edge-tunnel running as DaemonSet, aka. transparent proxy modus or ziti-edge-tunnel run.

Let me know your thoughts! If yes, I would be submitting a PR soon.

Thank you!

@qrkourier
Copy link
Member

Hello @mjtrangoni and thank you for the offer.

Here's a guide for running a daemonset as a node proxy: https://openziti.io/docs/guides/kubernetes/workload-tunneling/kubernetes-daemonset

This approach has an unsolved problem that led me to use sidecars instead of daemonset. Maybe you can think of a solution.

The problem with this approach is that CoreDNS answers Ziti DNS by forwarding the query to the tunneler pod on it's own node. The response is the Ziti intercept IP address on the controller node where CoreDNS is running, not necessarily the node where the pod is running that sent the original DNS query.

All nodes have the same Ziti Identity and so they obtain the same list of services from the Ziti controller and in most cases the mapping of Ziti addresses is identical, but there is no guarantee this is the case because Ziti intercept IP addresses are always picked on the node, not globally unique for the Ziti network.

This means the daemonset works when there's only one K8s node or only one Ziti service, and the risk of an incorrect IP intercept increases from there. This is a DNS related problem, so it does not affect Ziti services that don't employ DNS.

If it's possible, one solution would be to configure K8s so that every node runs CoreDNS and all pods only query DNS on their own node.

@mjtrangoni
Copy link
Contributor Author

@qrkourier I think this could be closed now.

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

Successfully merging a pull request may close this issue.

2 participants