[draft] expose coredns as loadbalancer service in local setup #1828
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before this PR, the local setup was exposing coreDNS using a nodeport service. To expose it outside of k3d it required mapping the exposed DNS port 5053/5054 (for cluster1 and cluster2, respectively) to a single node and making sure coredns is running there. This is a bit hacky and not the usual way to expose a service outside of a cluster.
This PR changes the setup to using the more common loadbalancer service, obtaining the same result with a bit less configuration.
Additionally, DNS queries to the clusters now work using UDP and TCP, before only TCP was possible:
Note: k3d behaves a bit different than the usual kubernetes cluster since it uses a daemon set behind the scenes. That is why the load balancer has multiple external IPs. Nonetheless, the functionality for the user is the exact same.