-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
KEP: Promote sysctl annotations to fields #2093
KEP: Promote sysctl annotations to fields #2093
Conversation
7df25db
to
07982e8
Compare
395afcf
to
a6f2178
Compare
Thanks Jan 👍 /sig node |
authors: | ||
- "@ingvagabund" | ||
owning-sig: sig-node | ||
participating-sigs: |
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.
As it touches PSP, I think that we may mention sig-auth here.
// SecurityContext holds security configuration that will be applied to a container. | ||
// Some fields are present in both SecurityContext and PodSecurityContext. When both | ||
// are set, the values in SecurityContext take precedence. | ||
type SecurityContext struct { |
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.
SecurityContext
is for container-scoped restrictions. If we want to make it pod-scoped only, we need to modify PodSecurityContext
instead.
@ingvagabund Thank you for working on this! |
/sig auth |
Please add section for following: How to enable unsafe sysctls on node should move away from an experimental flag and become kubelet config api option |
The original support predates feature gates, but it’s move to first class fields should come with feature gate. Can you add details on feature gate? |
94b9345
to
b90d346
Compare
@derekwaynecarr updated, PTAL |
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.
please just make the one update so this doc is a record of changes rather than link to various WIP prs and dev branches.
this is then LGTM from me.
|
||
Upstream issue: https://github.com/kubernetes/kubernetes/issues/61669 | ||
|
||
### Gate the feature |
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.
Please just state what the feature gate flag is and the default behavior.
I have no problem with what @sjenning has started, but this document will be read in the future and linking out like that is painful for future readers.
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.
Updated
/cc @kubernetes/sig-node-proposals this is the document that describes the promotion of sysctl to fields for beta support. if folks have any comments, please provide them this week |
Lgtm. |
afdcc25
to
ce422be
Compare
ce422be
to
6d6bfda
Compare
Thank you for the updates @ingvagabund /approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: derekwaynecarr 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 |
🎉 |
After 2 weeks after merge, it became outdated. Do we care about making it up-to-date? |
…-to-fields Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Promote sysctl annotations to fields # **What this PR does / why we need it**: Promoting experimental sysctl feature from annotations to API fields. **Special notes for your reviewer**: Following sysctl KEP: kubernetes/community#2093 **Release note**: ```release-note The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). PodSecurityPolicy and Pod objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective. ``` **TODO**: * [x] - Promote sysctl annotation in Pod spec * [x] - Promote sysctl annotation in PodSecuritySpec spec * [x] - Feature gate the sysctl * [x] - Promote from alpha to beta * [x] - docs PR - kubernetes/website#8804
…-to-fields Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Promote sysctl annotations to fields # **What this PR does / why we need it**: Promoting experimental sysctl feature from annotations to API fields. **Special notes for your reviewer**: Following sysctl KEP: kubernetes/community#2093 **Release note**: ```release-note The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). PodSecurityPolicy and Pod objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective. ``` **TODO**: * [x] - Promote sysctl annotation in Pod spec * [x] - Promote sysctl annotation in PodSecuritySpec spec * [x] - Feature gate the sysctl * [x] - Promote from alpha to beta * [x] - docs PR - kubernetes/website#8804 Kubernetes-commit: b6f75ac30e863531ac73cfd02a0edd57983cc5c0
…-to-fields Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Promote sysctl annotations to fields # **What this PR does / why we need it**: Promoting experimental sysctl feature from annotations to API fields. **Special notes for your reviewer**: Following sysctl KEP: kubernetes/community#2093 **Release note**: ```release-note The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). PodSecurityPolicy and Pod objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective. ``` **TODO**: * [x] - Promote sysctl annotation in Pod spec * [x] - Promote sysctl annotation in PodSecuritySpec spec * [x] - Feature gate the sysctl * [x] - Promote from alpha to beta * [x] - docs PR - kubernetes/website#8804 Kubernetes-commit: b6f75ac30e863531ac73cfd02a0edd57983cc5c0
…-to-fields Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Promote sysctl annotations to fields # **What this PR does / why we need it**: Promoting experimental sysctl feature from annotations to API fields. **Special notes for your reviewer**: Following sysctl KEP: kubernetes/community#2093 **Release note**: ```release-note The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). PodSecurityPolicy and Pod objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective. ``` **TODO**: * [x] - Promote sysctl annotation in Pod spec * [x] - Promote sysctl annotation in PodSecuritySpec spec * [x] - Feature gate the sysctl * [x] - Promote from alpha to beta * [x] - docs PR - kubernetes/website#8804 Kubernetes-commit: b6f75ac30e863531ac73cfd02a0edd57983cc5c0
sysctls: | ||
- name: kernel.shm_rmid_forced | ||
value: 1 | ||
- name: net.ipv4.route.min_pmtu |
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.
Why are networking-related knobs in the security context? This seems like the wrong structure to me?
…notations-kep KEP: Promote sysctl annotations to fields
Setting the
sysctl
parameters through annotations provided a successful storyfor defining better constraints of running applications.
The
sysctl
feature has been tested by a number of people without any seriouscomplaints. Promoting the annotations to fields (i.e. to beta) is another step in making the
sysctl
feature closer towards the stable API.