Announcement

Bahriya Kubernetes Engine 2.6.0 is released

Mamluk · · 3 min read
Bahriya Kubernetes Engine 2.6.0 is released

Bahriya Kubernetes Engine 2.6.0 is released. It is a minor release: it adds a supported operating system and an optional component, and no Kubernetes, containerd or Calico version moves. The release notes in the Mamluk Console list each change and its effect.

No node drains. Clusters on 2.5 upgrade by running apply.sh once.

Ubuntu 24.04 and 26.04 LTS

BKE now installs on Ubuntu 24.04 LTS and Ubuntu 26.04 LTS, on amd64 and arm64, as well as on Debian 12 and 13. Each node installs the container runtime built for its own release, at the same version, so one cluster can mix Debian and Ubuntu nodes. That is also how a cluster moves from one to the other: add an Ubuntu node, then take a Debian node out, one node at a time. The documentation gives the procedure for workers and for control-plane nodes.

On every node, Debian or Ubuntu, compliance.time.servers is now given to chrony as well as to systemd-timesyncd, and check.sh fails a node on which no time service is running, because certificates and audit records depend on the clock.

aybak: the load balancer follows the nodes

Clusters reached through a load balancer you run yourself, rather than a cloud provider’s, need that load balancer to know which nodes can take traffic. aybak is an optional component that sends the addresses of the cluster’s nodes to it as they are added, removed, cordoned or return: as a file committed to a git repository, over SSH or HTTPS, for your own pipeline; as a signed HTTPS request; or through HAProxy’s Data Plane API.

A failed or empty read of the nodes sends nothing, so a fault inside the cluster never empties your load balancer. A cordoned node leaves the set, so traffic stops before you drain it. aybak runs in its own namespace under the restricted Pod Security level, may only read nodes, and takes its credentials from the same directory as every other BKE component. Nothing of it is installed unless config.yaml asks for it.

Upgrading

From 2.5.x, run apply.sh once from a control-plane node. As with every BKE upgrade, it first reports each change against your own values files and changes nothing until you run it with --commit. Run check.sh on every node before the upgrade, because its time check is stricter.

Share
← Back to the Journal

More from the Journal