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
CNI: Proxy skip ports configuration are ignored #4792
Comments
I am also finding this issue, version 2.8.1 and latest CNI.
Setting the |
@ihcsim I was trying to take this up! But wonder how we can make CNI plugin know about the skip port annotations, as its installed before injection and I dont see any touchpoints during inject and CNI to make this possible. Do you have any suggestions/solutions here? |
@Pothulapati that touchpoint could be |
@alpeb I think the rules are added after the pod is mutated, but before it's run. Then when all the containers start up, the rules would have been added. |
Oh that'd make sense. So pulling the annotations in |
Bug Report
What is the issue?
In a CNI setup, init containers that try to make outbound connection will fail due to a timing issue between the CNI plugin modifying the pod iptables, and the proxy container coming up. The current workaround is to skip the outbound ports of the init containers. However, this only works if the skip port configuration is provided during the CNI installation, implying that all workloads will skip these ports.
The
linkerd inject --skip-[in|out]bound-ports
and its annotation equivalence, are currently ignored by the CNI plugin.How can it be reproduced?
The init container should fail to come up due to
connection refused
errors.config.linkerd.io/skip-outbound-ports: 80,443
annotation. The init container will still fail to come up.Possible solution
Update the CNI plugin to check for skip ports annotations.
The text was updated successfully, but these errors were encountered: