github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/rookceph/rookceph-file/README.md (about) 1 # Overview 2 3 This image creates the filesystem by specifying the desired settings for the metadata pool, data pools, and metadata 4 server in the CephFilesystem CRD. In this image we create the metadata pool with replication of three and a single data 5 pool with replication of three and also will create default storage class named `rook-ceph-file` for use. 6 7 Components included in this image: 8 9 Ceph cluster: 10 11 * 1 Deployment for rookceph operator. 12 * 3 ceph mon for ceph cluster. 13 * 3 ceph osd for ceph cluster. 14 * 2 ceph mgr for ceph cluster. 15 * enable ceph dashboard with ssl port 8443. 16 17 CephFilesystem: 18 19 * 3 replicated datapool for ceph filesystem. 20 * 3 replicated metadatapool for ceph filesystem. 21 * 2 ceph metadata server. 22 23 ## How to run it 24 25 Use default Clusterfile to apply the ceph cluster. 26 27 see : [default ceph filesystem Clusterfile examples](../../../applications/rookceph/rookceph-file/examples/Clusterfile.yaml) 28 29 ## How to use it 30 31 Connect to ceph cluster using below tools.Then run `ceph status` to check the status of ceph cluster. 32 33 ```yaml 34 apiVersion: apps/v1 35 kind: Deployment 36 metadata: 37 name: rook-ceph-tools 38 namespace: rook-ceph 39 labels: 40 app: rook-ceph-tools 41 spec: 42 replicas: 1 43 selector: 44 matchLabels: 45 app: rook-ceph-tools 46 template: 47 metadata: 48 labels: 49 app: rook-ceph-tools 50 spec: 51 dnsPolicy: ClusterFirstWithHostNet 52 containers: 53 - name: rook-ceph-tools 54 image: rook/ceph:v1.7.2 55 command: [ "/tini" ] 56 args: [ "-g", "--", "/usr/local/bin/toolbox.sh" ] 57 imagePullPolicy: IfNotPresent 58 env: 59 - name: ROOK_CEPH_USERNAME 60 valueFrom: 61 secretKeyRef: 62 name: rook-ceph-mon 63 key: ceph-username 64 - name: ROOK_CEPH_SECRET 65 valueFrom: 66 secretKeyRef: 67 name: rook-ceph-mon 68 key: ceph-secret 69 volumeMounts: 70 - mountPath: /etc/ceph 71 name: ceph-config 72 - name: mon-endpoint-volume 73 mountPath: /etc/rook 74 volumes: 75 - name: mon-endpoint-volume 76 configMap: 77 name: rook-ceph-mon-endpoints 78 items: 79 - key: data 80 path: mon-endpoints 81 - name: ceph-config 82 emptyDir: { } 83 tolerations: 84 - key: "node.kubernetes.io/unreachable" 85 operator: "Exists" 86 effect: "NoExecute" 87 tolerationSeconds: 5 88 89 ``` 90 91 Launch the rook-ceph-tools pod: 92 93 `kubectl create -f toolbox.yaml` 94 95 Wait for the toolbox pod to download its container and get to the running state: 96 97 `kubectl -n rook-ceph rollout status deploy/rook-ceph-tools` 98 99 Once the rook-ceph-tools pod is running, you can connect to it with: 100 101 `kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash` 102 103 Use ceph as the filesystem storage backend to deploy docker registry application. 104 105 see : [docker registry with ceph filesystem examples](../../../applications/rookceph/rookceph-file/examples/examples.yaml) 106 107 ## How to rebuild it 108 109 Modify manifest.yaml or cephfilesystem.yaml file according to your needs, then run below command to rebuild it. 110 111 ```shell 112 sealer build -t {Your Image Name} -f Kubefile -m cloud . 113 ``` 114 115 More parameters see [official docs here](https://rook.io/docs/rook/v1.7/ceph-filesystem.html).