k8s – 2 – ceph helm on minikube

Pour installer ceph sur minikube il faut faire quelques modification sur la vm. D’abord l’éteindre :

minikube stop

Avec virt-manager ajouter autant de disk que d’osd voulu. Moi je suis parti sur 6 disk de 5G en qcow2. Obligé de les mettre en SATA pour que ca fonctionne. Dommage.

Pour fabriquer les disques :

for i in 1 2 3 4 5 6; do qemu-img create -f qcow2 osd$i.qcow2 5G; done

Ensuite on relance minikube, et le dashboard

minikube start --memory 4096 --disk-size 40g --cpus 4 --vm-driver kvm2
minikube dashboard

Pour ceph.

#install helm
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
helm init

Installation de ceph et astuce pour faire fonctionner avec minikube

#install ceph
helm serve &
helm repo add local http://localhost:8879/charts
git clone https://github.com/ceph/ceph-helm
cd ceph-helm/ceph

Editer le fichier ceph-helm/ceph/ceph/values.yaml et remplacer:

diff --git a/ceph/ceph/values.yaml b/ceph/ceph/values.yaml
index 5831c53..72a74b7 100644
--- a/ceph/ceph/values.yaml
+++ b/ceph/ceph/values.yaml
@@ -254,8 +254,8 @@ ceph:
     mgr: true
   storage:
     # will have $NAMESPACE/{osd,mon} appended
-    osd_directory: /var/lib/ceph-helm
-    mon_directory: /var/lib/ceph-helm
+    osd_directory: /data/ceph-helm
+    mon_directory: /data/lib/ceph-helm
     # use /var/log for fluentd to collect ceph log
     # mon_log: /var/log/ceph/mon
     # osd_log: /var/log/ceph/osd

make
cd -

Créer un fichier ./ceph/ceph-overrides.yaml avec :

network:
  public:  192.168.122.0/24
  cluster: 192.168.122.0/24

osd_devices:
  - name: sda
    device: /dev/sda
    zap: "1"
  - name: sdb
    device: /dev/sdb
    zap: "1"
  - name: sdc
    device: /dev/sdc
    zap: "1"
  - name: sdd
    device: /dev/sdd
    zap: "1"
  - name: sde
    device: /dev/sde
    zap: "1"
  - name: sdf
    device: /dev/sdf
    zap: "1"

storageclass:
  name: ceph-rbd
  pool: rbd
  user_id: k8s

Et lancer l’installation :

kubectl create namespace ceph
kubectl create -f ceph-helm/ceph/rbac.yaml
kubectl label --overwrite node minikube ceph-mon=enabled ceph-mgr=enabled ceph-rgw=enabled ceph-mds=enabled
kubectl label --overwrite node minikube ceph-osd=enabled ceph-osd-device-sda=enabled ceph-osd-device-sdb=enabled ceph-osd-device-sdc=enabled ceph-osd-device-sdd=enabled ceph-osd-device-sde=enabled ceph-osd-device-sdf=enabled
helm install --name=ceph local/ceph --namespace=ceph -f ceph/ceph-overrides.yaml

On attend que tout les pods soient running :

watch -n1 "kubectl -n ceph get pods"

On vérifie que tout est ok coté ceph :

kubectl -n ceph exec -ti ceph-mon-cppdk -c ceph-mon -- ceph -s

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *