github piraeusdatastore/piraeus-operator v1.7.0

latest releases: v2.5.1, v2.5.0, v2.4.1...
2 years ago

It's finally time to release 1.7.0. It's been a long wait, but now we finally feel that 1.7.0 is ready to release.

The most exciting feature is certainly the option to run Piraeus without an additional database for the LINSTOR Controller. LINSTOR 1.16.0 added experimental support for using the Kubernetes API directly to store its internal state. The current plan is to support both Etcd and Kubernetes API as datastore, with the eventual goal of removing Etcd support once we are happy with the stability of this new backend. Read more on this topic here.

Apart from that, the Operator now applies Kubernetes node labels to the LINSTOR node objects as auxiliary properties. What that means is that LINSTOR CSI can now make scheduling decisions based on existing node labels, like the commonly used topology.kubernetes.io/zone. To take full advantage of this, we enabled the topology feature for CSI by default, and also updated the CSI driver to properly respect both StorageClass parameters (replicasOnDifferent, etc.) as well as topology information. We now recommend using volumeBindingMode: WaitForFirstConsumer in all storage classes.

Another important change is the removal of the Stork scheduler. In the past it caused issues by improperly restarting pods, scheduling to unusable nodes and just plain not working on newer Kubernetes versions. With Kubernetes now supporting volumeBindingMode: WaitForFirstConsumer and the LINSTOR CSI version being better at scheduling volumes, we felt it was safe to disable Stork by default. You can still enable it in the chart if you wish.

This is also the first Piraeus Operator release that supports creating backups of your volumes and storing them in S3 or another LINSTOR cluster. Currently this is only available using the LINSTOR CLI, take a look at the linstor remote ... and linstor backup ... commands. In a future release, this should be more tightly integrated with the Kubernetes infrastructure. In order to securly store any access tokens for remote locations, LINSTOR needs to be configured with a master passphrase. If no passphrase is defined, the Helm chart will create one for you.


Added

  • pv-hostpath: automatically determine on which nodes PVs should be created if no override is given.
  • Automatically add labels on Kubernetes Nodes to LINSTOR satellites as Auxiliary Properties. This enables using
    Kubernetes labels for volume scheduling, for example using replicasOnSame: topology.kubernetes.io/zone.
  • Support LINSTORs k8s backend by adding the necessary RBAC resources and documentation.
  • Automatically create a LINSTOR passphrase when none is configured.
  • Automatic eviction and deletion of offline satellites if the Kubernetes node object was also deleted.

Changed

  • Default images:
    • quay.io/piraeusdatastore/piraeus-server:v1.17.0
    • quay.io/piraeusdatastore/piraeus-csi:v0.17.0
    • quay.io/piraeusdatastore/drbd9-bionic:v9.1.4
    • quay.io/piraeusdatastore/drbd-reactor:v0.4.4
  • Recreates or updates to the satellite pods are now applied at once, instead of waiting for a node to complete before
    moving to the next.
  • Enable CSI topology by default, allowing better volume scheduling with volumeBindingMode: WaitForFirstConsumer.
  • Disable STORK by default. Instead, we recommend using volumeBindingMode: WaitForFirstConsumer in storage classes.

Don't miss a new piraeus-operator release

NewReleases is sending notifications on new releases.