From: Sebastian Wagner Date: Thu, 18 Feb 2021 14:34:04 +0000 (+0100) Subject: doc/cephadm: make custom containers its own chapter X-Git-Tag: v17.1.0~2825^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0fb2ccb49b765d589f56b355589dc811fbf66d63;p=ceph.git doc/cephadm: make custom containers its own chapter Signed-off-by: Sebastian Wagner --- diff --git a/doc/cephadm/custom-container.rst b/doc/cephadm/custom-container.rst new file mode 100644 index 00000000000..542fcf16261 --- /dev/null +++ b/doc/cephadm/custom-container.rst @@ -0,0 +1,78 @@ +======================== +Custom Container Service +======================== + +The orchestrator enables custom containers to be deployed using a YAML file. +A corresponding :ref:`orchestrator-cli-service-spec` must look like: + +.. code-block:: yaml + + service_type: container + service_id: foo + placement: + ... + image: docker.io/library/foo:latest + entrypoint: /usr/bin/foo + uid: 1000 + gid: 1000 + args: + - "--net=host" + - "--cpus=2" + ports: + - 8080 + - 8443 + envs: + - SECRET=mypassword + - PORT=8080 + - PUID=1000 + - PGID=1000 + volume_mounts: + CONFIG_DIR: /etc/foo + bind_mounts: + - ['type=bind', 'source=lib/modules', 'destination=/lib/modules', 'ro=true'] + dirs: + - CONFIG_DIR + files: + CONFIG_DIR/foo.conf: + - refresh=true + - username=xyz + - "port: 1234" + +where the properties of a service specification are: + +* ``service_id`` + A unique name of the service. +* ``image`` + The name of the Docker image. +* ``uid`` + The UID to use when creating directories and files in the host system. +* ``gid`` + The GID to use when creating directories and files in the host system. +* ``entrypoint`` + Overwrite the default ENTRYPOINT of the image. +* ``args`` + A list of additional Podman/Docker command line arguments. +* ``ports`` + A list of TCP ports to open in the host firewall. +* ``envs`` + A list of environment variables. +* ``bind_mounts`` + When you use a bind mount, a file or directory on the host machine + is mounted into the container. Relative `source=...` paths will be + located below `/var/lib/ceph//`. +* ``volume_mounts`` + When you use a volume mount, a new directory is created within + Docker’s storage directory on the host machine, and Docker manages + that directory’s contents. Relative source paths will be located below + `/var/lib/ceph//`. +* ``dirs`` + A list of directories that are created below + `/var/lib/ceph//`. +* ``files`` + A dictionary, where the key is the relative path of the file and the + value the file content. The content must be double quoted when using + a string. Use '\\n' for line breaks in that case. Otherwise define + multi-line content as list of strings. The given files will be created + below the directory `/var/lib/ceph//`. + The absolute path of the directory where the file will be created must + exist. Use the `dirs` property to create them if necessary. diff --git a/doc/cephadm/index.rst b/doc/cephadm/index.rst index d1649447890..3cdaf48ba2e 100644 --- a/doc/cephadm/index.rst +++ b/doc/cephadm/index.rst @@ -33,6 +33,7 @@ versions of Ceph. host-management osd rgw + custom-container service-management upgrade Cephadm operations diff --git a/doc/cephadm/install.rst b/doc/cephadm/install.rst index aa2b26e9401..bbb96d28102 100644 --- a/doc/cephadm/install.rst +++ b/doc/cephadm/install.rst @@ -437,8 +437,5 @@ pool *nfs-ganesha* and namespace *nfs-ns*: See :ref:`orchestrator-cli-placement-spec` for details of the placement specification. -Deploying custom containers -=========================== -It is also possible to choose different containers than the default containers to deploy Ceph. See :ref:`containers` for information about your options in this regard. .. _cluster network: ../rados/configuration/network-config-ref#cluster-network diff --git a/doc/mgr/orchestrator.rst b/doc/mgr/orchestrator.rst index 8f228320715..cd5e36b25be 100644 --- a/doc/mgr/orchestrator.rst +++ b/doc/mgr/orchestrator.rst @@ -184,85 +184,6 @@ Service Commands:: ceph orch -Deploying custom containers -=========================== - -The orchestrator enables custom containers to be deployed using a YAML file. -A corresponding :ref:`orchestrator-cli-service-spec` must look like: - -.. code-block:: yaml - - service_type: container - service_id: foo - placement: - ... - image: docker.io/library/foo:latest - entrypoint: /usr/bin/foo - uid: 1000 - gid: 1000 - args: - - "--net=host" - - "--cpus=2" - ports: - - 8080 - - 8443 - envs: - - SECRET=mypassword - - PORT=8080 - - PUID=1000 - - PGID=1000 - volume_mounts: - CONFIG_DIR: /etc/foo - bind_mounts: - - ['type=bind', 'source=lib/modules', 'destination=/lib/modules', 'ro=true'] - dirs: - - CONFIG_DIR - files: - CONFIG_DIR/foo.conf: - - refresh=true - - username=xyz - - "port: 1234" - -where the properties of a service specification are: - -* ``service_id`` - A unique name of the service. -* ``image`` - The name of the Docker image. -* ``uid`` - The UID to use when creating directories and files in the host system. -* ``gid`` - The GID to use when creating directories and files in the host system. -* ``entrypoint`` - Overwrite the default ENTRYPOINT of the image. -* ``args`` - A list of additional Podman/Docker command line arguments. -* ``ports`` - A list of TCP ports to open in the host firewall. -* ``envs`` - A list of environment variables. -* ``bind_mounts`` - When you use a bind mount, a file or directory on the host machine - is mounted into the container. Relative `source=...` paths will be - located below `/var/lib/ceph//`. -* ``volume_mounts`` - When you use a volume mount, a new directory is created within - Docker’s storage directory on the host machine, and Docker manages - that directory’s contents. Relative source paths will be located below - `/var/lib/ceph//`. -* ``dirs`` - A list of directories that are created below - `/var/lib/ceph//`. -* ``files`` - A dictionary, where the key is the relative path of the file and the - value the file content. The content must be double quoted when using - a string. Use '\\n' for line breaks in that case. Otherwise define - multi-line content as list of strings. The given files will be created - below the directory `/var/lib/ceph//`. - The absolute path of the directory where the file will be created must - exist. Use the `dirs` property to create them if necessary. - - Configuring the Orchestrator CLI ================================