-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
feat(source): allow to register all pods and their associated PTR record #4782
feat(source): allow to register all pods and their associated PTR record #4782
Conversation
|
Welcome @foyerunix! |
Hi @foyerunix. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
/ok-to-test |
df15bec
to
ee3887a
Compare
Hello @mloiseleur, I included the requested documentation changes and I fixed the failing test. Best Regards. |
/retitle feat(source): allow to register all pods and their associated PTR record |
Add two new options: - --ignore-non-host-network-pods - --pod-source-domain Combined toghether, they can be used to register the IPs of all pods with their associated PTR record. Co-authored-by: Michel Loiseleur <[email protected]>
2235612
to
bf8c4c0
Compare
Hello @mloiseleur, Thanks for your input. Best Regards. |
/lgtm |
From the implemenentation no question. Looks ok. But there are concerns around actual feature itself related but there is a problem on how certain things where implemented. |
I might missing or, not clear from flags itself. What if I don't want this behaviour in my current setup? Will it work as is if I'm not adding any of this tags? |
/assign |
Hello @ivankatliarchuk, My PR should not change the current behavior if we don't set the Regarding the debate on whether IPv6 internal node IPs should be parsed as external also, I don't have a strong opinion, especially as I run an IPv4-only stack. However, I fail to see why my PR would change the current behavior for IPv6 nodes and pods. As for PR #3174, I understood that the issue pointed out by @szuecs was that it wasn't properly shielded against a change in the current behavior, as it didn't have a feature flag to enable it. Therefore, a user who mistakenly set the annotation on some pods would have seen them being processed by External-DNS. Something that could happen for example in an Helm chart mixing HostNetwork and non-Hostnetwork pods. Best Regards. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
cc: @mloiseleur
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ivankatliarchuk, mloiseleur The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hello,
We have deployed multiples Kubernetes clusters on-premise. Our cluster use Cilium CNI with SNAT disabled. This mean the pods traffic will exit the cluster with their pod IP and not with the node IP (the pod IPs are then correctly routed back to Kubernetes).
This is useful for us as a SRE team as we can track easily which pod is making which connection.
The drawback is that we still have to check on Kubernetes the pod which is associated with a particular IP.
As external-dns already implemented the pod source and the creation of PTR record, I thought it would be easy to register the pods PTR record in the DNS. But the pod source seem to has been made for a very precise use case relating to kops.
I therefore implemented two new options for our use case:
The first let us create DNS records for pods even if they aren't running with host networking enabled.
The second allow us to build a pod FQDN with a default domain even without annotations.
I'm hesitating to combine the two as only one option ("--all-pods-domain" ?) that would then bypass the original intended use case for the pod source. I worry that the combination of the kops use case and mine in the same configuration will lead to an absurd behavior. But what if someone have a legitimate use for this ?
Please can you give me your opinion on the current implementation or if you would want to refactor it in another way.
Best Regards.