Reliable volume for minio server and e2e support
[icn.git] / deploy / kud-plugin-addons / minio / yaml / reliable_volume_install.sh
1 #!/bin/bash
2
3 # Make sure 64GB+ free space.
4
5 #echo "...... Deploy Rook Ceph cluster ......"
6
7 kubectl create -f ./ceph-volume/rook-common.yaml
8 kubectl apply -f ./ceph-volume/csi/rbac/rbd/
9 kubectl apply -f ./ceph-volume/csi/rbac/cephfs/
10 kubectl create -f ./ceph-volume/rook-operator-with-csi.yaml
11
12 # Bring up cluster with default configuration, current Ceph version is:
13 # ceph/ceph:v14.2.1-20190430, and create osd with default /dev/sdb on each node
14 kubectl create -f ./ceph-volume/rook-ceph-cluster.yaml
15 kubectl create -f ./ceph-volume/rook-toolbox.yaml
16
17 echo "...... Deploy MinIO server ......"
18 echo "Waiting for 5 minutes for Ceph cluster bring up ..."
19 sleep 600
20
21 ceph_mon_ls="$(kubectl exec -ti -n rook-ceph $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') -- bash -c "cat /etc/ceph/ceph.conf | grep mon_host")"
22 ceph_mon_ls="$(echo $ceph_mon_ls | cut -d "=" -f2)"
23 ceph_mon_ls="$(echo ${ceph_mon_ls%?})"
24 echo $ceph_mon_ls
25 sed -i "s?monitors:.*?monitors: $ceph_mon_ls?" ceph-volume/storageclass.yaml
26
27 kubectl exec -ti -n rook-ceph $(kubectl -n rook-ceph get pod -l "app=rook-ceph-operator" -o jsonpath='{.items[0].metadata.name}') -- bash -c "ceph -c /var/lib/rook/rook-ceph/rook-ceph.config auth get-or-create-key client.kube mon \"allow profile rbd\" osd \"profile rbd pool=rbd\""
28
29 admin_secret="$(kubectl exec -ti -n rook-ceph $(kubectl -n rook-ceph get pod -l "app=rook-ceph-operator" -o jsonpath='{.items[0].metadata.name}') -- bash -c "ceph auth get-key client.admin|base64")"
30 kube_secret="$(kubectl exec -ti -n rook-ceph $(kubectl -n rook-ceph get pod -l "app=rook-ceph-operator" -o jsonpath='{.items[0].metadata.name}') -- bash -c "ceph auth get-key client.kube|base64")"
31
32 admin_secret="$(echo ${admin_secret%?})"
33 kube_secret="$(echo ${kube_secret%?})"
34 echo $admin_secret
35 echo $kube_secret
36
37 sed -i "s?admin:.*?admin: \"$admin_secret\"?" ceph-volume/secret.yaml
38 sed -i "s?kube:.*?kube: \"$kube_secret\"?" ceph-volume/secret.yaml
39
40 kubectl create -f ./ceph-volume/storageclass.yaml
41 kubectl create -f ./ceph-volume/secret.yaml
42 kubectl create -f ./ceph-volume/pvc.yaml
43
44 # Create deployment of MinIO server
45 kubectl create -f minio-deployment.yaml
46
47 # Create service for MinIO
48 kubectl create -f minio-service.yaml
49