github piraeusdatastore/piraeus-operator v1.0.0

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

We finally released v1.0.0, our first stable release!

While we tried to stay compatible with older releases, there may be some changes that require manual intervention. Read below and take a look at the UPGRADE guide.

Breaking changes (PLEASE READ!)

  • Renamed LinstorNodeSet to LinstorSatelliteSet. This brings the operator in line with other LINSTOR resources.
    Existing LinstorNodeSet resources will automatically be migrated to LinstorSatelliteSet.
  • Renamed LinstorControllerSet to LinstorController. The old name implied the existence of multiple (separate)
    controllers. Existing LinstorControllerSet resources will automatically be migrated to LinstorController.
  • Helm values renamed to align with new CRD names:
    • operator.controllerSet to operator.controller
    • operator.nodeSet to operator.satelliteSet
  • Renamed kernelModImage to kernelModuleInjectionImage
  • Renamed drbdKernelModuleInjectionMode to KernelModuleInjectionMode

Added

  • v1 of all CRDs
  • Central value for controller image pull policy of all pods. Use --set global.imagePullPolicy=<value> on
    helm deployment.
  • charts/piraeus/values.cn.yaml a set of helm values for faster image download for CN users.
  • Allow specifying resource requirements for all pods. In helm you can set:
    • etcd.resources for etcd containers
    • stork.storkResources for stork plugin resources
    • stork.schedulerResources for the kube-scheduler deployed for use with stork
    • csi-snapshotter.resources for the cluster snapshotter controller
    • csi.resources for all CSI related containers. for brevity, there is only one setting for ALL CSI containers. They
      are all stateless go process which use the same amount of resources.
    • operator.resources for operator containers
    • operator.controller.resources for LINSTOR controller containers
    • operator.satelliteSet.resources for LINSTOR satellite containers
    • operator.satelliteSet.kernelModuleInjectionResources for kernel module injector/builder containers
  • Components deployed by the operator can now run with multiple replicas. Components
    elect a leader, that will take on the actual work as long as it is active. Should one
    pod go down, another replica will take over.
    Currently these components support multiple replicas:
    • etcd => set etcd.replicas to the desired count
    • stork => set stork.replicas to the desired count for stork scheduler and controller
    • snapshot-controller => set csi-snapshotter.replicas to the desired count for cluster-wide CSI snapshot controller
    • csi-controller => set csi.controllerReplicas to the desired count for the linstor CSI controller
    • operator => set operator.replicas to have multiple replicas of the operator running
  • Reference docs for all helm settings. Link
  • stork.schedulerTag can override the automatically chosen tag for the kube-scheduler image.
    Previously, the tag always matched the kubernetes release.

Changed

  • Node scheduling no longer relies on linstor.linbit.com/piraeus-node labels. Instead, all CRDs support
    setting pod affinity and tolerations.
    In detail:
    • linstorcsidrivers gained 4 new resource keys, with no change in default behaviour:
      • nodeAffinity affinity passed to the csi nodes
      • nodeTolerations tolerations passed to the csi nodes
      • controllerAffinity affinity passed to the csi controller
      • controllerTolerations tolerations passed to the csi controller
    • linstorcontrollerset gained 2 new resource keys, with no change in default behaviour:
      • affinity affinity passed to the linstor controller pod
      • tolerations tolerations passed to the linstor controller pod
    • linstornodeset gained 2 new resource keys, with change in default behaviour:
      • affinity affinity passed to the linstor controller pod
      • tolerations tolerations passed to the linstor controller pod
  • Controller is now a Deployment instead of StatefulSet.
  • Renamed kernelModImage to kernelModuleInjectionImage
  • Renamed drbdKernelModuleInjectionMode to KernelModuleInjectionMode

Don't miss a new piraeus-operator release

NewReleases is sending notifications on new releases.