-
Notifications
You must be signed in to change notification settings - Fork 717
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
Expose the kubeadm join workflow as phases #1204
Comments
I can work on it in the next cycle |
@yagonobre great! |
/assign we are going to track the work in this issue and possibly have volunteers help us with that. after this PR merged: |
I'm also willing to help with this effort, as of todays kubeadm office hours meeting. |
I can also help with this effort. |
taking control-plane-join phase. |
@RA489 thanks, assigned. as a reminder, please note that the PRs have to come in order. |
I can take |
@neolit123 i can take the |
thanks @ereslibre and @MalloZup . |
I can take kubelet-start |
thanks you @yagonobre |
@MalloZup: GitHub didn't allow me to assign the following users: MalloZup. Note that only kubernetes members and repo collaborators can be assigned and that issues/PRs can only have 10 assignees at the same time. 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. |
the base PR for phases in join has merged. |
@neolit123 thx for infos. yop i'm looking at it 🚀 |
|
thanks for everyone who contributed. all the PRs for phases are added. it will be OK to push bugfixes even after code freeze. |
i will help next week or later this week to verify the join phases. also this doc already has outlined some nits (thanks @fabriziopandini ) |
we are pretty much done here, minus:
which is for 1.15. and auditing. |
closing this ticket as the work here is done. |
as per comment kubernetes/kubernetes#70333 (comment)
in v1.12 we are exposing the kubeadm init workflow as phases, and moving all the other commands formerly hoster under
kubeadm alpha phase
tokubeadm alpha
(without phases).This re-shuffle includes also subcommands that are part of the kubeadm join workflow (e.g.
preflight node
,kubelet config download
).if there is consensus, we should start from those pieces and expose also the kubeadm join workflow as phases
plan:
old KEP for phases:
https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/0029-20180918-kubeadm-phases-beta.md
(neolit123): here is document for discussing the phases for join:
https://docs.google.com/document/d/1nkTy7r1pBZvQT_YnuGHEQ5MrQZBaC2A7frXxzd6y7m0/edit?usp=sharing
we need to evict the Run method from join.go and move the logic to join phases.
the phase runner mechanic that we use in init.go should be used for that.
NOTE: the merging of PRs should happen in the exact order bellow.
list of phases, action items, PRs, assignees :
item: move the fetching of init configuration to
joinData struct
+ prepare for phases.assigned: @neolit123
join
kubernetes#73029notes: we need to move the init config from Run() to joinData as an (e.g.) initConfig field.
this is is a preliminary step and has to happen before everything else
item: get args working for leaf phases
assigned: @ereslibre
item: phase name
preflight
assigned: @MalloZup
note: includes the following logic:
item: phase name
control-plane-prepare
assigned: @ereslibre
notes: function name is
PrepareForHostingControlPlane
has these sub phases:
certs
(create PKI assets)kubeconfig
manifests
plus an additional hidden phase named etcdCheck
if initConfiguration.Etcd.External == nil
from PrepareForHostingControlPlane)item: phase name
kubelet-start
assigned: @yagonobre
notes: function name is
BootstrapKubelet
no sub phases, all logic in a single runner callback function.
item: phase name
control-plane-join
assigned: @RA489
notes: main function name is
PostInstallControlPlane
but also code fromRun()
has these sub phases:
etcd-local
upload-config
mark-control-plane
item: make a final check on the UX, with focus on args (e.g. evaluate if args should be made phase specific)
See document Auditing Join Phases
https://docs.google.com/document/d/1tqgjB_KJMeYAXHYqOuBKKpCLSzxVgSl-MUfXf7d8C8U/edit?usp=sharing
Decide on how to handle the extra arg (see comment on the issue)
#1375
assigned: TBD
Fix labels and help messages
assigned: @fabriziopandini
First pass on flags (add missing flags, optimize usage of discovery flags)
assigned: @fabriziopandini
Second pass on flags (check and remove flags marked as why?)
assigned: @neolit123
Cleanup of join output (all the message should be prefixed by the phase name, where possible print messages should be made equal to init)
assigned: @neolit123
Cleanup of preflight checks (join call preflight twice; make the second call skip checks already executed by the first one or make a new preflight check function for join control-plane)
assigned: @neolit123
The text was updated successfully, but these errors were encountered: