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

kubeadm: update documentation for 1.30 #45156

Merged

Conversation

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language labels Feb 15, 2024
@k8s-ci-robot k8s-ci-robot added sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 15, 2024
@neolit123 neolit123 changed the title PLACEHOLDER: kubeadm: update documentation for 1.30 WIP: ubeadm: update documentation for 1.30 Feb 15, 2024
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 15, 2024
Copy link

netlify bot commented Feb 15, 2024

👷 Deploy Preview for kubernetes-io-vnext-staging processing.

Name Link
🔨 Latest commit c9618c7
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/65eef0721a7e6100080cbd7a

@neolit123 neolit123 changed the title WIP: ubeadm: update documentation for 1.30 WIP: kubeadm: update documentation for 1.30 Feb 15, 2024
@neolit123
Copy link
Member Author

/sig cluster-lifecycle

@k8s-ci-robot k8s-ci-robot added the sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. label Feb 15, 2024
@reylejano
Copy link
Member

/milestone 1.30

@k8s-ci-robot k8s-ci-robot added this to the 1.30 milestone Feb 16, 2024
@neolit123 neolit123 force-pushed the 1.30-update-kubeadm-docs branch from c710e61 to 18aa143 Compare March 1, 2024 11:56
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 1, 2024
@@ -1,7 +1,4 @@
---
reviewers:
- luxas
- jbeda
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

side cleanup

@Vyom-Yadav
Copy link
Member

Hey @neolit123 👋 please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday March 12th 2024 18:00 PST. Thank you!

@neolit123
Copy link
Member Author

Hey @neolit123 👋 please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday March 12th 2024 18:00 PST. Thank you!

thanks, i think this is ready for review unless we are missing something else?
/cc @pacoxu @SataQiu

i don't think we have any FG changes or any other docs in 1.30, do we?

@k8s-ci-robot k8s-ci-robot requested review from pacoxu and SataQiu March 5, 2024 17:50
@neolit123
Copy link
Member Author

/hold
for review

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 5, 2024
@neolit123 neolit123 changed the title WIP: kubeadm: update documentation for 1.30 kubeadm: update documentation for 1.30 Mar 5, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 5, 2024
@neolit123 neolit123 force-pushed the 1.30-update-kubeadm-docs branch from 18aa143 to 0622c5e Compare March 6, 2024 11:05
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 6, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 2380b1a3b3ed38e604fec8572a4702ca3397fa6d

@pacoxu
Copy link
Member

pacoxu commented Mar 7, 2024

/assign @tengqm

Copy link
Member

@SataQiu SataQiu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@pacoxu
Copy link
Member

pacoxu commented Mar 11, 2024

/assign @sftim

@@ -184,6 +182,14 @@ for `kube-apiserver`, `kube-controller-manager`, `kube-scheduler` and `etcd` to
If the flag is not set, those components run as root. You can change the value of this feature gate before
you upgrade to a newer version of Kubernetes.

`WaitForAllControlPlaneComponents`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When does this wait starts and ends?
Why should I care about this gate?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When does this wait starts and ends?

NewWaitControlPlanePhase is a hidden phase that runs after the control-plane and etcd phases. It is a phase in kubeadm init and kubeadm join for a control-plane node.

It is after etcd&control-plane and before upload-config.

In kubeadm init, this hidden phase is after NewEtcdPhase and NewControlPlanePhase.

In kubeadm join, it is the last phase after general control-plane joins(in the joining, etcd is ready and node is marked as control-plane and )
https://github.com/kubernetes/kubernetes/blob/87412809b7df44da06c5fa54f8b29d37012693af/cmd/kubeadm/app/cmd/join.go#L222-L224

Why should I care about this gate?

We add the FG to keep the old behavior without enabling it. In v1.30, it will be tested in alpha level. Later we will shift to beta and GA.

If users want to wait for all components to be ready before init/join control-plan exits, they can enable their FG now.

kubernetes/kubeadm#2907 is a use case.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this explains it well, @pacoxu thanks.
i personally think the level of detail in the pr diff is enough for the users, but happy to amend something.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding the sentence:

The wait process starts right after the kubelet on the host is started by kubeadm

@sftim
Copy link
Contributor

sftim commented Mar 11, 2024

@neolit123 this PR is held, you mentioned “for review“. When would it be OK to unhold it? (we always review PRs before merge)

Comment on lines 186 to 191
: With this feature gate enabled kubeadm will wait for all control plane components (kube-apiserver,
kube-controller-manager, kube-scheduler) on a control plane node to report status 200 on their `/healthz`
endpoints. These checks are performed on `https://127.0.0.1:PORT/healthz`, where `PORT` is taken from
`--secure-port` of a component. If you specify custom `--secure-port` values in the kubeadm configuration
they will be respected. Without the feature gate enabled, kubeadm will only wait for the kube-apiserver
on a control plane node to become ready.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's quite declarative / descriptive and there is room to make it more informative.

This text doesn't give the reader a clue about whether we advise them to run with it enabled or disabled (which is different from what the default setting is). Readers also don't get to learn under what circumstances they should think about turning it back off.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding the sentence

You are advised to enable this feature gate in case you wish to observe a ready
state from all control plane components during the kubeadm init or kubeadm join command execution.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text doesn't give the reader a clue about whether we advise them to run with it enabled or disabled (which is different from what the default setting is). Readers also don't get to learn under what circumstances they should think about turning it back off.

i think this is a detail missing in most documented core k8s feature gates.

- Add feature gate WaitForAllControlPlaneComponents
@neolit123 neolit123 force-pushed the 1.30-update-kubeadm-docs branch from 0622c5e to c9618c7 Compare March 11, 2024 11:52
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 11, 2024
@neolit123
Copy link
Member Author

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 11, 2024
Copy link
Member

@SataQiu SataQiu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 12, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 363584cf922b32ce429acf1263a28603e46afaeb

@reylejano
Copy link
Member

Thank you for adding the explanation, it will help users
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: reylejano, SataQiu

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-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 12, 2024
@k8s-ci-robot k8s-ci-robot merged commit fc30a3a into kubernetes:dev-1.30 Mar 12, 2024
6 checks passed
@drewhagen
Copy link
Member

/milestone 1.30

@k8s-ci-robot k8s-ci-robot added this to the 1.30 milestone Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
Status: Tracked for Doc Freeze
Development

Successfully merging this pull request may close these issues.

9 participants