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 and kubernetes.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 is external-dns, then externalDns.watchIngress will now default to true.

  • 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 the v1alpha2 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 that kops 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.

Full change list since 1.22.0 release

1.23.0-alpha.1 to 1.23.0-alpha.2

1.23.0-alpha.2 to 1.23.0-beta.1

1.23.0-beta.1 to 1.23.0-beta.2

1.23.0-beta.2 to 1.23.0

1.23.0 to 1.23.1

1.23.1 to 1.23.2

1.23.2 to 1.23.3