Progress toward issue #2003. Includes design from design doc PR #1578 Use init containers to create configuration for Ceph mgrs. There is only one init container in this design. The init container calls the Rook binary to create Ceph config files which are then shared with the mds daemon main container. Once this init is run, the main mds daemon is run. Leaving room to use the Ceph-versioned image in the future, call `ceph-mds --foreground ...` to run the Ceph mds. The refactor to using an init container also necessitated refactoring the mdses replicaset implementation to a deployment-per-pod implementation due to a chicken-egg problem. With a single container (in the before times) the Rook binary was able to call the ceph-mds daemon with an id generated from the pod name. Since the pod name is not known before runtime, and the id is one of the few params that must be specified to Ceph daemons on run, it is necessary to know the id beforehand; thus the move to a deployment architecture following the likes of the mon and mgr daemons. Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2.6 KiB
Major Themes
Action Required
Notable Features
- The
fsTypedefault for StorageClass examples are now using XFS to bring it in line with Ceph recommendations. - Ceph is updated from Luminous 12.2.5 to 12.2.7.
- Ceph OSDs will be automatically updated by the operator when there is a change to the operator version or when the OSD configuration changes. See the OSD upgrade notes.
- Rook Ceph block storage provisioner can now correctly create erasure coded block images. See Advanced Example: Erasure Coded Block Storage for an example usage.
- Network File System (NFS) is now supported by Rook with a new operator to deploy and manage this widely used server. NFS servers can be automatically deployed by creating an instance of the new
nfsservers.nfs.rook.iocustom resource. See the NFS server user guide to get started with NFS. - The minimum version of Kubernetes supported by Rook changed from
1.7to1.8. reclaimPolicyparameter ofStorageClassdefinition is now supported.- K8s client-go updated from version 1.8.2 to 1.11.3
- The toolbox manifest now creates a deployment based on the
rook/cephimage instead of creating a pod on a specializedrook/ceph-toolboximage.
Breaking Changes
-
Ceph mons are named consistently with other daemons with the letters a, b, c, etc.
-
Ceph mons are now created with Deployments instead of ReplicaSets to improve the upgrade implementation.
-
Ceph mon, mgr, and mds container names in pods have changed with the refactors to initialize the daemon environments via pod InitContainers and run the Ceph daemons directly from the container entrypoint.
-
The Rook container images are no longer published to quay.io, they are published only to Docker Hub. All manifests have referenced Docker Hub for multiple releases now, so we do not expect any directly affected users from this change.
-
Rook no longer supports kubernetes
1.7. Users running Kubernetes1.7on their clusters are recommended to upgrade to Kubernetes1.8or higher. If you are usingkubeadm, you can follow this guide to from Kubernetes1.7to1.8. If you are usingkopsorkubesprayfor managing your Kubernetes cluster, just follow the respective projects'upgradeguide.