this patch adds two new related features. first, it removes the
requirement that all monitor deployments be pinned to nodes using node
selector. this is allowed when not using host networking and when PVC
storage is used. the second feature introduced in this patch is the
elimination of the Rook scheduler for placing monitors that continue to
use the node selector by using canary pods to that are scheduled by k8s,
after which Rook uses the scheduling results to pin the monitors to
nodes.
fixes: #3667
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
This design proposes that rook creates and manages PDBs for all ceph
daemons. OSDs need special treatment and a new heuristic, but simple
PDBs will suffice for other daemon types.
Signed-off-by: Rohan CJ <rohantmp@gmail.com>
This commit does multiple things:
* remove support for AllNodes where we would deploy one rgw per node on
all the nodes.
* a transition path is implemented in the code so that if someone has an
existing deployment, daemonsets will be removed and replaced by an
deployments.
* when using "instances", each rgw deployed has its own key which makes
Ceph reporting the exact number of rgw running, see:
```
[root@rook-ceph-operator-775cf575c5-bh4sr /]# ceph -s
cluster:
id: 611fcf39-0669-4864-9a12-debb35c0397a
health: HEALTH_OK
services:
mon: 3 daemons, quorum a,b,c (age 12h)
mgr: a(active, since 12h)
osd: 3 osds: 3 up (since 12h), 3 in (since 12h)
rgw: 3 daemons active (my.store.a, my.store.b, my.store.c)
data:
pools: 6 pools, 600 pgs
objects: 235 objects, 3.8 KiB
usage: 3.0 GiB used, 84 GiB / 87 GiB avail
pgs: 600 active+clean
```
Closes: https://github.com/rook/rook/issues/2474, https://github.com/rook/rook/issues/2957 and https://github.com/rook/rook/issues/3245
Signed-off-by: Sébastien Han <seb@redhat.com>
All usages of k8s go client are now also using the versioned `AppsV1() `
call for the client.
Updated MySQL and Wordpress, and Kube Registy examples to use apps/v1
Deployments.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
Re-write the Rook/ceph-csi (short term) integration section
to conform to my goals and understanding of the integration
needs.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The "Coexist with flex driver" section was overly technical about
details in the implementation of CSI vs. flex. Remove the detail
and replace it with more goal oriented paragraphs.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The user may want to connect to storage that is in a Ceph cluster,
independent from the local Kubernetes cluster. This design doc
describes the changes needed to enable the scenario.
Signed-off-by: travisn <tnielsen@redhat.com>
this is needed as cryptsetup in the pod and udev on the host coordinate
via a semaphore that must be visible in both contexts.
note that additionally the host needs to have dmcrypt compiled with udev
synchronization, which at least one minikube version does not have.
fixes: #923
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Propose a new design to update Rook's Ceph configuration strategy to
align with Ceph's recent changes to the config process.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Design documents with an analytical description of how the operator
will scale down a Cassandra cluster.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
change
'features that are not yet implemented can can
configured by using the [Rook toolbox]
(/Documentation/toolbox.md)'
to
'features that are not yet implemented can be
configured by using the [Rook toolbox]
(/Documentation/toolbox.md)'
Signed-off-by: Enming.Zhang <zvampirem77@gmail.com>