ceph/doc/cephadm/concepts.rst
Sebastian Wagner a3036d974c doc/cephadm: Move FQDN chapter to host mgmt.rst
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2021-02-26 11:51:29 +01:00

53 lines
1.8 KiB
ReStructuredText

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.