-
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
update kubeadm phases kep to support upgrade #1298
Conversation
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, Klaven!
In general SGTM!
- As a kubernetes administrator/IT automation tool, I used kubeadm init/join and | ||
excluded some phases, I want to run all the phases of kubeadm upgrade except | ||
for some phases. |
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.
Maybe
- As a kubernetes administrator/IT automation tool, I want to run only one or some phases
of the `kubeadm upgrade` workflow.
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.
We should probably emphasize, that these phases are usually equivalent to the ones already excluded during init/join.
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.
Will do.
@@ -74,7 +74,8 @@ duplication of code or in some case inconsistencies between the init and phase i | |||
- This proposal doesn't include a plan for implementation of phases in workflows | |||
different than the `kubeadm init` workflow; such plans will be defined by the sig | |||
during release planning for each cycle, and then documented in this KEP. | |||
- v1.14 implementation of phases in the `kubeadm join` workflow (planned) | |||
- v1.14 implementation of phases in the `kubeadm join` workflow | |||
- v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow |
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.
Maybe just kubeadm upgrade
[1]
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.
@yagonobre 👍 I did it this way because really it is the sub commands... but not all of them because I was looking at diff
and am not sure it would apply... But if everyone is fine with just kubeadm upgrade
that sounds good to me.
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.
Make senses, I don't have a hard opinion, at least from me it's up to you.
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'll wait and see if others say anything. I too don't have a hard opinion :)
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.
Let's narrow it down to kubeadm upgrade apply
for 1.17. node
already has phases and plan
can be seen as a sub-set of apply
(they go together).
@@ -110,15 +114,15 @@ own, nested, ordered sequence of phases. For instance: | |||
```` | |||
|
|||
The above list of ordered phases should be made accessible from all the command supporting phases | |||
via the command help, e.g. `kubeadm init --help` (and eventually in the future `kubeadm join --help` etc.) | |||
via the command help, e.g. `kubeadm init --help` (and eventually in the future `kubeadm join --help` and `kubeadm upgrade apply/plan/node --help` etc.) |
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.
[1]
|
||
Additionally we are going to improve consistency between the command outputs/logs with the name of phases | ||
defined in the above list. This will be achieved by enforcing that the prefix of each output/log should match | ||
the name of the corresponding phase, e.g. `[certs/ca] Generated ca certificate and key.` instead of the current | ||
`[certificates] Generated ca certificate and key.`. | ||
|
||
Single phases will be made accessible to the users via a new `phase` sub command that will be nested in the | ||
command supporting phases, e.g. `kubeadm init phase` (and eventually in the future `kubeadm join phase` etc.). e.g. | ||
command supporting phases, e.g. `kubeadm init phase` and `kubeadm join phase` (and eventually in the future `kubeadm upgrade apply/plan/node phase` etc.). e.g. |
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.
[1]
@@ -152,7 +156,8 @@ workflows e.g. reuse of phase `certs` in both `kubeadm init` and `kubeadm join` | |||
* [#61631](https://github.com/kubernetes/kubernetes/pull/61631) First prototype implementation | |||
(now outdated) | |||
* v1.13 implementation of phases in the `kubeadm init` workflow | |||
* v1.14 implementation of phases in the `kubeadm join` workflow (planned) | |||
* v1.14 implementation of phases in the `kubeadm join` workflow | |||
* v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow (planned) |
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.
[1]
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.
v1.17 is kubeadm upgrade apply/plan
. kubeadm upgrade node
was done in one of the previous cycles (although I can't remember which one).
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 @Klaven !
Looks good for a start. Only minor nits.
@@ -74,7 +74,8 @@ duplication of code or in some case inconsistencies between the init and phase i | |||
- This proposal doesn't include a plan for implementation of phases in workflows | |||
different than the `kubeadm init` workflow; such plans will be defined by the sig | |||
during release planning for each cycle, and then documented in this KEP. | |||
- v1.14 implementation of phases in the `kubeadm join` workflow (planned) | |||
- v1.14 implementation of phases in the `kubeadm join` workflow | |||
- v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow |
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.
Let's narrow it down to kubeadm upgrade apply
for 1.17. node
already has phases and plan
can be seen as a sub-set of apply
(they go together).
- As a kubernetes administrator/IT automation tool, I used kubeadm init/join and | ||
excluded some phases, I want to run all the phases of kubeadm upgrade except | ||
for some phases. |
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.
We should probably emphasize, that these phases are usually equivalent to the ones already excluded during init/join.
@@ -152,7 +156,8 @@ workflows e.g. reuse of phase `certs` in both `kubeadm init` and `kubeadm join` | |||
* [#61631](https://github.com/kubernetes/kubernetes/pull/61631) First prototype implementation | |||
(now outdated) | |||
* v1.13 implementation of phases in the `kubeadm init` workflow | |||
* v1.14 implementation of phases in the `kubeadm join` workflow (planned) | |||
* v1.14 implementation of phases in the `kubeadm join` workflow | |||
* v1.17 implementation of phases in the `kubeadm upgrade apply/plan/node` workflow (planned) |
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.
v1.17 is kubeadm upgrade apply/plan
. kubeadm upgrade node
was done in one of the previous cycles (although I can't remember which one).
/lgtm |
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.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Klaven, neolit123, timothysc 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 |
This update to the kubeadm phases kep is to add support for phases in the
kubeadm upgrade apply
workflow.issues resolved by this:
kubernetes/kubeadm#1318
kubernetes/kubeadm#1756
I also updated the KEP to document the
kubeadm upgrade node
phases workflow.