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
Cluster versioning #4855
Comments
Hi @zmerlynn , do you need any help with this issue ? If yes, which work items could I work on ? Thanks ! |
This is a P1 and needs an owner. @zmerlynn if you are planning to drive it, please assign to yourself, otherwise it sounds like @rsokolowski is interested in starting on it. |
I think a chunk of this work is actually on Dawn, but let me figure out how to piece it out. |
cc @dchen1107 I think the first bullet, reporting the actual version somewhere, is probably somewhere on the node team. It seems like it could hook in with the status update mechanism for #4562 so that we're just doing one status update, but we don't necessarily need to update that often. The second bullet (keeping track of all the versions) is ostensibly the NodeController. The third bullet, having apiserver only speak the minimum, I'm not sure where it fits: ideally in a rolling upgrade scenario, you'd have some interconnection from NodeController to the The last bullet is waiting on the merge of #4833, and is otherwise, I think a testing and policy bullet. Which is complicated in its own right, but doesn't need a lot of upfront design. |
This is awesome, @zmerlynn—thanks for nailing down the version requirements and writing out the 1.0 upgrade plan in understandable English. I'm going to be removing the upgrade parts of this to shove them in the other rollups (master #6075 and node #6079). That way, this can be specifically the versioning rollup and we can split the work nicely into three separate issues. I think I've covered everything upgrade-related in those, but I really liked the clear description of upgrades for 1.0 you wrote in this, so I'm going to transfer that to one or both of them. Let me know if I missed something in this transition, and sorry if I confused anyone's issue linking by doing this! |
|
Field gate proposal: https://docs.google.com/document/d/1wuoSqHkeT51mQQ7dIFhUKrdi3-1wbKrNWeIL4cKb9zU/edit# Note also that the concept of "profiles" is being discussed, for multiple purposes. |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
@zmerlynn - can you triage this issue? |
/remove-lifecycle stale I'd like to keep this open. We have a number of challenges around cluster lifecycle that I'd like to consider holistically:
|
cc @jagosan |
Operations:
Strawman upgrade sequence:
Default storage versions can't be updated until after step 1. |
@bgrant0607 why is this frozen ? it seems it was originally created for 1.0 in 2015, but has lot of relevant details that could become a documentation link or KEP for how clusters should be upgraded , but not sure i have seen any of those documentation. |
@krmayankk It's fine to close this issue, though AFAIK, neither the upgrade/downgrade sequencing, nor lifecycle stages, nor teardown operations, nor the other proposals mentioned above (#4855 (comment)) have been implemented. More specific issues, such as #54522 have been filed. /close |
@bgrant0607: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This issue is a proposal and collection of work-items for the cluster versioning mechanics for 1.0. It is meant to contain concepts from #2524 and decisions from the 2015/02 Kubernetes Meet-up as to what to encapsulate/cut for 1.0:
Versioning requirements for
kubelet
:kubelet
version tuple must be reported for the cross-product of, at least, (kubelet, docker, kernel).apiserver
. Since, as we'll see in the Upgrade section, these versions are bundled, the tuple itself may be encodable linearly (i.e. "kubelet image 97" for a given cloud provider / node image.) (Kubelet publish node components' version #5948)apiserver
must speak only the capabilities of the least capablekubelet
software version (the first part of the tuple)apiserver
of versionn.x
must be accessible to a kubelet of versionn.y
ifx>=y
. When in doubt, the versioning policy trumps this issue as to what API versions are required to interoperate, except that for 1.0 master components are always allowed to assume they're ahead of kubelet.The text was updated successfully, but these errors were encountered: