add initial compose files
parent
ca16b9a8c4
commit
3f3412148c
@ -0,0 +1 @@
|
||||
mon/.env
|
@ -0,0 +1,23 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
ceph_client:
|
||||
image: docker.io/ceph/daemon:latest-nautilus
|
||||
devices:
|
||||
- /dev/fuse
|
||||
volumes:
|
||||
- /ceph/client/etc/ceph/:/etc/ceph/
|
||||
#:shared makes container mounts accessiable from the host
|
||||
- /cephfs/:/cephfs/:shared
|
||||
entrypoint: ceph-fuse
|
||||
command: /cephfs/ -f --id ${HOSTNAME}
|
||||
security_opt:
|
||||
#required for fuse
|
||||
- apparmor:unconfied
|
||||
cap_add:
|
||||
#required for fuse
|
||||
- SYS_ADMIN
|
||||
networks:
|
||||
- ceph
|
||||
networks:
|
||||
ceph:
|
||||
external: true
|
@ -0,0 +1,18 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
ceph_mds:
|
||||
image: docker.io/ceph/daemon:latest-nautilus
|
||||
#copy hostname of the host to avoid confusion in e.g. `ceph status`
|
||||
hostname: ${HOSTNAME}
|
||||
environment:
|
||||
#in case cephfs doesn't exist, yet (normally only during bootstrap)
|
||||
- CEPHFS_CREATE=1
|
||||
volumes:
|
||||
- /ceph/mds/var/lib/ceph/:/var/lib/ceph/
|
||||
- /ceph/mds/etc/ceph/:/etc/ceph/
|
||||
command: mds
|
||||
networks:
|
||||
- ceph
|
||||
networks:
|
||||
ceph:
|
||||
external: true
|
@ -0,0 +1,15 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
ceph_mgr:
|
||||
image: docker.io/ceph/daemon:latest-nautilus
|
||||
#copy hostname of the host to avoid confusion in e.g. `ceph status`
|
||||
hostname: ${HOSTNAME}
|
||||
volumes:
|
||||
- /ceph/mgr/var/lib/ceph/:/var/lib/ceph/
|
||||
- /ceph/mgr/etc/ceph/:/etc/ceph/
|
||||
command: mgr
|
||||
networks:
|
||||
- ceph
|
||||
networks:
|
||||
ceph:
|
||||
external: true
|
@ -0,0 +1,25 @@
|
||||
#mons need a static ip address
|
||||
#we reserve 10.13.37.0/24 for this
|
||||
#manually pick a free ip address and place it in a .env file:
|
||||
#MON_IP=10.13.37.312
|
||||
|
||||
version: "3.0"
|
||||
services:
|
||||
ceph_mon:
|
||||
image: docker.io/ceph/daemon:latest-nautilus
|
||||
#copy hostname of the host to avoid confusion in e.g. `ceph status`
|
||||
hostname: ${HOSTNAME}
|
||||
environment:
|
||||
- MON_IP=${MON_IP}
|
||||
- CEPH_PUBLIC_NETWORK=10.13.37.0/23
|
||||
- CEPH_CLUSTER_NETWORK=10.13.37.0/23
|
||||
volumes:
|
||||
- /ceph/mon/var/lib/ceph/:/var/lib/ceph/
|
||||
- /ceph/mon/etc/ceph/:/etc/ceph/
|
||||
command: mon
|
||||
networks:
|
||||
ceph:
|
||||
ipv4_address: ${MON_IP}
|
||||
networks:
|
||||
ceph:
|
||||
external: true
|
@ -0,0 +1,23 @@
|
||||
#provide the OSD_ID via a environment variable:
|
||||
#OSD_ID=1337
|
||||
|
||||
version: "3.0"
|
||||
services:
|
||||
ceph_osd_${OSD_ID}:
|
||||
image: docker.io/ceph/daemon:latest-nautilus
|
||||
#copy hostname of the host to correctly calculate CRUSH map positions
|
||||
hostname: ${HOSTNAME}
|
||||
environment:
|
||||
- OSD_ID=${OSD_ID}
|
||||
volumes:
|
||||
- /ceph/osd_${OSD_ID}/var/lib/ceph/:/var/lib/ceph/
|
||||
- /ceph/osd_${OSD_ID}/etc/ceph/:/etc/ceph/
|
||||
- /dev/:/dev/
|
||||
command: osd_ceph_volume_activate
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
networks:
|
||||
- ceph
|
||||
networks:
|
||||
ceph:
|
||||
external: true
|
Reference in New Issue