The Kubernetes crew at Canonical is delighted to announce that Canonical Kubernetes 1.23 is now generally available. The team is committed to releasing in tandem with upstream so our users and customers can benefit from the latest features and improvements as soon as they become available. This blog is a quick introduction to Canonical Kubernetes and the top features available in release 1.23.
What is Canonical Kubernetes?
Canonical Kubernetes is an umbrella term for all of Canonical’s Kubernetes products and services. Canonical has two CNCF-certified Kubernetes distributions, MicroK8s and Charmed Kubernetes, to address small/streamlined and large/complex cluster deployments. We are also a Certified Kubernetes Service Provider (CKSP) and provide enterprise support and consulting services based on our two distributions, as well as kubeadm-based deployments.
MicroK8s is a lightweight Kubernetes distribution that has all you need to right from the start – like a new toy with batteries included. Its ease of setup and use allows developers to rapidly become productive on their local workstations, and helps businesses build edge Kubernetes architectures or deliver containers at the edge by embedding MicroK8s into their solution.
Charmed Kubernetes is an enterprise-scale, composable Kubernetes for multi-cloud deployments. Charmed K8s leverages the model-driven operations approach, which offers straightforward cluster lifecycle management and compatibility with cloud services as well as legacy application architectures.
What’s new in Kubernetes 1.23 release
All upstream Kubernetes 1.23 features are available in MicroK8s and Charmed Kubernetes. Additionally, the following features are new in Canonical Kubernetes 1.23. For the full list of features, you can refer to the Charmed Kubernetes and MicroK8s release notes.
MicroK8s 1.23 highlights
MicroK8s on Apple M1
As of last year, MacOS support is available on MicroK8s through Multipass, a portable and lightweight virtualisation environment that puts Ubuntu VMs at your fingertips. Leveraging the recent support for M1 Macbooks introduced in the Multipass 1.8 release, MicroK8s can now be installed on M1 systems with just two commands. Note that M1 support is not limited to MicroK8s 1.23 – all MicroK8s versions are now M1 compatible.
Manage Kubernetes lifecycle with the MicroK8s charm
2021 has been a great year for Juju on Kubernetes, with the Operator Framework taking shape and being adopted in more and more charms. As part of MicroK8s 1.23, the team has created a MicroK8s Charmed Operator. This creates even more opportunities for streamlined Kubernetes deployments, combined with Juju’s integration and lifecycle management capabilities. For example, if you want to observe your Kubernetes cluster, you can integrate MicroK8s with our observability stack with a single command. Sounds like magic (and it feels like it, too), but it really works!
FPGA acceleration with Innacel addon
If you’re into hardware acceleration for container workloads, we have good news for you: MicroK8s 1.23 now comes with a fully supported Inaccel addon. Inaccel takes care of the entire FPGA acceleration lifecycle with solutions for deploying, building, and managing FPGA accelerators and binaries.
Charmed Kubernetes 1.23 highlights
Equinix Metal support
Charmed Kubernetes 1.23 can be deployed and managed on Equinix Metal. Following the Canonical-Equinix partnership announcement on Kubernetes last October, we are thrilled to have Charmed Kubernetes as a first-class citizen on Equinix’ bare metal solution. Bare metal Kubernetes is a thing we are passionate about – it helps us deliver better performance, more control, and lower overheads for businesses.
New Istio ingress operator
Istio has been supported for a long time in Charmed Kubernetes. This new Istio ingress operator follows the latest developments in Juju 2.9 and the Charmed Operator framework to allow for control of ingress traffic by deploying a sidecar container, and offers improved configuration and integration lifecycle management of Istio ingress.
Doubling down on quality
We are proud of the steady growth of our customer base, and with more customers come more specific requirements. The Charmed Kubernetes team has been focusing on improving our testing practices and our documentation. Notable improvements in this release are the new Keystone, Octavia ingress, Metallb integration tests and the documentation of offline installs.
Notable changes in upstream Kubernetes 1.23
The following are the most significant changes in upstream Kubernetes 1.23. For the full list of changes, you can read the changelog.
The new kubectl events command empowers cluster administrators to view all events related to a particular resource, filtering events by status or type in a given namespace and watching for cluster events.
Dual-stack IPv4/IPv6 support
This feature finally reached general availability, and allows both IPv4 and IPv6 addresses to be assigned to a given pod. Bear in mind that, although Kubernetes now provides dual-stack networking, limitations may apply from a cloud provider/infrastructure perspective, and you might need a dual-stack aware network plugin to make this work.
FSGroup ownership change
This feature allows users to specify how permission and ownership changes should operate when binding volumes. It has now graduated to GA, and reduces the excessive wait time when creating pods in case of ownership changes – something particularly interesting for applications sensitive to permission changes such as databases.
HPA hits GA
The Horizontal Pod Autoscaler (HPA) has been a core Kubernetes API since 2015. HPA can manage the scale of replica sets, deployments, or stateful sets with well-known metrics such as CPU utilization. HPA is now considered production-ready, as it graduated to GA with Kubernetes 1.23.