forked from rook/rook
Previously, Rook Agent and Discovery DaemonSet deployment didn't allow adding nodeAffinity. This commit adds nodeAffinity spec to daemonSet deployment, which can be configured through environment variables in operator deployment yaml. + Support multiple LabelKey, each with multiple LabelValue + Support multiple LabelKey with no value Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2.3 KiB
2.3 KiB
Major Themes
Action Required
Notable Features
- Creation of storage pools through the custom resource definitions (CRDs) now allows users to optionally specify
deviceClassproperty to enable distribution of the data only across the specified device class. See Ceph Block Pool CRD for an example usage - Added K8s 1.15 to the test matrix and removed K8s 1.10 from the test matrix.
- OwnerReferences are created with the fully qualified
apiVersionsuch that the references will work properly on OpenShift.
Ceph
- Rook can now be configured to read "region" and "zone" labels on Kubernetes nodes and use that information as part of the CRUSH location for the OSDs.
- Rgw pods have liveness probe enabled
- Rgw is now configured with the Beast backend as of the Nautilus release
- OSD: newly updated cluster from 0.9 to 1.0.3 and thus Ceph Nautilus will have their OSDs allowing new features for Nautilus
- Rgw instances have their own key and thus are properly reflected in the Ceph status
- The Rook Agent pods are now started when the CephCluster is created rather than immediately when the operator is started.
- Ceph CRUSH tunable are not enforced to "firefly" anymore, Ceph picks the right tunable for its own version, to read more about tunable see the Ceph documentation
NodeAffinitycan be applied torook-ceph-agent DaemonSetwithAGENT_NODE_AFFINITYenvironment variable.NodeAffinitycan be applied torook-discover DaemonSetwithDISCOVER_AGENT_NODE_AFFINITYenvironment variable.
Breaking Changes
Known Issues
Deprecations
Ceph
- For rgw, when deploying an object store with
object.yaml, usingallNodesis not supported anymore, a transition path has been implemented in the code though. So if you were usingallNodes: true, Rook will replace each daemonset with a deployment (one for one replacement) gradually. This operation will be triggered on an update or when a new version of the operator is deployed. Once complete, it is expected that you edit your object CR withkubectl -n rook-ceph edit cephobjectstore.ceph.rook.io/my-storeand setallNodes: falseandinstanceswith the current number of rgw instances.