Skip to content

Commit 841ab77

Browse files
committed
use the user-facing field names rather than the Go field names when possible
1 parent bb82979 commit 841ab77

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

content/en/blog/_posts/2024-09-20-kubeadm-v1beta4.md

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
layout: blog
33
title: 'Kubernetes v1.31: kubeadm v1beta4'
4-
date: 2024-09-20
4+
date: 2024-08-23
55
slug: kubernetes-1-31-kubeadm-v1beta4
66
author: >
7-
Paco Xu (DaoCloud),
7+
Paco Xu (DaoCloud)
88
---
99

1010
The [`kubeadm`](/docs/reference/setup-tools/kubeadm/) configuration
@@ -30,57 +30,58 @@ format by fixing some minor issues and adding a few new fields.
3030
To put it simply,
3131

3232
- Two new API types: ResetConfiguration and UpgradeConfiguration
33-
- For InitConfiguration and JoinConfiguration, `dryRun` mode and `NodeRegistration.ImagePullSerial` are supported
34-
- For ClusterConfiguration, we add field including `CertificateValidityPeriod`,
35-
`CACertificateValidityPeriod`, `EncryptionAlgorithm`, `DNS.Disabled` and `Proxy.Disabled`.
36-
- Support `ExtraEnvs` for all control plan components
37-
- `ExtraArgs` changed from a map to structured extra arguments for duplicates
38-
- Add a `Timeouts` structure for init, join, upgrade and reset.
33+
- For InitConfiguration and JoinConfiguration, `dryRun` mode and `nodeRegistration.imagePullSerial` are supported
34+
- For ClusterConfiguration, we add field including `certificateValidityPeriod`,
35+
`caCertificateValidityPeriod`, `encryptionAlgorithm`, `dns.disabled` and `proxy.disabled`.
36+
- Support `extraEnvs` for all control plan components
37+
- `extraArgs` changed from a map to structured extra arguments for duplicates
38+
- Add a `timeouts` structure for init, join, upgrade and reset.
3939

4040
For details, you can see the official document below:
4141

4242
- Support custom environment variables in control plane components under `ClusterConfiguration`.
43-
Use `APIServer.ExtraEnvs`, `ControllerManager.ExtraEnvs`, `Scheduler.ExtraEnvs`, `Etcd.Local.ExtraEnvs`.
43+
Use `apiServer.extraEnvs`, `controllerManager.extraEnvs`, `scheduler.extraEnvs`, `etcd.local.extraEnvs`.
4444
- The ResetConfiguration API type is now supported in v1beta4. Users are able to reset a node by passing
4545
a `--config` file to "kubeadm reset".
46-
- `dryRun` mode in is now configurable in InitConfiguration and JoinConfiguration.
46+
- `dryRun` mode is now configurable in InitConfiguration and JoinConfiguration.
4747
- Replace the existing string/string extra argument maps with structured extra arguments that support duplicates.
48-
The change applies to `ClusterConfiguration` - `APIServer.ExtraArgs`, `ControllerManager.ExtraArgs`,
49-
`Scheduler.ExtraArgs`, `Etcd.Local.ExtraArgs`. Also to `NodeRegistrationOptions.KubeletExtraArgs`.
50-
- Add `ClusterConfiguration.EncryptionAlgorithm` that can be used to set the asymmetric encryption algorithm
48+
The change applies to `ClusterConfiguration` - `apiServer.extraArgs`, `controllerManager.extraArgs`,
49+
`scheduler.extraArgs`, `etcd.local.extraArgs`. Also to `nodeRegistrationOptions.kubeletExtraArgs`.
50+
- Add `ClusterConfiguration.encryptionAlgorithm` that can be used to set the asymmetric encryption algorithm
5151
used for this cluster's keys and certificates. Can be one of "RSA-2048" (default), "RSA-3072", "RSA-4096" or "ECDSA-P256".
52-
- Add `ClusterConfiguration.DNS.Disabled` and `ClusterConfiguration.Proxy.Disabled` that can be used to disable
52+
- Add `ClusterConfiguration.dns.disabled` and `ClusterConfiguration.proxy.disabled` that can be used to disable
5353
the CoreDNS and kube-proxy addons during cluster initialization. Skipping the related addons phases,
54-
during cluster creation will set the same fields to `false`.
55-
- Add the `NodeRegistration.ImagePullSerial` field in `InitConfiguration` and `JoinConfiguration`, which
54+
during cluster creation will set the same fields to `true`.
55+
- Add the `nodeRegistration.imagePullSerial` field in `InitConfiguration` and `JoinConfiguration`, which
5656
can be used to control if kubeadm pulls images serially or in parallel.
57-
- The UpgradeConfiguration kubeadm API is now supported in v1beta4 when passing --config to "kubeadm upgrade" subcommands.
58-
Usage of component configuration for kubelet and kube-proxy, InitConfiguration and ClusterConfiguration is deprecated
59-
and will be ignored when passing `--config` to upgrade subcommands.
60-
- Add a `Timeouts` structure to `InitConfiguration`, `JoinConfiguration`, `ResetConfiguration` and `UpgradeConfiguration`
61-
that can be used to configure various timeouts. The `ClusterConfiguration.TimeoutForControlPlane` field is replaced
62-
by `Timeouts.ControlPlaneComponentHealthCheck`. The `JoinConfiguration.Discovery.Timeout` is replaced by
63-
`Timeouts.Discovery`.
64-
- Add a `CertificateValidityPeriod` and `CACertificateValidityPeriod` fields to `ClusterConfiguration`. These fields
57+
- The UpgradeConfiguration kubeadm API is now supported in v1beta4 when passing `--config` to "kubeadm upgrade" subcommands.
58+
For upgrade subcommands, the usage of component configuration for kubelet and kube-proxy, as well as InitConfiguration and
59+
ClusterConfiguration, is deprecated and will be ignored when passing `--config`.
60+
- Add a `timeouts` structure to `InitConfiguration`, `JoinConfiguration`, `ResetConfiguration` and `UpgradeConfiguration`
61+
that can be used to configure various timeouts. The `ClusterConfiguration.timeoutForControlPlane` field is replaced
62+
by `timeouts.controlPlaneComponentHealthCheck`. The `JoinConfiguration.discovery.timeout` is replaced by
63+
`timeouts.discovery`.
64+
- Add a `certificateValidityPeriod` and `caCertificateValidityPeriod` fields to `ClusterConfiguration`. These fields
6565
can be used to control the validity period of certificates generated by kubeadm during sub-commands such as `init`,
6666
`join`, `upgrade` and `certs`. Default values continue to be 1 year for non-CA certificates and 10 years for CA
6767
certificates. Only non-CA certificates continue to be renewable by `kubeadm certs renew`.
6868

69-
The aim of those changes can be summarized as making tools that use kubeadm easier to configure
70-
and make kubeadm easier to extend.
69+
These changes simplify the configuration of tools that use kubeadm
70+
and improve the extensibility of kubeadm itself.
7171

7272
### How to migrate v1beta3 configuration to v1beta4?
7373

74-
If your configuration is not using the latest version it is **recommended** that you migrate using
74+
If your configuration is not using the latest version, it is recommended that you migrate using
7575
the [kubeadm config migrate](/docs/reference/setup-tools/kubeadm/kubeadm-config/#cmd-config-migrate) command.
7676

77-
Read an older version of the kubeadm configuration API types from a file, and output the similar config object for the newer version
77+
This command reads an older version of the kubeadm configuration API types from a file,
78+
and writes a newer version of the configuration objects into a new file.
7879

7980
Using kubeadm v1.31, run `kubeadm config migrate --old-config old-v1beta3.yaml --new-config new-v1beta4.yaml`
8081

8182
## How do I get involved?
8283

83-
Huge thank you to all the contributors who helped with the design, implementation,
84+
Huge thanks to all the contributors who helped with the design, implementation,
8485
and review of this feature:
8586

8687
- Lubomir I. Ivanov ([neolit123](https://github.com/neolit123))

0 commit comments

Comments
 (0)