Releases: kubermatic/kubeone
v1.0.2
Known Issues
- We do not recommend upgrading to Kubernetes 1.19.0 due to an upstream bug in kubeadm affecting Highly-Available clusters. The bug will be fixed in 1.19.1, which is scheduled for Wednesday, September 9th. Until 1.19.1 is not released, we highly recommend staying on 1.18.
Changed
Updated
- Update machine-controller to v1.17.1 (#1086)
- This machine-controller release uses Docker 19.03.12 instead of Docker 18.06 for worker nodes running Kubernetes 1.17 and newer.
- Due to an upstream issue, pod metrics are not available on worker nodes running Kubernetes 1.19 with Docker 18.06.
- If you experience any issues with pod metrics on worker nodes running Kubernetes 1.19, provisioned with an earlier machine-controller version, you might have to update machine-controller to v1.17.1 and then rotate the affected worker nodes.
Checksums
SHA256 checksums can be found in the kubeone_1.0.2_checksums.txt
file.
v1.0.1
Known Issues
- We do not recommend upgrading to Kubernetes 1.19.0 due to an upstream bug in kubeadm affecting Highly-Available clusters. The bug will be fixed in 1.19.1, which is scheduled for Wednesday, September 9th. Until 1.19.1 is not released, we highly recommend staying on 1.18.
Changed
General
- Include cloud-config in the generated KubeOne configuration manifest when it's required by validation (#1062)
Bug Fixes
- Properly apply labels when upgrading components. This fixes the issue with upgrade failures on clusters created with KubeOne v1.0.0-rc.0 and earlier (#1078)
- Fix race condition between kube-proxy and node-local-dns (#1058)
Checksums
SHA256 checksums can be found in the kubeone_1.0.1_checksums.txt
file.
v1.0.0
KubeOne 1.0
We are excited to announce the general availability of KubeOne 1.0! 🎉
Our open source cluster lifecycle management tool for single Kubernetes clusters in the cloud, the datacenter or on the edge is now production-ready!
Upgrading to this release is highly recommended as v0.11 release doesn't support Kubernetes versions 1.16.11/1.17.7/1.18.4 and newer. Kubernetes versions older than 1.16.11/1.17.7/1.18.4 are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
Major Highlights
Complete Cluster Reconciliation Using a Single Command
KubeOne 1.0 comes with a new apply command which takes care of the complete cluster reconciliation, including provisioning, upgrading, and repairing clusters. The apply command is capable of creating new worker nodes, reconciling addons, and can be used in complex scenarios such as disaster recovery.
KubeOneCluster API Promoted to Beta
The KubeOneCluster API has been promoted to v1beta1, bringing more stability, maturity, and many other improvements. The new API makes it easier to manage the cluster in a clear and concise way, and use all the new features. Users can easily migrate all existing manifests to the new API by using the kubeone config migrate
command.
Static Worker Nodes Support for Bare-metal, IoT, and Edge Environments
KubeOne 1.0 introduces support for provisioning Kubernetes clusters with static worker nodes. This simplifies the management of Kubernetes clusters on bare-metal, IoT, edge, and other environments not supported by machine-controller. The new static worker nodes feature empowers users to create instances using their preferred approach, define them in the cluster configuration, and let KubeOne provision and join them to the cluster.
Deploy the CNI Plugin of Your Choice
KubeOne 1.0 adds the option to deploy any CNI plugin. In combination with a powerful addon mechanism, users can ensure that the CNI plugin of their choice is deployed right on the provisioning time.
Extended OS Support With Flatcar, CentOS 8, and RHEL
The 1.0 release introduces support of Flatcar Container Linux as a replacement of CoreOS. The CentOS support has been extended with the support of CentOS 8. Besides Flatcar and CentOS 8, the OS support has been extended with Red Hat Enterprise Linux (RHEL).
Improved Documentation
The KubeOne user documentation has been improved to make it easier to get started and create your first cluster. We have documented additional use cases, concepts and tools used by KubeOne, how to maintain your cluster, and more!
Changelog
The full changelog since v0.11.2 is available in the CHANGELOG.md file. Make sure to read the Attention Needed section before upgrading to this version!
Changelog since v1.0.0-rc.1
- Add the
kubeone proxy
command (#1035)- The
kubeone proxy
command launches a local HTTPS capable proxy (CONNECT method) to tunnel HTTPS request via SSH. This is especially useful in cases when the Kubernetes API endpoint is not accessible from the public internets.
- The
- KubeOne is now built using Go 1.15 (#1048)
- Fix Kubelet version detection on Flatcar (#1032)
- Update machine-controller to v1.16.1 (#1043)
Checksums
SHA256 checksums can be found in the kubeone_1.0.0_checksums.txt
file.
v1.0.0-rc.1
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- KubeOne now uses vanity domain
k8c.io/kubeone
(#1008)- The
go get
command to get KubeOne is nowGO111MODULE=on go get k8c.io/kubeone
. - You may be required to specify a tag/branch name until v1.0.0 is not released, such as:
GO111MODULE=on go get k8c.io/kubeone@v1.0.0-rc.1
.
- The
- [Breaking] Use Ubuntu 20.04 (Focal) in the example Terraform scripts for AWS (#1001)
- It's highly recommended to bind the AMI by setting
var.ami
to the AMI you're currently using to prevent the instances from being recreated the next time you run Terraform!
- It's highly recommended to bind the AMI by setting
Added
- Add ability to change MTU for the Canal CNI using
.clusterNetwork.cni.canal.mtu
field (requires KubeOneCluster v1beta1 API) (#1005) - Add support for Ubuntu 20.04 (Focal) (#1005)
Changed
General
- KubeOne now uses vanity domain
k8c.io/kubeone
(#1008)- The
go get
command to get KubeOne is nowGO111MODULE=on go get k8c.io/kubeone
. - You may be required to specify a tag/branch name until v1.0.0 is not released, such as:
GO111MODULE=on go get k8c.io/kubeone@v1.0.0-rc.1
.
- The
- Default MTU for the Canal CNI depending on the provider (#1005)
- AWS - 8951 (9001 AWS Jumbo Frame - 50 VXLAN bytes)
- GCE - 1410 (GCE specific 1460 bytes - 50 VXLAN bytes)
- Hetzner - 1400 (Hetzner specific 1450 bytes - 50 VXLAN bytes)
- OpenStack - 1400 (OpenStack specific 1450 bytes - 50 VXLAN bytes)
- Default - 1450
- If you're using KubeOneCluster v1alpha1 API, the default MTU is 1450 regardless of the provider (#1016)
- Label all components deployed by KubeOne with the
kubeone.io/component: <component-name>
label (#1005) - Increase default number of task retries to 10 (#1020)
Updated
- Update machine-controller to v1.16.0 (#1017)
- Update Canal CNI to v3.15.1 (#1005)
- [Breaking] Use Ubuntu 20.04 (Focal) in the example Terraform scripts for AWS (#1001)
- It's highly recommended to bind the AMI by setting
var.ami
to the AMI you're currently using to prevent the instances from being recreated the next time you run Terraform!
- It's highly recommended to bind the AMI by setting
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-rc.1_checksums.txt
file.
v1.0.0-rc.0
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- This is the first release candidate for the KubeOne v1.0.0 release! We encourage everyone to test it and let us know if you have any questions or if you find any issues or bugs. You can create an issue on GitHub, reach out to us on our forums, or on
#kubeone
channel on Kubernetes Slack. - It's recommended to use this release instead of v0.11, as v0.11 doesn't support the latest Kubernetes patch releases. Older Kubernetes releases are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
Changed
Bug Fixes
- Verify that
crd.projectcalico.org
CRDs are established before proceeding with the Canal CNI installation (#994)
Updated
- Update Docker versions. Minimal Docker version is 18.09.9 for clusters older than v1.17 and 19.03.12 for clusters running v1.17 and newer (#1002)
- This fixes the issue preventing users to upgrade Kubernetes clusters created with KubeOne v0.11 or earlier
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-rc.0_checksums.txt
file.
v1.0.0-beta.3
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- It's recommended to use this release instead of v0.11, as v0.11 doesn't support the latest Kubernetes patch releases. Older Kubernetes releases are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
- It's now possible to install Kubernetes 1.18.6/1.17.9/1.16.13 on CentOS 7, however, only Canal CNI is known to work properly. We are aware that the DNS and networking problems may still be present even with the latest versions. It remains impossible to install older versions of Kubernetes on CentOS 7.
- The
kubeone
AUR package has been moved to the official Arch Linux repositories. The AUR package has been removed in the favor of the official one (#971).
Added
- Implement the
kubeone apply
command- The apply command is used to reconcile (install, upgrade, and repair) clusters
- The apply command is currently in beta, but we're encouraging everyone to test it and report any issues and bugs
- More details about how to use the apply command can be found in the Cluster reconciliation (apply) document
- Implement the
kubeone config machinedeployments
command (#966)- The new command is used to generate a YAML manifest containing all MachineDeployment objects defined in the KubeOne configuration manifest and Terraform output
- The generated manifest can be used with kubectl if you want to create and modify MachineDeployments once the cluster is created
- Add support for CentOS 8 (#981)
- Add the Calico VXLAN addon (#972)
- More information about how to use this addon can be found on the docs website
Changed
General
- The
kubeone
AUR package has been moved to the official Arch Linux repositories. The AUR package has been removed in the favor of the official one (#971)
Bug Fixes
- Add NodeRegistration object to the kubeadm v1beta2 JoinConfiguration for static worker nodes. Fix the issue with nodes not joining a cluster on AWS (#969)
- Unconditionally renew certificates when upgrading the cluster. Due to an upstream bug, kubeadm wasn't automatically renewing certificates for clusters running Kubernetes versions older than v1.17 (#990)
- Force restart Kubelet on CentOS on upgrade (#988)
- Fix the gobetween script failing to install the
tar
package (#963)
Updated
- Update machine-controller to v1.15.3 (#995)
- This release includes a fix for the machine-controller's NodeCSRApprover controller refusing to approve certificates for the GCP worker nodes
- This release includes support for CentOS 8 and RHEL 7 worker nodes
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-beta.3_checksums.txt
file.
v1.0.0-beta.2
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- It's recommended to use this release instead of v0.11, as v0.11 doesn't support the latest Kubernetes patch releases. Older Kubernetes releases are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
Known Issues
- See known issues for the v1.0.0-beta.1 release for more details.
Added
- Add the
ImagePlan
field to Azure Terraform integration (#947)
Changed
Bug Fixes
- Install
curl
before configuring repositories on Ubuntu instances (#945)- Fixes the cluster provisioning for instances that don't have
curl
installed
- Fixes the cluster provisioning for instances that don't have
Updated
- Update machine-controller to v1.15.1 (#947)
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-beta.2_checksums.txt
file.
v1.0.0-beta.1
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- It's recommended to use this release instead of v0.11, as v0.11 doesn't support the latest Kubernetes patch releases. Older Kubernetes releases are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
Known Issues
- machine-controller is failing to sign Kubelet CertificateSingingRequests (CSRs) for worker nodes on GCP due to missing hostname in the Machine object. We are currently working on a fix. In meanwhile, you can sign the CSRs manually by following instructions from the Kubernetes docs.
- It remains impossible to provision Kubernetes 1.16.10+ clusters on CentOS 7. CentOS 8 and RHEL are unaffected. We are investigating the root cause of the issue.
Changed
Bug Fixes
- Remove hold from the docker-ce-cli package on upgrade (#941)
- This ensures clusters created with KubeOne v0.11 can be upgraded using KubeOne v1.0.0-beta.1 release
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-beta.1_checksums.txt
file.
v1.0.0-beta.0
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Attention Needed
- It's recommended to use this release instead of v0.11, as v0.11 doesn't support the latest Kubernetes patch releases. Older Kubernetes releases are affected by two CVEs and therefore it's strongly advised to use 1.16.11/1.17.7/1.18.4 or newer.
Known Issues
- machine-controller is failing to sign Kubelet CertificateSingingRequests (CSRs) for worker nodes on GCP due to missing hostname in the Machine object. We are currently working on a fix. In meanwhile, you can sign the CSRs manually by following instructions from the Kubernetes docs.
- It remains impossible to provision Kubernetes 1.16.10+ clusters on CentOS 7. CentOS 8 and RHEL are unaffected. We are investigating the root cause of the issue.
- Trying to upgrade cluster created with KubeOne v0.11.2 or older results in an error due to KubeOne failing to upgrade the
docker-ce-cli
package. This issue has been fixed in the v1.0.0-beta.1 release.
Changed
General
- Re-introduce the support for the kubernetes-cni package and use the proper revision for Kubernetes packages (#933)
- This change ensures operators can use KubeOne to install the latest Kubernetes releases on CentOS/RHEL
Bug Fixes
- Stop copying kubeconfig to the home directory on control plane instances (#936)
- This fixes the issue with upgrading CoreOS/Flatcar clusters
Updated
- Update machine-controller to v1.14.3 (#937)
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-beta.0_checksums.txt
file.
v1.0.0-alpha.6
The KubeOne documentation has been migrated from GitHub to the new KubeOne docs website. Checkout the new website to find out how to get started with KubeOne.
Known Issues
- Currently it's impossible to install Kubernetes versions older than 1.16.11/1.17.7/1.18.4 on CentOS/RHEL, due
to an issue with packages. - Currently it's impossible to install Kubernetes on CentOS 7. The 1.16.11 release is not working due to an upstream
issue with the kube-proxy component, while newer releases are
having DNS problems which we are investigating.
Changed
General
- Fix CoreOS/Flatcar cluster provisioning/upgrading: use the correct URL for the CNI plugins (#929)
Checksums
SHA256 checksums can be found in the kubeone_1.0.0-alpha.6_checksums.txt
file.