Skip to content

Instantly share code, notes, and snippets.

@vitobotta
Created April 14, 2019 10:15
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vitobotta/45f62ca44bfa19196bc2e44c9ec42b8b to your computer and use it in GitHub Desktop.
Save vitobotta/45f62ca44bfa19196bc2e44c9ec42b8b to your computer and use it in GitHub Desktop.
Install Rook/Ceph with Rancher deployed cluster
- In Rancher, edit cluster, then edit Cluster Options as yaml and change the kubelet section as follows if needed:
```
kubelet:
extra_args:
volume-plugin-dir: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec"
extra_binds:
- "/usr/libexec/kubernetes/kubelet-plugins/volume/exec:/usr/libexec/kubernetes/kubelet-plugins/volume/exec"
fail_swap_on: false
```
- Clone repo
```
git clone https://github.com/rook/rook
cd rook/cluster/examples/kubernetes/ceph
```
- Check latest release and checkout that branch
```
git branch -r
git checkout -b release-0.9
```
- Install
Edit cluster.yaml and uncomment these lines:
```
storage:
directories:
- path: /var/lib/rook
```
**Also set allowMultiplePerNode to false before saving**.
Create resources:
```
kubectl create -f common.yaml
kubectl create -f operator.yaml
kubectl create -f cluster.yaml
kubectl create -f storageclass.yaml
kubectl create -f toolbox.yaml
kubectl create -f dashboard-ingress-https.yaml
watch kubectl -n rook-ceph get all => wait until mgr, mons, and osds are running. It may take a while especially for the OSDs
```
- Move rook-ceph namespace to Default project
- Set rook-ceph-block storage class as the default
- Change credentials for dashboard access
```
kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') bash
ceph dashboard set-login-credentials <username> <password>
```
- Edit the rook-ceph-mgr-dashboard L7 load balancer created above and change the hostname, TLS etc if needed
@victoryang00
Copy link

Nice done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment