diff options
| author | Tim Allclair <tallclair@google.com> | 2018-06-28 13:11:24 -0700 |
|---|---|---|
| committer | Tim Allclair <tallclair@google.com> | 2018-06-28 13:11:24 -0700 |
| commit | b6a138d14b14a55b2c1bd3c22cc5e76cb1c3aa1a (patch) | |
| tree | eb84dc5a1c49e1b21c48dc64880bb6bc5f8ebdbf | |
| parent | 59f35be8df123d4e36790a4f48ec7ecfab6ba0c1 (diff) | |
Add details about error handling
| -rw-r--r-- | keps/sig-node/0014-runtime-class.md | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/keps/sig-node/0014-runtime-class.md b/keps/sig-node/0014-runtime-class.md index 22aebd04..5c25a506 100644 --- a/keps/sig-node/0014-runtime-class.md +++ b/keps/sig-node/0014-runtime-class.md @@ -270,7 +270,8 @@ Getting upgrades and rollouts right is a very nuanced and complicated problem. F implementation, we will kick the can down the road by making the `RuntimeClassSpec` **immutable**, thereby requiring changes to be pushed as a newly named RuntimeClass instance. This means that pods must be updated to reference the new RuntimeClass, and comes with the advantage of native support -for rolling updates through the same mechanisms as any other application update. +for rolling updates through the same mechanisms as any other application update. The +`RuntimeClassName` pod field is also immutable post scheduling. This conservative approach is preferred since it's much easier to relax constraints in a backwards compatible way than tighten them. We should revisit this decision prior to graduating RuntimeClass @@ -284,6 +285,11 @@ resolved, a subset of its fields are passed to the CRI as part of the [`RunPodSa that point, the interpretation of the parameters is left to the CRI implementation, but they should be cached if needed for subsequent calls. +If the RuntimeClass cannot be resolved (e.g. doesn't exist) at Pod creation, then the request will +be rejected in admission (controller to be detailed in a following update). If the RuntimeClass +cannot be resolved by the Kubelet when `RunPodSandbox` should be called, then the Kubelet will fail +the Pod. The admission check on a replica recreation will prevent the scheduler from thrashing. + [RunPodSandboxRequest]: https://github.com/kubernetes/kubernetes/blob/b05a61e299777c2030fbcf27a396aff21b35f01b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto#L344 ### Risks and Mitigations |
