Ceph

Ceph

Overview

We are currently recommending that you deploy ceph using kolla-ansible or ceph-deploy.

Install steps

This list of instructions is currently incomplete.

completely remove the following option from /etc/kolla-kubernetes/kolla-kubernetes.yml

keyring: /etc/ceph/ceph.client.admin.keyring

set the user option in the storage_ceph to ‘kolla’ in /etc/kolla-kubernetes/kolla-kubernetes.yml and pool = kollavolumes

Upload ceph.conf and admin key generated from the external ceph while orchestration_engine=ANSIBLE

kubectl create configmap ceph-conf --namespace=kolla \
  --from-file=ceph.conf=/etc/kolla/ceph-osd/ceph.conf
kubectl create secret generic ceph-client-admin-keyring --namespace=kolla\
  --from-file=data=/etc/kolla/ceph-osd/ceph.client.admin.keyring

Before any pv’s are created, do the following

kollakube res create pod ceph-rbd
kollakube res create pod ceph-admin
watch kubectl get pods --namespace=kolla

Wait for ceph-admin to come up.

Create a pool a user:

::
#FIXME probably needs a pool per region name? str=”ceph osd pool create kollavolumes 32” kubectl exec ceph-admin -c main –namespace=kolla – /bin/bash -c “$str” > /tmp/$$ str=”ceph auth get-or-create client.kolla mon ‘allow r’ osd ‘allow” str=”$str class-read object_prefix rbd_children, allow rwx pool=kollavolumes” kubectl exec ceph-admin -c main –namespace=kolla – /bin/bash -c “$str” | awk ‘{if($1 == “key”){print $3}}’ > /tmp/$$ kubectl create secret generic ceph-kolla –namespace=kolla –from-file=key=/tmp/$$ rm -f /tmp/$$

Create disks for ‘rabbitmq’ and ‘mariadb’ like so

cmd="rbd create --pool kollavolumes --image-feature layering --size 10240"
cmd="$cmd mariadb; rbd map --pool kollavolumes mariadb; #format it and unmount/unmap..."
kubectl exec -it ceph-admin -- /bin/bash -xec "$cmd"

Ceph managed by Kolla-Kubernetes

It is very half baked, intended only for testing. Please don’t store anything you care about in it as we will guarantee it will loose your data.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.