-
Notifications
You must be signed in to change notification settings - Fork 748
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
Run aws-node as unprivileged pod #796
Comments
Unfortunately, having the capabilities limited to
|
Looks like only for privileged pod, /proc gets mounted with write access. There are few ways to remove privileged pod permission for aws-node,
This leave us with option-1 being more suitable for our usecase. Proposed solution:
|
feel like we should use src_valid_mark instead: torvalds/linux@28f6aee BTW, it's indeed possible to trick without any sysctl setting, like mangle traffic from eth0 with a custom tos value, and have a route policy for that tos value to use main table. but it's a bit tricky. https://github.com/torvalds/linux/blob/v4.14/net/ipv4/route.c#L1879 |
This PR #130 where the code was added has some good comments. |
Nice dive depp @M00nF1sh. I tested both of your suggestions and both seems to work fine
Removed 'if' block from
|
We should continue the above investigation, but for context I note we read-write mount the host's |
For now, I'm thinking of checking if we have write access to net.ipv4.conf.eth0.rp_filter file then update the rp_filter otherwise don't update. With this we don't have to introduce another env variable to have users to decide whether to do this operation or not. This would simplify user experience with respect to updates (would help both variants of updates that users performs - just editing aws-node ds version number as well as applying the manifest completely) |
Resolved by adding the init container in #955 |
This was closed prematurely, so just reopening so we don't lose the remaining action item raised earlier. #955 moved the literal Remaining action item:
(For tracking: Write access to all of |
Per aws/containers-roadmap#1048 (comment), the aws-node Pod needs The symptom observed is:
|
#1352 will remove CRI socket read from aws-node. This will be merged to v1.8 release. |
this PR is still not merged after v1.9.3 was released. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days |
#1352 was closed unmerged
but I don't see any change for the CRI socket read being removed (i.e. bumping Since 1.11.0 added to the data being stored in the datastore file, I guess this can't be advanced until at least 1.12.0 since users will need to upgrade to a 1.11.x version in order to have the right data in the file before upgrading to a phase 2 release in order to deliver the no-reboot upgrade path. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days |
#1352 lives again. |
Moved to checkpoint migration 2 and switched to use state file instead of CRI socket for IP allocation pool restore - #2110. This is as part of 1.12.0 release - https://github.com/aws/amazon-vpc-cni-k8s/releases/tag/v1.12.0. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days |
Closing this as init container must run with privileged access, while main container does not |
|
We currently set the
aws-node
pod to beprivileged
, but that might not be needed.Check if
CAP_NET_ADMIN
andCAP_DAC_OVERRIDE
is enough to set the RDF check to loose and copy the binary and config file:amazon-vpc-cni-k8s/pkg/networkutils/network.go
Lines 233 to 246 in 1ee59a0
The text was updated successfully, but these errors were encountered: