Starting with v1.4.0, KubeOne comes with a new v1beta2 version of the KubeOneCluster API. The new API is similar to the v1beta2 API, with a couple of improvements.
This document shows how to migrate from the v1beta1 API to the v1beta2 API, as well as, what has been changed between two versions.
It remains possible to use all KubeOne commands with the v1beta1 manifest, however, it’s strongly advised to migrate to the latest API version as soon as possible.
To migrate to the v1beta2 API, you must upgrade KubeOne to v1.4.0 or newer.
config migrate
commandThe config migrate
command automatically migrates the v1beta1 manifests to
the new v1beta2 API. The command takes the path to the v1beta1 manifest
and prints the converted manifest to the standard output.
Example usage:
kubeone config migrate --manifest kubeone.yaml
It’s strongly advised to compare the old and new manifests to ensure that no information is missing in the new manifest. If you see anything unexpected and not covered by the The API Changelog portion of this document, please file a new issue on GitHub.
The API version of the new API is v1beta2
. The kind remains KubeOneCluster
.
The API group has been changed from kubeone.io
to kubeone.k8c.io
.
# v1beta1 API
apiVersion: kubeone.io/v1beta1
# v1beta2 API
apiVersion: kubeone.k8c.io/v1beta2
The addons path has been defaulted to ./addons
in the v1beta1 API.
Additionally, the addons path was required and the directory must have existed.
To better support the embedded addons, we don’t default the addons directory
to ./addons
any longer. Instead, the addons path isn’t required as long as
you use only embedded addons.
The migration command will put set the addons path to ./addons
to keep the
backwards compatibility. If you only use the embedded addons, you can remove
the addons path manually after migrating the config file.
The PodPresets feature has been a no-op since Kubernetes 1.20 because the feature was removed from Kubernetes. This feature is now removed from the KubeOneCluster API as well.
The AssetConfiguration API has been removed in the v1beta2 API, along with support for Amazon EKS-D clusters.
If you are using the AssetConfiguration API to mitigate the issue with the CoreDNS image when using the overwrite registry feature, you can use the latest image loader script or the mirror registries feature.
Packet has got rebranded to Equinix Metal. We have changed the name of the
cloud provider from packet
to equinixmetal
.
# v1beta1 API
cloudProvider:
packet: {}
# v1beta2 API
cloudProvider:
equinixmetal: {}
Additionally, we also support METAL_AUTH_TOKEN
and METAL_PROJECT_ID
environment variables in addition to PACKET_API_KEY
and PACKET_PROJECT_ID
,
which will be removed after the deprecation period.
The new API version also introduces many new features. We recommend checking the KubeOne 1.4.0 release changelog for more information about the new features.