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

Note

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_registry: quay.io
ceph_docker_image: ceph/daemon
ceph_docker_image_tag: latest

Note

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.

ceph_docker_http_proxy: http://192.168.42.100:8080
ceph_docker_https_proxy: https://192.168.42.100:8080