kOps 1.20.2 is the latest in the 1.20 series, with support for kubernetes 1.20.
Significant changes
-
Default container runtime is now set to
containerd
for new clusters running Kubernetes 1.20.0+. -
Added experimental Azure support. To get started check the docs
-
Default settings for AWS instances are updated to take advantage of recent performance and security features:
- Default etcd volumes encryption changes to enabled for newly created clusters
- Default root volume encryption changes to enabled
- Default etcd volumes type changes from
gp2
togp3
- Default root volume type changes from
gp2
togp3
-
Added template funtions for kubernetes version based on channel data.
-
kOps now use helm3 functions for merging template
--set
and--values
arguments. This has slightly different behaviour than previous helm2-like logic. -
Following kubeadm, control plane nodes are now labelled with
node-role.kubernetes.io/control-plane=""
-
Default node image for GCE changed from COS to Ubuntu for K8s versions >= 1.18.0. This is to more closely align with the AWS implementation (the most mature support) and because COS limits the ability to modify files on its disk.
Breaking changes
-
Support for Kubernetes 1.11 and 1.12 has been removed.
-
Support for Terraform version 0.11 has been removed.
-
Support for the feature flag
Terraform-0.12
has been removed. All generated Terraform HCL2/JSON files will support versions0.12.26+
and0.13.0+
.
Required Actions
-
If you are using the Calico network plugin in a cross-subnet setup, you may have to manually remove the AWS Source/Dest Check controller (
k8s-ec2-srcdst
) deployment that was previously deprecated and replaced with the new awsSrcDstCheck feature. -
If you are using self-hosted channels files, you have to add the new
architectureID
field, with one of theamd64
orarm64
values. -
If you are running
kops toolbox template
in an airgapped environment, you have to set--channel
to point to a local channel file. -
If your workload targets control plane nodes, you need to change them to select the
node-role.kubernetes.io/control-plane=""
label. You should also add thenode-role.kubernetes.io/control-plane:NoSchedule
toleration to these workloads. This taint will not be added to control plane nodes before kOps 1.22.
Deprecations
-
Support for Kubernetes versions 1.13 and 1.14 are deprecated and will be removed in kOps 1.21.
-
The manifest based metrics server addon has been deprecated in favour of a configurable addon.
-
The manifest based cluster autoscaler addon has been deprecated in favour of a configurable addon.
-
The
node-role.kubernetes.io/master
andkubernetes.io/role
labels are deprecated and will be removed from control plane nodes in kOps 1.22 -
The experimental node-authorizer that could be enabled using
nodeAuthorization
has been removed. Setting this value is now forbidden. -
Due to lack of maintainers, the Aliyun/Alibaba Cloud support has been deprecated. The current implementation will be left as-is until the implementation needs updates or otherwise becomes incompatible. At that point, it will be removed. We very much welcome anyone willing to contribute to this cloud provider.
-
Support for AWS LaunchConfiguration has been deprecated and will be removed in kOps 1.21.
Full Change List Since 1.20.1
- Update containerd to v1.4.6 @hakman #11535
- Allow cert-manager to be provisioned externally @codablock #11354
- upup: gcetasks: force send AutoCreateSubnetworks field when set to false @nicktrav #11457
- [metrics-server] Bump manifest to latest stable @dntosas,@hakman #11319
- Allow Spotinst to use comma separated instance types @hakman #11560
- Only update kubeconfig user when we have user info @justinsb #11584
- Add init image field for Amazon VPC CNI @ryan-dyer #11602
- Fix duplicate CopyFile tasks @johngmyers #11619
- Use the OnDelete updateStrategy for AWS VPC CNI DaemonSet @johngmyers #11590
- Consolidate CSI livenessprobe images for multi-arch support @rifelpet #11652
- Fix set-version leaving backup files with "-e" suffix @johngmyers #11691
- Add support for Docker v20.10.7 @hakman #11674
- Bump the cas addon version. @olemarkus #11780
Please see the release notes for the full list of changes.