Release notes for kOps 1.23 series
Significant changes
-
If the Kubernetes version is 1.23 or later and the external AWS Cloud Controller Manager is
being used, then Kubernetes Node resources will be named after their AWS instance ID instead of their domain name and
managed subnets will be configured to launch instances with Resource Based Names. -
Support for ShutdownGracePeriod and ShutdownGracePeriodCriticalPods. By default, kOps will set ShutdownGracePeriod to 30 seconds and ShutdownGracePeriodCriticalPods to 10 seconds if the Kubernetes version is above 1.21.
-
By enabling the pod identity webhook, you no longer need to modify your Pod specs to assume IAM roles.
Breaking changes
-
Support for Kubernetes version 1.17 has been removed.
-
Support for the Lyft CNI has been removed.
-
The Weave CNI is not supported for Kubernetes 1.23 or later.
-
Support for CentOS 7 has been removed.
-
Support for CentOS 8 has been removed (replaced by Rocky Linux 8).
-
Support for Debian 9 has been removed.
-
Support for RHEL 7 is has been removed.
-
Support for Ubuntu 16.04 (Xenial) has been removed.
-
Cilium now has
disable-cnp-status-updates: true
by default. Set this to false if you rely on the CiliumNetworkPolicy status fields.
Required actions
Deprecations
-
Support for Kubernetes version 1.18 is deprecated and will be removed in kOps 1.24.
-
Support for Kubernetes version 1.19 is deprecated and will be removed in kOps 1.25.
-
All legacy addons are deprecated in favor of managed addons, including the metrics server addon and the autoscaler addon.
-
The
node-role.kubernetes.io/master
andkubernetes.io/role
labels are deprecated and might be removed from control plane nodes in future versions of kOps. -
Due to lack of maintainers, the Aliyun/Alibaba Cloud support has been deprecated and will be removed in kOps 1.24.
-
Due to lack of maintainers, the CloudFormation 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 target.
Other changes of note
-
The
kops create cluster
command has a new--discovery-store
flag for specifying a public store for the OIDC-compatible discovery documents.
If this flag is used in AWS, it will enable IRSA. -
If
externalDns.provider
isexternal-dns
, thenexternalDns.watchIngress
will now default totrue
. -
This release introduces a
v1alpha3
API version. This API version is a work in progress and is likely to be replaced in kOps 1.24.
It is recommended to keep using thev1alpha2
API version. -
IPv6 pod subnets is in a working state using public IPv6 addresses for the Pod network. This works with both Cilium and Calico. IPv6 is still behind a feature flag until service controllers and addons implement support for IPv6. See the IPv6 documentation.
-
The
kops rolling-update cluster
command has a new--drain-timeout
flag for specifying the maximum amount of time to wait when attempting to drain a node. Previously, rolling-updates would attempt to drain a node for an indefinite amount of time. If--drain-timeout
is not specified, a default of 15 minutes is applied. -
Fix inconsistent output of
kops get clusters -ojson
. This will now always return a list (irrespective of a single or multiple clusters) to keep the format consistent. However, note thatkops get cluster dev.example.com -ojson
will continue to work as previously, and will return a single object. -
Digital Ocean kops now has vpc support. You can specify a
network-cidr
range while creating the kops cluster. kops resources will be created in the new vpc range. Also supports shared vpc; you can specify the vpc uuid while creating kops cluster.
1.23.2 to 1.23.3
- Increase timeout for pushing binaries to staging @hakman #13633
- Update runc to v1.1.2 @hakman #13638
- Add a nameservers parameter for cert-manager. @jim-barber-he #13567
- Remove unused DNS logic from Protokube @hakman #13689
- Fix Protokube gossip flag @hakman #13692
- Add support for setting mode field on file assets @yurrriq #13715
- Update containerd and Docker versions @hakman #13741
- Fix API group name for ingresses in DNS Controller @julienperignon #13750
- Update runc to v1.1.3 @hakman #13763
- Update AWS CCM images for k8s 1.20-1.22 @hakman #13748
- Avoid spurious changes with ed25519 keys @hakman #13774
- Update etcd-manager to v3.0.20220617 @hakman #13824
- Mount /etc/hosts from host for CoreDNS @hakman #13922
- Update etcd-manager to v3.0.20220717 @hakman #13990
- Update Go to v1.17.12 for kOps 1.23 @hakman #13997
- Switch to latest MacOS version for CI @hakman #14015
- Revert to using instance private DNS name to lookup hostname @hakman #14024
- Check keyset existence before attempting to distrust @yurrriq #14041
- Fix SIGSEGV when deleting a Hetzner instance @hakman #14046