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

add a blog to introduce about kubeadm v1beta4 #47248

Merged
merged 3 commits into from
Aug 13, 2024

Conversation

pacoxu
Copy link
Member

@pacoxu pacoxu commented Jul 24, 2024

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. area/blog Issues or PRs related to the Kubernetes Blog subproject language/en Issues or PRs related to English language labels Jul 24, 2024
@pacoxu pacoxu marked this pull request as ready for review July 24, 2024 08:13
@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 Jul 24, 2024
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 24, 2024
Copy link

netlify bot commented Jul 24, 2024

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 00df7f2
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/66a0b76ebb251f0008053551
😎 Deploy Preview https://deploy-preview-47248--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Jul 24, 2024

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit b3629ec
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/66ac40d2c4c04a0008ac2bad
😎 Deploy Preview https://deploy-preview-47248--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

- For ClusterConfiguration, we add field including `CertificateValidityPeriod`, `CACertificateValidityPeriod`, `EncryptionAlgorithm`, `DNS.Disabled` and `Proxy.Disabled`.
- Support `ExtraEnvs` for all control plan components
- `ExtraArgs` changed from a map to structured extra arguments for duplicates
- Add a `Timeouts` structure for init, join, upgrade and reset.
Copy link
Contributor

Choose a reason for hiding this comment

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

Please always use the user-facing field names rather than the Go field names when possible. For example, say "imagePullSerial" instead of "ImagePullSerial".

Copy link
Member Author

Choose a reason for hiding this comment

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

/cc @neolit123
Do we want to change the style here?

In https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/, the changes docs are using go fields like the release notes.

In https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#resource-types and below, we use the user-facing field names.

Copy link
Contributor

Choose a reason for hiding this comment

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

For clarification's purpose. The config API reference is NOT generated directly from the k/k repository for two reasons:

  • The package in k/k/cmd/kubeadm is not importable from an external project.
  • The comments in the source code are not documenting fields in the way users see them.

What you are reading from k/website is generated from github.com/tengqm/kubeconfig repo, where I manually copied the kubeadm api repository and manually synchronize whatever changes made to k/k/cmd/kubeadm/api.

The "changes" doc are using Go fields because I failed to perform a line-by-line checking when that API was introduced.

Copy link
Member

Choose a reason for hiding this comment

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

Please always use the user-facing field names rather than the Go field names when possible. For example, say "imagePullSerial" instead of "ImagePullSerial".

i don't mind this format of using the JSON tags. this is something the docs team has been recommending to us on the blog and web pages and i agree with it.

Do we want to change the style here?

however for the style in the go.doc, that's also targeting developers, so i think field names also work.
we could make it simpler to use JSON field names everywhere. but that's like something we can do after 1.31 or another time.

Copy link
Member Author

Choose a reason for hiding this comment

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

I add 41b8f05 to make most places using user facing field names.

Copy link
Member

@neolit123 neolit123 left a comment

Choose a reason for hiding this comment

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

added a few minor comments, but LGTM
thanks for adding this blog @pacoxu

/sig cluster-lifecycle

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
- For ClusterConfiguration, we add field including `CertificateValidityPeriod`, `CACertificateValidityPeriod`, `EncryptionAlgorithm`, `DNS.Disabled` and `Proxy.Disabled`.
- Support `ExtraEnvs` for all control plan components
- `ExtraArgs` changed from a map to structured extra arguments for duplicates
- Add a `Timeouts` structure for init, join, upgrade and reset.
Copy link
Member

Choose a reason for hiding this comment

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

Please always use the user-facing field names rather than the Go field names when possible. For example, say "imagePullSerial" instead of "ImagePullSerial".

i don't mind this format of using the JSON tags. this is something the docs team has been recommending to us on the blog and web pages and i agree with it.

Do we want to change the style here?

however for the style in the go.doc, that's also targeting developers, so i think field names also work.
we could make it simpler to use JSON field names everywhere. but that's like something we can do after 1.31 or another time.

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added the sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. label Jul 25, 2024
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 25, 2024
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 26, 2024
Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

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

Thanks. As you'll see in the inline feedback, I recommend calling this thing a “configuration file format“ (and not an API). API implies that something is invoking remote procedures to reconfigure kubeadm, and that's not what we're describing here.

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
Comment on lines 21 to 23
The documentation is maintained in the
[code](https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/apis/kubeadm/v1beta4/doc.go)
and generated for the kubernetes.io website.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think readers will want to know this detail.

Suggested change
The documentation is maintained in the
[code](https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/apis/kubeadm/v1beta4/doc.go)
and generated for the kubernetes.io website.

Copy link
Member Author

Choose a reason for hiding this comment

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

OK to remove this. But for kube contributors, this is still a thing that they should know.

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
@sftim
Copy link
Contributor

sftim commented Jul 27, 2024

/hold

OK to unhold once:

  • the publication date is agreed with release comms, and is correct in the front matter
  • Kubernetes v1.31 has been released

(wait for both conditions to be met)

@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 Jul 27, 2024
Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

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

This feedback is less important, but will help readers clearly understand what we are explaining.

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md Outdated Show resolved Hide resolved
Comment on lines 64 to 67
- Add a `certificateValidityPeriod` and `caCertificateValidityPeriod` fields to `ClusterConfiguration`. These fields
can be used to control the validity period of certificates generated by kubeadm during sub-commands such as `init`,
`join`, `upgrade` and `certs`. Default values continue to be 1 year for non-CA certificates and 10 years for CA
certificates. Only non-CA certificates continue to be renewable by `kubeadm certs renew`.
Copy link
Contributor

Choose a reason for hiding this comment

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

That last sentence confuses me. Which of these do we mean:

  • there is no change to which certificates you can renew using kubeadm certs renew; as in previous minor releases, only leaf certificates can be renewed.
  • changed the behavior of kubeadm certs renew. In kubeadm v1.31, you can only renew leaf certificates; if you need to renew or replace any CA certificate (either the trust anchor or an intermediate certificate), you must now find an alternative mechanism.

Let's help readers by rewording, so that only one meaning makes sense.

Copy link
Member Author

Choose a reason for hiding this comment

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

The first one.

No behavior change here.

@tengqm
Copy link
Contributor

tengqm commented Jul 29, 2024

/lgtm

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

LGTM label has been added.

Git tree hash: bffe6fc6ec20be5442b7dafb287e65d8ceac0182

Copy link
Contributor

Choose a reason for hiding this comment

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

Filename nit; did you mean content/en/blog/_posts/2024-08-23-kubeadm-v1beta4.md?

Copy link
Member Author

@pacoxu pacoxu Aug 2, 2024

Choose a reason for hiding this comment

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

Missed that one. Fixed.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 2, 2024
@sftim
Copy link
Contributor

sftim commented Aug 2, 2024

/lgtm
/approve

🛑 Do not unhold until Kubernetes v1.31 is released 🛑

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

LGTM label has been added.

Git tree hash: 062f7ae1cb5828b48dc16824f6eef4025ac4c953

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 2, 2024
@sftim
Copy link
Contributor

sftim commented Aug 2, 2024

🛑 Do not unhold until Kubernetes v1.31 is released 🛑

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.

/approve
/lgtm

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

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

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

@dipesh-rawat
Copy link
Member

/unhold

Kubernetes v1.31 has been released.

@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 Aug 13, 2024
@k8s-ci-robot k8s-ci-robot merged commit 5a283be into kubernetes:main Aug 13, 2024
6 checks passed
@inductor inductor mentioned this pull request Aug 28, 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. area/blog Issues or PRs related to the Kubernetes Blog subproject 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. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: Published
Development

Successfully merging this pull request may close these issues.

10 participants