/ceph-cluster-setup

Simple Ceph cluster setup by using kcli

Primary LanguageShellMIT LicenseMIT

ceph-cluster-setup

Simple Ceph cluster setup by using kcli

Prerequisites: install kcli (https://github.com/karmab/kcli)

Or just use the following alias:

alias kcli='podman run --net host -it --rm --security-opt label=disable -v $HOME/.ssh:/root/.ssh -v $HOME/.kcli:/root/.kcli -v /var/lib/libvirt/images:/var/lib/libvirt/images -v /var/run/libvirt:/var/run/libvirt -v $PWD:/workdir -v /var/tmp:/ignitiondir quay.io/karmab/kcli:2543a61'

Change SELinux policy to permessive:

sudo setenforce 0

Make sure root can perform ssh login:

sudo nano /etc/ssh/sshd_config (and set PermitRootLogin to yes)
sudo systemctl restart sshd

To create a 3-node ceph cluster:

# Delete any previous installation
kcli delete plan ceph -y
kcli delete network ceph-orch -y && kcli create network -c 192.168.100.0/24 ceph-orch

Install the new cluster:

kcli create plan -f ./ceph_cluster.yml -P expanded_cluster=true ceph

Or for development:

kcli create plan -f ./ceph_cluster.yml -P ceph_dev_folder=<path-to-your-ceph-src> -P expanded_cluster=true ceph

This will create a new 3-nodes ceph cluster which has teh following nodes:

  • ceph-node-0 (192.168.100.100)
  • ceph-node-1 (192.168.100.101)
  • ceph-node-2 (192.168.100.102)

Now user can enter to any node by using (where X is the # of the node):

kcli ssh -u root ceph-node-X

And launch the cephadm shell to manage the cluster:

cephadm shell