Skip to content
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

Runtimeclass podapi #67737

Merged
merged 4 commits into from Aug 23, 2018

Conversation

@tallclair
Copy link
Member

commented Aug 23, 2018

Adds (but doesn't implement) the RuntimeClass Pod API proposed in https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md

Based on the result (lazy consensus) of the alpha fields discussion on sig-architecture: https://groups.google.com/forum/#!topic/kubernetes-sig-architecture/y9FulL9Uq6A

For kubernetes/enhancements#585

Special notes for your reviewer:

Release note:

RuntimeClass is a new API resource for defining different classes of runtimes that may be used to run containers in the cluster. Pods can select a RuntimeClass to use via the RuntimeClassName field. This feature is in alpha, and the RuntimeClass feature gate must be enabled in order to use it.

/sig node
/kind api-change
/priority important-soon
/milestone v1.12

tallclair added some commits Aug 22, 2018

@tallclair

This comment has been minimized.

Copy link
Member Author

commented Aug 23, 2018

/assign @dchen1107
/assign @thockin

// More info: https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md
// This is an alpha feature and may change in the future.
// +optional
RuntimeClassName string

This comment has been minimized.

Copy link
@thockin

thockin Aug 23, 2018

Member

All new optional fields must be pointers.

This comment has been minimized.

Copy link
@tallclair

tallclair Aug 23, 2018

Author Member

Done

@@ -2571,6 +2571,12 @@ type PodSpec struct {
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
// +optional
ReadinessGates []PodReadinessGate
// RuntimeClassName refers to a RuntimeClass object with the same name, which should be used to

This comment has been minimized.

Copy link
@thockin

thockin Aug 23, 2018

Member

Can we be more precise about which apigroup this type exists in?

This comment has been minimized.

Copy link
@tallclair

tallclair Aug 23, 2018

Author Member

Done

@@ -2571,6 +2571,12 @@ type PodSpec struct {
// More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md
// +optional
ReadinessGates []PodReadinessGate
// RuntimeClassName refers to a RuntimeClass object with the same name, which should be used to
// run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.

This comment has been minimized.

Copy link
@thockin

thockin Aug 23, 2018

Member

Document what happens when this is unset.

This comment has been minimized.

Copy link
@tallclair

tallclair Aug 23, 2018

Author Member

Done

@lavalamp

This comment has been minimized.

Copy link
Member

commented Aug 23, 2018

/remove-sig api-machinery

@tallclair

This comment has been minimized.

Copy link
Member Author

commented Aug 23, 2018

/remove-sig api-machinery
/remove-sig apps

@tallclair

This comment has been minimized.

Copy link
Member Author

commented Aug 23, 2018

Thanks for the feedback @thockin
All comments addressed.

@thockin

This comment has been minimized.

Copy link
Member

commented Aug 23, 2018

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm label Aug 23, 2018

@k8s-ci-robot

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tallclair, thockin

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-github-robot

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

/test all [submit-queue is verifying that this PR is safe to merge]

@k8s-github-robot

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here.

@k8s-github-robot k8s-github-robot merged commit 40063e8 into kubernetes:master Aug 23, 2018

17 of 18 checks passed

Submit Queue Required Github CI test is not green: pull-kubernetes-kubemark-e2e-gce-big
Details
cla/linuxfoundation tallclair authorized
Details
pull-kubernetes-bazel-build Job succeeded.
Details
pull-kubernetes-bazel-test Job succeeded.
Details
pull-kubernetes-cross Skipped
pull-kubernetes-e2e-gce Job succeeded.
Details
pull-kubernetes-e2e-gce-100-performance Job succeeded.
Details
pull-kubernetes-e2e-gce-device-plugin-gpu Job succeeded.
Details
pull-kubernetes-e2e-gke Skipped
pull-kubernetes-e2e-kops-aws Job succeeded.
Details
pull-kubernetes-e2e-kubeadm-gce Skipped
pull-kubernetes-integration Job succeeded.
Details
pull-kubernetes-kubemark-e2e-gce-big Job succeeded.
Details
pull-kubernetes-local-e2e Skipped
pull-kubernetes-local-e2e-containerized Skipped
pull-kubernetes-node-e2e Job succeeded.
Details
pull-kubernetes-typecheck Job succeeded.
Details
pull-kubernetes-verify Job succeeded.
Details

k8s-github-robot pushed a commit that referenced this pull request Sep 1, 2018

Kubernetes Submit Queue
Merge pull request #68162 from tallclair/runtimeclass-rbac
Automatic merge from submit-queue (batch tested with PRs 67578, 68154, 68162, 65545). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Add RuntimeClass read permission for nodes

**What this PR does / why we need it**:
Add the necessary permissions for nodes to read RuntimeClasses when the feature gate is enabled.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
For kubernetes/enhancements#585

**Release note**:
Covered by #67737
```release-note
NONE
```

/sig node
/sig auth
/kind feature
/priority important-soon
/milestone v1.12

k8s-github-robot pushed a commit that referenced this pull request Sep 5, 2018

Kubernetes Submit Queue
Merge pull request #67909 from tallclair/runtimeclass-kubelet
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Dynamic RuntimeClass implementation

**What this PR does / why we need it**:

Implement RuntimeClass using the dynamic client to break the dependency on #67791

Once (if) #67791 merges, I will migrate to the typed client.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
For kubernetes/enhancements#585

**Release note**:
Covered by #67737
```release-note
NONE
```

/sig node
/kind feature
/priority important-soon
/milestone v1.12

k8s-github-robot pushed a commit that referenced this pull request Sep 5, 2018

Kubernetes Submit Queue
Merge pull request #68161 from tallclair/runtimeclass-addon
Automatic merge from submit-queue (batch tested with PRs 68161, 68023, 67909, 67955, 67731). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Register RuntimeClass CRD as an addon

**What this PR does / why we need it**:

Register the RuntimeClass CRD when the RuntimeClass feature gate is enabled. This is done in through the addon manager.

This is an alternative approach to #67924

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
For kubernetes/enhancements#585

**Release note**:
Covered by #67737
```release-note
NONE
```

/sig node
/kind feature
/priority important-soon
/milestone v1.12
@alexmavr

This comment has been minimized.

Copy link

commented Oct 25, 2018

There's a typo in the release note: RunitmeClass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.