Merge pull request #41989 from zdover23/wip-doc-cephadm-serve-man-deploy-of-daemons-2021-06-24

doc/cephadm: enrich "deployment of daemons"

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
This commit is contained in:
Sebastian Wagner 2021-06-28 11:46:34 +02:00 committed by GitHub
commit 6de07d604c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -316,22 +316,25 @@ 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.
Cephadm continually compares a list of daemons actually running in the cluster
against the list in the service specifications. Cephadm adds new daemons and
removes old daemons as necessary in order to conform to the service
specifications.
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.
Cephadm does the following to maintain compliance with the service
specifications.
Then, cephadm will consider existing daemons of this services and will try to
avoid moving any daemons.
Cephadm first selects a list of candidate hosts. Cephadm seeks explicit host
names and selects them. If cephadm finds no explicit host names, it looks for
label specifications. If no label is defined in the specification, cephadm
selects hosts based on a host pattern. If no host pattern is defined, as a last
resort, cephadm selects all known hosts as candidates.
Cephadm supports the deployment of a specific amount of services. Let's
consider a service specification like so:
Cephadm is aware of existing daemons running services and tries to avoid moving
them.
Cephadm supports the deployment of a specific amount of services.
Consider the following service specification:
.. code-block:: yaml
@ -341,22 +344,24 @@ consider a service specification like so:
count: 3
label: myfs
This instructs cephadm to deploy three daemons on hosts labeled with
``myfs`` across the cluster.
This service specifcation instructs cephadm to deploy three daemons on hosts
labeled ``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.
If there are fewer than three daemons deployed on the candidate hosts, cephadm
randomly chooses hosts on which to deploy new daemons.
In case there are more than three daemons deployed, cephadm will remove
existing daemons.
If there are more than three daemons deployed on the candidate hosts, cephadm
removes existing daemons.
Finally, cephadm will remove daemons on hosts that are outside of the list of
Finally, cephadm removes daemons on hosts that are outside of the list of
candidate hosts.
However, there is a special cases that cephadm needs to consider.
.. note::
There is a special case that cephadm must consider.
In case the are fewer hosts selected by the placement specification than
demanded by ``count``, cephadm will only deploy on selected hosts.
If there are fewer hosts selected by the placement specification than
demanded by ``count``, cephadm will deploy only on the selected hosts.
.. _cephadm-spec-unmanaged: