-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Identify Pod's OS during API Server admission #2803
Identify Pod's OS during API Server admission #2803
Conversation
40455d0
to
3a90d78
Compare
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.
Thanks for opening this enhancement, @ravisantoshgudimetla
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/kep.yaml
Show resolved
Hide resolved
So far this looks good. I'd like to see more details about which all specific plugins will be aware of this feature flag and what specific behavior will change if pods get identified as targeting Windows. |
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.
Thanks for the reviews @aravindhp @marosset. I tried answering questions in comments. Let me know if you are fine with the approach. I'll proceed to update the KEP along with sample implementation.
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
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.
Thanks for the review @tallclair.
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
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 to include feedback
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
## Design Details | ||
|
||
|
||
We can piggyback on the existing RuntimeClass admission controller to query for the RuntimeClass and see if it has |
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.
it's unclear what this is proposing the existing RuntimeClass admission plugin do... forbid pods which set a kubernetes.io/os: windows
spec.nodeSelector and don't set a runtimeClassName?
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.
I can update this section to make it clear.
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.
Thank you for the review @liggitt. I tried answering your questions. PTAL and let me know your thoughts.
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
## Design Details | ||
|
||
|
||
We can piggyback on the existing RuntimeClass admission controller to query for the RuntimeClass and see if it has |
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.
I can update this section to make it clear.
and need not necessarily express the user intention fully. | ||
- The pod may target Windows node but pod OS may be linux or windows | ||
as Linux Containers on Windows(LCOW) can be supported in future. | ||
|
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.
the actual proposal starts here
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Show resolved
Hide resolved
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.
aside from the updates requested by @liggitt and my request that we ensure the pod validation for windows correlates to an e2e test that demonstrates the function on windows, this lgtm from a sig-node perspective.
// We're making this a struct for possible future expansion. | ||
type OS struct { | ||
// Name of the OS. The values supported are available at: | ||
// https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration |
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.
the node platforms are distinct from supported operating system value. i had linked @ravisantoshgudimetla to the OCI spec for reference as a potential future set, but we should only support linux
or windows
at this time which maps to present support.
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Show resolved
Hide resolved
keps/sig-windows/2802-identify-windows-pods-apiserver-admission/README.md
Outdated
Show resolved
Hide resolved
the PRR lgtm /approve |
API and PodSecurity bits lgtm |
/lgtm |
/label tide/merge-method-squash |
/approve for sig-node |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, derekwaynecarr, marosset, ravisantoshgudimetla 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 |
1 similar comment
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, derekwaynecarr, marosset, ravisantoshgudimetla 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 |
I think all requests were satisfied. /hold cancel |
* Identify Windows Pods during API Server admission * Address reviewers comments * Apply suggestions from code review Co-authored-by: jay vyas <jayunit100.github@gmail.com> * Apply suggestions from code review Co-authored-by: jay vyas <jayunit100.github@gmail.com> Co-authored-by: Wei Huang <weih@hey.com> * Address reviewers comments * Address reviewers comments * Apply suggestions from code review Co-authored-by: jay vyas <jayunit100.github@gmail.com> * Address reviewers comments * Address reviewers comments * Address reviewers comments Co-authored-by: jay vyas <jayunit100.github@gmail.com> Co-authored-by: Wei Huang <weih@hey.com>
#2802