Commit Graph
837 Commits
Author SHA1 Message Date
Josh Cox 263661adbe docs: Fixing path on ceph-quickstart to include rook
Signed-off-by: Josh Cox <josh@webhosting.coop>
2020-04-08 12:38:17 -05:00
Travis Nielsen f4fad939e9 Merge pull request #5189 from asoltesz/patch-1
ceph: Add example for using a specific partition for storage
2020-04-08 09:25:22 -06:00
asoltesz a70cafdd9b ceph: Add example for using a specific partition for storage
The documentation has no example yet about how to use a specific partition

Signed-off-by: András Soltész <soltesz.andras@gmail.com>
2020-04-08 12:14:58 +02:00
Dmitry Yusupov b640f75c08 edgefs: fix SMB controller update path
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2020-04-06 18:32:23 -07:00
Dmitry Yusupov afd8398a6b Merge pull request #5165 from dyusupov/master
edgefs: support for SMB CRD
2020-04-03 14:18:14 -07:00
Dmitry Yusupov 4920202c10 edgefs: support for SMB CRD
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2020-04-03 13:15:14 -07:00
Travis Nielsen 948c0328bd Merge pull request #5162 from travisn/csi-v2.0.1
Enable the Ceph CSI v2.0.1 driver by default in Rook
2020-04-03 13:31:59 -06:00
Travis Nielsen b8e0d8902c Merge pull request #4077 from leseb/rook-multus
ceph: add multus support
2020-04-03 11:14:08 -06:00
Travis Nielsen b1825db09d ceph: install CSI driver v2.0.1 by default
With the release of the CSI v2.0.1 driver, this should now be the
default driver deployed by Rook. The minimum driver version
supported is still v2.0.0

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-03 11:08:19 -06:00
Chu Yong Mark Lee a018d89d9c csi: Update cephcsi driver to v2.0.1
Update cephcsi driver to v2.0.1 to allow nodes with
Ceph persistent volumes to shutdown cleanly. This requires
an additional bind mount (/run/mount) in cephfsplugin
and rbdplugin templates.

Signed-off-by: Chu Yong Mark Lee <markleechuyong@gmail.com>
2020-04-03 11:05:41 -06:00
Sébastien Han 20d1543507 ceph: add multus support
You can now use Rook along with Multus. Multus must be up and running
and the right ressources must exist such as NetworkAttachmentDefinition
CR.
The Cluster CR spec has new fields to work with multus:

network:
  provider: multus (or 'host' for hostNetworking)
  selectors:
    public: NetworkAttachmentDefinition name
    cluster: NetworkAttachmentDefinition name

If only a single NetworkAttachmentDefinition is provided Rook will use
both anyway for the Ceph traffic.

Please refer to the doc to learn more.

Closes: https://github.com/rook/rook/issues/4716
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-03 18:00:15 +02:00
Travis Nielsen cc59916c1a ceph: upgrade doc clarifications for v1.3
After testing the upgrade there are some updates to the upgrade guide.
Also added comments about the helm chart upgrades.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-03 09:13:29 -06:00
Travis Nielsen c79325f92c Merge pull request #5138 from cybozu-go/support-topology-spread-constraints
ceph: support topoplogySpreadConstraints
2020-04-02 12:00:45 -06:00
Satoru Takeuchi 06b10e248c ceph: support topoplogySpreadConstraints
Support topologySpreadConstraints to spread OSD pods among failure
domains as even as possible.

https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/

Without this feature, the number of OSD pods would be different
between the failure domains very much. At worst, there is
a possibility that a failure domain has many OSDs and other
failure domains have no OSDs. It can partly be mitigated
with podAntiAffinity. However, it only works if there are at most
one OSD per node. For more detail, please refer to the following
document.

https://github.com/rook/rook/blob/master/cluster/examples/kubernetes/ceph/cluster-on-pvc.yaml#L59

Closes: https://github.com/rook/rook/issues/4387
Signed-off-by: Hiroshi Muraoka <h.muraoka714@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-04-02 16:40:58 +00:00
Travis Nielsen f30c8066d1 docs: update docs for Rook v1.3 release
Various updates are needed for the v1.3 release.
- The pending release notes were missing some features
- Added a section to the upgrade guide for breaking changes to OSDs
- Clarifications around Ceph prereqs and min version
- Other misc clarifications

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-02 10:26:00 -06:00
Blaine Gardner 9d41b38095 Ceph: upgrade docs: update upgrade docs for v1.3
Update both documents and `upgrade-from-v1.2*.yaml` files for Rook v1.3
release.

Of note:
- note when the upgrade to CSI driver v2.0 should be updated
- note that CSI image envs can be removed to have Rook use defaults
- update Ceph version upgrade section
- update supported Ceph version info
- update CRDs before upgrade b/c new 'status' fields
- remove special CSI update info left from v1.2

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
(cherry picked from commit 2ccff83d94)
2020-04-02 10:26:00 -06:00
ShyamsundarR de97b6a1d6 ceph: Add ability to specify compression mode for pools
This commit enables configuring a compression_mode for pools
that takes the values as specified for bluestore OSD
compression_mode values,
https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2020-04-01 14:24:30 -04:00
Santosh Pillai 2bfd7c42bc ceph: cleanup cluster.Spec.DataDirHostPath on cluster deletion
In order to ensure proper clean up of all the rook-ceph data when the cluster is deleted, we need to clean up the dataDirHostPath (var/lib/rook)

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-03-30 19:36:01 +05:30
Elise Gafford 2ca0d8f93d ceph: add cleanupPolicy to cephcluster spec
In order to perform full automation of cephcluster deletion safely
and protect against catastrophic data loss, the end user must be
able to signify that they intend to irrecoverably delete the data
in their cluster. The cleanupPolicy field of the cluster spec is
intended to communicate this. This patch does not implement
automated deletion, but only creates the spec field and the
safety feature of halting orchestration other than deletion on a
cluster with a set cleanup policy value.

Partially-fixes: #3222
Signed-off-by: Elise Gafford <egafford@redhat.com>
2020-03-30 19:11:54 +05:30
Satoru Takeuchi bb83122d18 ceph: fix a wrong comment
"comment" here should mean the comments of `pg_autoscaler`
in cluster/examples/kubernetes/ceph/cluster.yaml. However, it's
ambiguous. It's straightforward to use "add".

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-03-25 10:37:05 +00:00
Travis Nielsen da3bf49b61 Merge pull request #5043 from cybozu-go/remove-unnecessary-napespace-fields
remove unnecessary namespace fields
2020-03-20 17:18:21 -06:00
Paul Catinean 6cd49153ad ceph: mention helm upgrade path for csi driver
Update documentation to mention helm chart upgrade path for csi driver.

This prevents the user from manually applying the RBAC roles when the helm chart does it for him also notifies him where to set the images for CSI in the helm chart.

Signed-off-by: Paul <paulcatinean@gmail.com>
2020-03-19 18:07:33 +01:00
Sébastien Han 84dccb0d2c Merge pull request #5044 from travisn/monitoring-openshift-doc
Document monitoring namespace for OpenShift
2020-03-19 15:07:37 +01:00
Travis Nielsen a988dd23ae ceph: document monitoring namespace for OpenShift
OpenShift requires the monitoring to be bound to the openshift-monitoring
namespace instead of the rook default

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-18 11:55:07 -06:00
Satoru Takeuchi a5ea2858c9 manifests: remove unnecessary namespace fields
There are many namespace fields in ClusterRole{,Binding}. However,
ClusterRole{,Binding} are not namespaced. So we can remove these.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-03-18 15:58:31 +00:00
Birk Bohne 340ba66959 ceph: LVM infos for RancherOS added to Ceph docs
- RancherOS does not activate logical volumes during boot by default
- This breaks the Ceph OSD recovery, because the LV will not be found
- This Ceph docs update describes the needed RancherOS change

Closes: https://github.com/rook/rook/issues/5027
Signed-off-by: Birk Bohne <birk@batchworks.de>
2020-03-18 15:26:15 +01:00
Travis Nielsen 8c2c257b34 Merge pull request #4984 from moricho/gomodules
Move to Go Modules
2020-03-17 13:26:11 -06:00
moricho 2beb731a7e go: move to gomodules
This switches Rook to use `go mod` instead of `dep` for
dependencies management.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +09:00
Travis Nielsen cd4c77fa7d docs: update ceph toolbox to match example yaml
The ceph toolbox no longer needs mounts to /dev and /udev. The
docs had not previously been updated with this change.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen a251959061 docs: restructure prerequisites and clarify ceph docs
The docs were in need of some restructuring wrt prerequisites. They
were mingled with general k8s and Ceph requirements. For clarity,
we need to separate the ceph prereqs from general k8s requirements.

There is now only a single prereqs page. All other topics should be
found under other sections, such as specific to Ceph. Having subtopics
under the general prereqs caused users to frequently not even notice
the main prereqs topic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:15:44 -06:00
Travis Nielsen 2c70e10bd6 docs: add cluster-on-pvc and remove cluster-minimal examples
The cluster-minimal.yaml example is more confusing than helpful. Most users
seem to think that minimal includes a fully working cluster with OSDs.

The cluster-on-pvc.yaml example is frequently used and was missing from the
examples doc.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:56 -06:00
Travis Nielsen 575a73daa9 ceph: updates from a documentation review
The documentation for Ceph configuration needed some
clarification and cleanup from options that are no longer needed
or apply.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
Travis NielsenandRan Rubin 735292e8e3 ceph: flex driver is not always a prerequisite
This configuration is required when using the flex CSI driver (required for K8s 1.12
or earlier). Going forward for K8s 1.13 and newer it is recommended to use the CSI
RBD driver, making Flexvolume configuration redundant.

Co-authored-by: Ran Rubin <ranrubin@gmail.com>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:55 -06:00
Travis Nielsen 8a19c73036 ceph: clarify docs for erasure coding
Setting up the topology for the CRUSH map was outdated in the EC doc.
Now a link to the node labels is provided for the configuration.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-16 15:13:52 -06:00
Sameer Kulkarni 909770a346 YugabyteDB: Add resource limits to YugabyteDB pods
Current YugabyteDB operator code creates Master and TServer pods without any resource requests/limits (specifically CPU and memory).
This causes the operator to run into soft/hard memory limit issue. The fix adds recommended resource requests and limits as defaults to the pods it creates.

Closes: https://github.com/yugabyte/yugabyte-db/issues/3884
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2020-03-14 12:23:14 +05:30
Sébastien Han 8a14f4072a Merge pull request #4994 from CloudAndHeat/feature/improve-placement-docs
Clarify placement configuration for OSDs
2020-03-13 10:53:23 +01:00
Sébastien Han 14cb46ae39 ceph: bump to 14.2.8
Ceph 14.2.8 just got released so let's use it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-11 19:32:48 +01:00
Travis Nielsen ba07a63033 ceph: properly lookup the K8s topology labels for OSDs
The OSDs pick up on several topology labels for CRUSH hierarchy.
The GA label topology.kubernetes.io was partially implemented, but
not picked up by the OSDs. Now the OSDs will pick up both the topology
labels from pre-1.17 such as failure-domain.beta.kubernetes.io/zone
and topology.kubernetes.io/zone.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-10 12:06:34 -06:00
Jonas Schäfer d9d9216f2f docs: clarify placement configuration for OSDs
OSD placement is not controlled with the Cluster CRD placement
key, but with a storage class specific placement key. The
cluster-wide placement rules are not merged into the OSD placement
rules.

This change reflects this fact in the documentation.

[skip ci]

Closes: https://github.com/rook/rook/issues/4882
Signed-off-by: Jonas Schäfer <jonas.schaefer@cloudandheat.com>
2020-03-10 11:20:29 +01:00
Sébastien Han 9a8d539d57 ceph: use crd subressource
The .metadata.generation field is updated if and only if the value at the .spec subpath changes.
Additionally, if the spec does not change, .metadata.generation is not updated.
This is a must-have for the controller-runtime work, if we don't have
this, the generation field will always be incremented, resulting in a
endless reconcile loop.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-03-05 12:37:44 -07:00
Stefan Haas b3cc4aeb44 ceph: ceph-csi version detection #3824
Checks the version of the configured ceph-csi image while starting the operator. The operator will fail if the image is not supported.
Added an additional parameter to operator to disable the check e.g. to test not yet supported csi images.

Signed-off-by: Stefan Haas <shaas@suse.com>
2020-02-28 14:14:40 +01:00
Sébastien Han dab9233c8b ceph: add CRD setting for pool size 1
As of Octopus, Ceph will prevent you from creating a pool with a
replica size of 1. Allowing such pool could lead to data loss, so enable
the new option: requireSafeReplicaSize: false if you are **ABSOLUTELY**
certain that is what you want.

Closes: https://github.com/rook/rook/issues/4889
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-25 16:28:58 +01:00
Travis Nielsen e35939b26c ceph: bump ceph version to v14.2.7
The ceph/ceph:v14.2.7 image is released so we can pick these fixes
up as the recommended version of ceph.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-20 11:06:40 -07:00
Alexander Trost 02674b851b docs: fix CephCluster PVC based example
The `cephVersion` was missing in the PVC based Ceph Cluster example.
Otherwise the Ceph Cluster would fail to be created due to no Ceph
version being specified.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-02-14 11:59:14 +01:00
Sébastien HanandSean Micklethwaite b04e35dab5 ceph: add support for disk selection by full path
Rook-Ceph now supports specify device by their fullpath instead of links
created by the kernel like /dev/sdb.

Closes: https://github.com/rook/rook/issues/1228
Co-authored-by: Sean Micklethwaite <sean@wayve.ai>
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 17:31:38 +01:00
Sébastien Han c08c3ced05 ceph: add support for metadata PVC for OSD on PVC
We now support the addition of the PVC that acts as a metadata device
for a given OSD.
For this, you need to create a new `volumeClaimTemplates`, its name must
be "metadata" otherwise, Rook won't pick it up.

A template will look like this:

```
volumeClaimTemplates:
- metadata:
    name: data
  spec:
    resources:
      requests:
        storage: 10Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
- metadata:
    name: metadata
  spec:
    resources:
      requests:
        storage: 6Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
```

We now map block and block.db directly inside the container instead of
running ceph-volume activate. This is much cleaner.

Closes: https://github.com/rook/rook/issues/3852
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 17:30:02 +01:00
Sébastien Han cface95317 ceph: ability to set target_size_ratio
target_size_ratio is used the tell the Ceph cluster the excepted
occupancy of a pool in the cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 09:13:47 +01:00
Sébastien Han 6fe945c347 Merge pull request #4802 from cybozu-go/ceph-add-high-cpu-load-and-hang_task-problem-in-common-issues
Ceph: Add an rbd hang up problem in the common issues
2020-02-04 10:03:08 +01:00
Satoru Takeuchi bca6d1f4b1 Ceph: Add an rbd hang up problem in the common issues
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-02-04 00:40:09 +00:00
Alexander Trost 3772cb0cca docs: Sort flexvolume docs, update for kubespray (#4747)
docs: Sort flexvolume docs, update for kubespray
2020-02-03 20:37:44 +01:00