Containerized deployment

Ceph-ansible supports docker and podman only in order to deploy Ceph in a containerized context.

Configuration and Usage

To deploy ceph in containers, you will need to set the containerized_deployment variable to true and use the site-container.yml.sample playbook.

containerized_deployment: true

The ceph_origin and ceph_repository variables aren’t needed anymore in containerized deployment and are ignored.

$ ansible-playbook site-container.yml.sample


The infrastructure playbooks are working for both non containerized and containerized deployment.

Custom container image

You can configure your own container register, image and tag by using the ceph_docker_registry, ceph_docker_image and ceph_docker_image_tag variables.

ceph_docker_image: ceph/daemon
ceph_docker_image_tag: latest


ceph_docker_image should have both image namespace and image name concatenated and separated by a slash character.

ceph_docker_image_tag should be set to a fixed tag, not to any “latest” tags unless you know what you are doing. Using a “latest” tag might make the playbook restart all the daemons deployed in your cluster since these tags are intended to be updated periodically.

Container registry authentication

When using a container registry with authentication then you need to set the ceph_docker_registry_auth variable to true and provide the credentials via the ceph_docker_registry_username and ceph_docker_registry_password variables

ceph_docker_registry_auth: true
ceph_docker_registry_username: foo
ceph_docker_registry_password: bar

Container registry behind a proxy

When using a container registry reachable via a http(s) proxy then you need to set the ceph_docker_http_proxy and/or ceph_docker_https_proxy variables. If you need to exclude some host for the proxy configuration to can use the ceph_docker_no_proxy variable.