Rook Storage for Kubernetes: Difference between revisions
DrEdWilliams (talk | contribs) (Created page with "== Background == == Installation Process == === Rook Operator === # set up all the namespace, roles, bindings, and support definition (ewilliam@aslan)/workspace/outside-rep...") |
DrEdWilliams (talk | contribs) mNo edit summary |
||
| Line 5: | Line 5: | ||
=== Rook Operator === | === Rook Operator === | ||
set up all the namespace, roles, bindings, and support definition | |||
kubectl create -f common.yaml | |||
create the rook operator | |||
kubectl create -f operator.yaml | |||
=== Using Existing Ceph Cluster === | === Using Existing Ceph Cluster === | ||
create the separate namespace where the ceph cluster definition will live | |||
kubectl create -f common-external.yaml | |||
create secrets based on information extracted from ceph cluster | |||
bash ./import-external-cluster.sh | |||
note that the above script adds too many secrets -- the operator tries to create them and errors out since they can't be changed. | |||
We need to either edit the script to not create the excess secrets or delete the ones that aren't needed | |||
see which secrets are in the namespace for the external cluster | |||
kubectl get secret -n rook-ceph-external | |||
these are the ones that need to be deleted (at least for now) | |||
kubectl -n rook-ceph-external delete secret \ | |||
rook-csi-cephfs-node rook-csi-cephfs-provisioner rook-csi-rbd-node rook-csi-rbd-provisioner | rook-csi-cephfs-node rook-csi-cephfs-provisioner rook-csi-rbd-node rook-csi-rbd-provisioner | ||
create the cluster definition | |||
kubectl create -f cluster-external-management.yaml | |||
create the ceph pool and storage class definition for RBD images | |||
kubectl create -f storageclass-block.yaml | |||
=== Creating an internal Ceph Cluster === | === Creating an internal Ceph Cluster === | ||
| Line 40: | Line 43: | ||
== Testing == | == Testing == | ||
Deploy the test application; each deployment requests its own Persistent Volume. The wordpress service is a LoadBalancer, so it will allocate an IP address that should give direct access to the wordpress instance. The test manifests are in the kubernetes directory: | |||
cd rook/cluster/examples/kubernetes | |||
kubectl create -f mysql.yaml | |||
kubectl create -f wordpress.yaml | |||
Revision as of 00:41, 5 July 2020
Background
Installation Process
Rook Operator
set up all the namespace, roles, bindings, and support definition
kubectl create -f common.yaml
create the rook operator
kubectl create -f operator.yaml
Using Existing Ceph Cluster
create the separate namespace where the ceph cluster definition will live
kubectl create -f common-external.yaml
create secrets based on information extracted from ceph cluster
bash ./import-external-cluster.sh
note that the above script adds too many secrets -- the operator tries to create them and errors out since they can't be changed. We need to either edit the script to not create the excess secrets or delete the ones that aren't needed see which secrets are in the namespace for the external cluster
kubectl get secret -n rook-ceph-external
these are the ones that need to be deleted (at least for now)
kubectl -n rook-ceph-external delete secret \ rook-csi-cephfs-node rook-csi-cephfs-provisioner rook-csi-rbd-node rook-csi-rbd-provisioner
create the cluster definition
kubectl create -f cluster-external-management.yaml
create the ceph pool and storage class definition for RBD images
kubectl create -f storageclass-block.yaml
Creating an internal Ceph Cluster
Testing
Deploy the test application; each deployment requests its own Persistent Volume. The wordpress service is a LoadBalancer, so it will allocate an IP address that should give direct access to the wordpress instance. The test manifests are in the kubernetes directory:
cd rook/cluster/examples/kubernetes
kubectl create -f mysql.yaml kubectl create -f wordpress.yaml