From: Sebastian Wagner Date: Thu, 18 Feb 2021 14:24:21 +0000 (+0100) Subject: doc/cephadm: move scheduler topic to service mgmt X-Git-Tag: v16.2.0~119^2~47 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eff33ad7005f683ba98b362a331b973747e4f029;p=ceph.git doc/cephadm: move scheduler topic to service mgmt Signed-off-by: Sebastian Wagner (cherry picked from commit 4f3305f3bb44d9169ef74b10cb9b95e14f177137) Conflicts: doc/cephadm/index.rst --- diff --git a/doc/cephadm/concepts.rst b/doc/cephadm/concepts.rst deleted file mode 100644 index 1cb40d74e3a04..0000000000000 --- a/doc/cephadm/concepts.rst +++ /dev/null @@ -1,52 +0,0 @@ -Cephadm Concepts -================ - - -Cephadm Scheduler ------------------ - -Cephadm uses a declarative state to define the layout of the cluster. This -state consists of a list of service specifications containing placement -specifications (See :ref:`orchestrator-cli-service-spec` ). - -Cephadm constantly compares list of actually running daemons in the cluster -with the desired service specifications and will either add or remove new -daemons. - -First, cephadm will select a list of candidate hosts. It first looks for -explicit host names and will select those. In case there are no explicit hosts -defined, cephadm looks for a label specification. If there is no label defined -in the specification, cephadm will select hosts based on a host pattern. If -there is no pattern defined, cepham will finally select all known hosts as -candidates. - -Then, cephadm will consider existing daemons of this services and will try to -avoid moving any daemons. - -Cephadm supports the deployment of a specific amount of services. Let's -consider a service specification like so: - -.. code-block:: yaml - - service_type: mds - service_name: myfs - placement: - count: 3 - label: myfs - -This instructs cephadm to deploy three daemons on hosts labeled with -``myfs`` across the cluster. - -Then, in case there are less than three daemons deployed on the candidate -hosts, cephadm will then randomly choose hosts for deploying new daemons. - -In case there are more than three daemons deployed, cephadm will remove -existing daemons. - -Finally, cephadm will remove daemons on hosts that are outside of the list of -candidate hosts. - -However, there is a special cases that cephadm needs to consider. - -In case the are fewer hosts selected by the placement specification than -demanded by ``count``, cephadm will only deploy on selected hosts. diff --git a/doc/cephadm/index.rst b/doc/cephadm/index.rst index 99c87610c1295..a500e9a7ca415 100644 --- a/doc/cephadm/index.rst +++ b/doc/cephadm/index.rst @@ -39,4 +39,4 @@ versions of Ceph. Cephadm CLI <../mgr/orchestrator> Client Setup troubleshooting - concepts + Cephadm Feature Planning <../dev/cephadm/index> diff --git a/doc/cephadm/service-management.rst b/doc/cephadm/service-management.rst index ecedb7fcec140..3584c2db70f97 100644 --- a/doc/cephadm/service-management.rst +++ b/doc/cephadm/service-management.rst @@ -279,6 +279,55 @@ specification. 3. Apply the new ``ServiceSpec``:: ceph orch apply -i myservice.yaml [--dry-run] + +Deployment of Daemons +===================== + +Cephadm uses a declarative state to define the layout of the cluster. This +state consists of a list of service specifications containing placement +specifications (See :ref:`orchestrator-cli-service-spec` ). + +Cephadm constantly compares list of actually running daemons in the cluster +with the desired service specifications and will either add or remove new +daemons. + +First, cephadm will select a list of candidate hosts. It first looks for +explicit host names and will select those. In case there are no explicit hosts +defined, cephadm looks for a label specification. If there is no label defined +in the specification, cephadm will select hosts based on a host pattern. If +there is no pattern defined, cepham will finally select all known hosts as +candidates. + +Then, cephadm will consider existing daemons of this services and will try to +avoid moving any daemons. + +Cephadm supports the deployment of a specific amount of services. Let's +consider a service specification like so: + +.. code-block:: yaml + + service_type: mds + service_name: myfs + placement: + count: 3 + label: myfs + +This instructs cephadm to deploy three daemons on hosts labeled with +``myfs`` across the cluster. + +Then, in case there are less than three daemons deployed on the candidate +hosts, cephadm will then randomly choose hosts for deploying new daemons. + +In case there are more than three daemons deployed, cephadm will remove +existing daemons. + +Finally, cephadm will remove daemons on hosts that are outside of the list of +candidate hosts. + +However, there is a special cases that cephadm needs to consider. + +In case the are fewer hosts selected by the placement specification than +demanded by ``count``, cephadm will only deploy on selected hosts. .. _cephadm-spec-unmanaged: